【技术实现步骤摘要】
一种基于双线性对的身份基身份匿藏密钥协商方法
本专利技术涉及密码
,具体地说,涉及一种基于双线性对的身份基身份匿藏密钥协商方法。
技术介绍
认证密钥交换(AKE),特别是Diffie–Hellman(DH),在现代密码学中扮演着重要的角色,并在公钥密码学和对称密码学之间起到桥梁作用,是一系列广泛标准化并使用的网络安全协议的核心机制。与传统的公钥密码体制下的密钥交换协议相比,基于身份的密钥交换协议将用户的身份作为公钥,可以简化公钥证书管理和发放的问题。但是,原有的安全的基于身份的密钥协商协议均需公开传输用户的身份和公钥信息,并且效率较差。而在移动互联时代,设备的计算和存储能力受限,并且在很多应用中用户的身份信息往往属于敏感信息,需要保护。因此,发展高效的基于身份的身份匿藏密钥协商方法具有重要的理论及应用意义。令G1、G2和GT是三个q阶循环群(q可以是素数,也可以是合数,如RSA模数)。为了描述方便起见,我们记G1、G2和GT为乘法群(所有本专利技术中描述的方案均在G1、G2和GT记为加法群时同样工作),并且在这些群中离散对数问题是难的。一般而言,一个双线性对就是一个从G1×G2到GT的双线性映射,并满足下面性质:(1)双线性性:设g1∈G1,g2∈G2,x,y∈Zq,有(2)非退化性:对于每一个总存在一个g2∈G2,使得其中,是G1的单位元,是GT的单位元;(3)双线性映射可以有效计算。双线性对有下面三种类型:类型-I:G1→G2有一个可有效计算的同构,这时一般记为G1=G2(通常用G表示)。这类双线性对一般可以用超奇异椭圆曲线或超椭圆曲线来实现。类 ...
【技术保护点】
1.一种基于双线性对的身份基身份匿藏密钥协商方法,其特征在于,所述方法包括在三种类型的双线性配对中的实现方法,分别描述如下:基于类型‑I对称双线性配对方法实现系统建立:生成系统公开参数,包括:一个安全参数n,双线性对
【技术特征摘要】
1.一种基于双线性对的身份基身份匿藏密钥协商方法,其特征在于,所述方法包括在三种类型的双线性配对中的实现方法,分别描述如下:基于类型-I对称双线性配对方法实现系统建立:生成系统公开参数,包括:一个安全参数n,双线性对整数q,其中G1和GT是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:其中{0,1}*表示任意长度的0-1串,为群G1的单位元,表示G1中除去之后的元素集合;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,为群GT的单位元;E为一个对称加密函数,Ek(m)表示基于对称密钥k对消息m∈{0,1}*进行加密;D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;系统公开参数:系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器(PrivateKeyGenerator,简称为PKG)生成用户主密钥(MasterSecretKey)(msk从或的一个子集中随机选取,其中的取值范围为1到q-1中的整数);公开发布SysPar,保密保存msk,用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SKID=(H1(ID))msk,为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk,密钥协商过程:(1)用户A选取计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合;(2)用户B接收到{X,auxX}后,检查如果检查失败则中止运行;选取计算Y=(H1(IDB))y,以及(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),其中“||”是字符串联结符,是包含IDB的一个消息集合的可为空的子集,且可为空,auxY是可为空的消息的集合;K1和K2相同或不同,K1=(KA,KB),KA和KB相同或不同;(4)用户B发送{Y,CB,auxY}给用户A;(5)用户A接收到{Y,CB,auxY}后,检查或不检查计算计算(K1,K2)←KDF(PSA,X||Y||aux);(6)用户A使用KB解密CB得到并验证且Y=(H1(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算并将CA发送给用户B,其中是包含IDA’的一个消息集合的可为空的消息集合;用户A将会话密钥K设置为K2或K1或会话密钥由导出;(7)用户B接收到CA后,使用KA解密CA得到验证且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2或K1或会话密钥由导出;基于类型-II非对称双线性对方法实现系统建立:生成系统公开参数,包括:一个安全参数n,双线性对整数q,其中G1、G2和GT是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:其中{0,1}*表示任意长度的0-1串,为群G1的单位元,表示G1中除去之后的元素集合;一个可有效计算的同态ψ:G1→G2;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,为群GT的单位元;E为一个对称加密函数,Ek(m)表示基于对称密钥k对消息m∈{0,1}*进行加密;D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;系统公开参数:系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器(PrivateKeyGenerator,简称为PKG)生成用户主密钥(MasterSecretKey)(msk从或的一个子集中随机选取);公开发布SysPar,保密保存msk,用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SKID=(H1(ID))msk,为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk,密钥协商过程:(1)用户A选取计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合;(2)用户B接收到{X,auxX}后,检查如果检查失败则中止运行;选取计算Y=(H1(IDB))y,以及(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),其中是包含IDB的一个消息集合的可为空的子集,且可为空,auxY是可为空可为的消息的集合;K1和K2相同或不同,K1=(KA,KB)...
【专利技术属性】
技术研发人员:赵运磊,黄兴忠,
申请(专利权)人:上海扈民区块链科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。