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