1.一种基于双线性对的高效身份认证密钥协商方法,其特征在于:包括以下步骤:S1:系统建立:包括私钥生成中心PKG生成相应的公共参数和PKG主密钥;具体包括:S11:PKG生成q阶群G1、G2,其中G1为循环加法群,G2为循环乘法群;PKG随机选取3个生成元g、h和t,其中g,h,t∈G1;PKG构建双线性对e:G1×G1→G2;
α
S12:PKG随机选取PKG主密钥α: 并计算PKG公钥g1:g1=g ;
* k
S13:PKG生成密钥生成函数H:{0,1}→{0,1},其中k为会话密钥的长度;
S14:PKG计算参数tT:tT=e(g,t);
S15:PKG公开参数:{e,g,g1,h,t,tT,H};
S2:用户密钥生成:基于用户的唯一身份标识生成用户的私钥;对于一个身份标识为ID‑ID的用户,其中ID∈Zp且ID≠α;则该用户的公钥gID:gID=g1g ,用户的私钥dID:dID=<rID,hID>,其中 rID∈Zp随机选取;
S3:密钥协商:基于用户的私钥、临时密钥协商出会话密钥;所述步骤S3具体包括以下步骤:S31:对于一个身份标识为IDA的会话密钥协商发起者A,其公钥为: 私钥为:dA=<rA,hA>;
S32:对于身份标识为IDB的会话密钥协商的接受者B,其公钥为: 私钥为:dB=<rB,hB>;
S33:用户A随机选择x∈Zp作为他的临时密钥,并计算: 用户A将发送给用户B;用户B随机选择y∈Zp作为其临时密钥,并计算:将 发送给用户A;
S34:用户A收到B发送的TB后,计算共享密钥:用户B收到A发送的TA后,计算共享密钥:S35:用户A根据计算出的共享密钥 以及TA、TB、IDA、IDB计算会话密钥:用户B根据计算的共享密钥 以及TA、
TB、IDA、IDB计算会话密钥:
在用户交换消息之前,计算秘密参数的代价,其代价为:4TE1+1TE2,其中TE1表示G1群的指数运算时间,TE2表示G2群的指数运算时间,其它计算代价忽略;
在用户交换消息之后,计算共享密钥的代价,其代价为:1TP+3TE2,其中TP表示双线性对的运算时间,TE2表示G2群的指数运算时间,其它计算代价忽略;
用户的交换信息的通信量,通信量为:TL,其中TL表示用户用A与用户B协商会话密钥过程中交换信息TA或TB的长度。