无对运算的安全无证书混合签密方法技术

技术编号:12269406 阅读:61 留言:0更新日期:2015-11-04 10:57
本发明专利技术公开了一种无对运算的安全无证书混合签密方法,用于解决现有无证书混合签密方法效率低的技术问题。技术方案是通过规定用户固定的密钥生成顺序,令KGC在生成部分密钥阶段受到用户部分公钥的限制,进而在签密者对明文进行签密阶段绑定用户部分公钥,保证能够抵抗公钥替换攻击;在用户完整私钥生成之前,利用一个与用户身份信息和部分公钥绑定的部分私钥验证等式,使得用户及时检测到积极不诚实KGC的非法行为,抵御恶意KGC攻击,提高系统的安全等级,并消除不必要的计算消耗;在签密解签密阶段,利用椭圆曲线上的标量乘运算替代昂贵耗时的双线性对运算,完成对消息的签密和解签密过程,提高了计算效率。

【技术实现步骤摘要】

本专利技术涉及一种无证书混合签密方法,特别是涉及一种。
技术介绍
现有通信环境对密码算法的高效性、安全性和实用性要求越来越高。混合密码体制作为一种被广泛应用的密码算法,不但消除了公钥密码算法对明文空间的限制,而且具有计算速度快,密钥长度短等优点,因此将混合签密思想应用到无证书签密领域具有明显的优势。目前大多数采用改进基于身份的密码体制的方法构建无证书混合签密方案,并运用双线性对运算实现方案的签密解签密,致使计算效率低,构造复杂,这成为制约无证书签密技术发展的一个瓶颈。“如何在保证安全性的基础上,提高方案的计算效率”成为现有无证书混合签密体制面临的主要问题。文献“YinA,Liang H.Certificateless Hybrid Signcrypt1n Schemefor Secure Communicat1n of Wireless Sensor Networks.Wireless PersonalCommunicat1ns, 2014:1-14.”根据无线传感器网络(WSN)的特殊结构,提出了一个适用于WSN安全通信的无证书混合签密方案。该方案基于无证书签密密钥封装/数据封装(Certificateless Signcrypt1n Key Encapsulat1n Mechanism/Data Encapsulat1nMechanism, CLSC-KEM/DEM)模型设计,消除了公钥密码算法对明文空间的限制,并且不存在证书管理和密钥托管问题;主要利用双线性对运算构造签密和解签密过程,以提高方案的计算效率、缩短密文长度。文献设计的方案还存在几处缺陷:在KGC(Key Generat1nCenter)生成部分密钥阶段,由于KGC知道系统主密钥及KGC生成部分密钥不受用户的限制,积极不诚实的KGC能够伪造出有效的部分密钥,不能及时检测KGC的非法行为,因此系统的安全等级低,容易受到恶意KGC攻击,存在安全隐患;在签密和解签密阶段分别应用了双线性对运算,一次双线性对运算的计算耗时至少相当于椭圆曲线上一次标量乘运算的20倍,其不利于高效签密方案的构造,对于带宽窄或资源受限的通信环境,计算效率仍然需要大幅度提尚。
技术实现思路
为了克服现有无证书混合签密方法效率低的不足,本专利技术提供一种。该方法基于椭圆曲线密码体制和无证书签密密钥封装/数据封装模型设计,通过规定用户固定的密钥生成顺序,令KGC在生成部分密钥阶段受到用户部分公钥的限制,进而在签密者对明文进行签密阶段绑定用户部分公钥,保证能够抵抗公钥替换攻击;在用户完整私钥生成之前,利用一个与用户身份信息和部分公钥绑定的部分私钥验证等式,使得用户及时检测到积极不诚实KGC的非法行为,抵御恶意KGC攻击,提高系统的安全等级,并消除不必要的计算消耗;在签密解签密阶段,利用椭圆曲线上的标量乘运算替代昂贵耗时的双线性对运算,完成对消息的签密和解签密过程,提高了计算效率。本专利技术解决其技术问题所采用的技术方案是:一种,其特点是采用以下步骤:步骤一、密钥生成中心KGC选取安全参数k(k e Z+)作为输入,执行如下步骤生成系统公开参数:a)选定一个k-bit的素数q,并设定一个四元组{Fq,E/Fq,P,Gq};其中,令P为循环群Gq的生成元,令E/F q为有限域F q上选择的一条椭圆曲线E,令G q为一个加法循环群;b)定义 H1: {O, l}*XGqXGq— RZq*,H2: {O, 1}*X {O, IjnXGqXGq- RZq*,H3:Z;XGqXGqXGqXG- {0,1} 抗碰撞的密码学单向不可逆哈希函数;其中,L为对称秘钥空间长度,η为明文长度;c) KGC随机选取X。e RZ;,设置系统主密钥msk = X0,并将其秘密保存,然后计算系统主公钥Ppub= X 0P ;d) KGC选取一种安全的对称加密算法(Enc,Dec),该算法满足可认证性和机密性,用于封装数据;e)公布系统参数 Params = {Fq, E/Fq, P, Gq, H1, H2, H3, Ppub, Enc, Dec, L} ο步骤二、用户秘密值设置。身份为ID1(H)1G {O, 1} *)的用户i在系统公开参数Params后,随机选取秘密值X1E ,Zq*作为自身长期私钥,计算对应的用户部分公钥P 1 =X1P,然后将(ID11PJ发送给KGC。步骤三、部分密钥生成。KGC接收到用户发送的UD1, PJ,以系统主密钥X。、用户身份ID1和公开参数Params为输入,按如下步骤生成用户的另一部分公私钥对:a)随机选择!TiG RZq%计算部分公钥Ri= r # ;b)KGC通过计算等式(Ii= r ^x0H1 (IDi, Ri, P^mod q将用户部分公钥和身份信息与部分私钥绑定,通过规定这样的执行顺序使KGC生成山的行为受到用户的限制,以抵抗公钥替换攻击,然后再将民和d i通过安全信道发送给用户i ;用户i根据接收到的RjPd1,在生成自身完整公私钥对之前,通过验证等式(I)判断部分私钥的有效性:(IiP = R^H1(IDilRilPi)Ppub mod q(I)由于EC-⑶H问题的困难性,任何人都无法通过Ppub = X QP和R1 = r f求解出χ?ΓιΡ。因此,如果等式成立,用户继续执行步骤四;反之,用户要求KGC重新发送相应的民和d 10步骤四、用户密钥生成。身份为{0,1} *)的用户i在接收到KGC发送过来的有效(R1, (I1)后,最终设置自己的私钥为SK1= (d 1; X1),公钥PK1= (P 1; R1) ο步骤五、签密。发送者A以系统参数Params,自己的公私钥对{SKA,PKj和接收者B的公钥PKbS输入,按以下顺序对消息m进行签密:a)随机选取u e Rz*, X e RGq,计算中间变量U = uP,Y = uX ;b)分别计算以下几个中间变量:Q = Y+uPB(2)Tb —H1(IDbjRbjPb)Ppu1^Rb(3)T = uTB mod q(4)c)在加密消息中绑定发送者的部分公钥与身份信息h = H2(m Il Y Il IDa Il Pa)(5)计算签名值:S= (u+xA) (dA+h) Sd)计算对称密钥K = H3 (U Il T Il XaPb Il Y II h)(6)e)调用对称加密算法以K为对称秘钥加密V = EncK(m || S);f)输出密文 C = (V, U, h, Q) ο步骤六、解签密。接收者B在接收到密文V和秘钥封装U、h、Q后,以系统参数Params,发送者A的公钥卩&和公私钥对{SK B, PKB}为输入,按如下步骤对密文进行解密和验证:a)分别根据式(2)、式(4)计算中间变量Y’ = Q-xbU, T’ = dBU ;b)根据式(6)恢复对称秘钥 K’ = H3 (U Il T’ Il xBPA || Y’ II h);c)调用对称加密算法中的解密算法对密文V解密m’ Il S’ = DecK.(V);d)根据式(5)计算h’ = H2 (m,|| Y’ || IDa || PA),判断等式h = h’是否成立;如果等式成立,贝Ij密文有效,m’ = m,并输出明文消本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/CN105024994.html" title="无对运算的安全无证书混合签密方法原文来自X技术">无对运算的安全无证书混合签密方法</a>

【技术保护点】
一种无对运算的安全无证书混合签密方法,其特征在于包括以下步骤:步骤一、密钥生成中心KGC选取安全参数k(k∈Z+)作为输入,执行如下步骤生成系统公开参数:a)选定一个k‑bit的素数q,并设定一个四元组{Fq,E/Fq,P,Gq};其中,令P为循环群Gq的生成元,令E/Fq为有限域Fq上选择的一条椭圆曲线E,令Gq为一个加法循环群;b)定义H1:{0,1}*×Gq×Gq→RZq*,H2:{0,1}*×{0,1}n×Gq×Gq→RZq*,H3:Zq*×Gq×Gq×Gq×Gq→{0,1}L为抗碰撞的密码学单向不可逆哈希函数;其中,L为对称秘钥空间长度,n为明文长度;c)KGC随机选取x0∈RZq*,设置系统主密钥msk=x0,并将其秘密保存,然后计算系统主公钥Ppub=x0P;d)KGC选取一种安全的对称加密算法(Enc,Dec),该算法满足可认证性和机密性,用于封装数据;e)公布系统参数Params={Fq,E/Fq,P,Gq,H1,H2,H3,Ppub,Enc,Dec,L};步骤二、用户秘密值设置;身份为IDi(IDi∈{0,1}*)的用户i在系统公开参数Params后,随机选取秘密值xi∈RZq*作为自身长期私钥,计算对应的用户部分公钥Pi=xiP,然后将{IDi,Pi}发送给KGC;步骤三、部分密钥生成;KGC接收到用户发送的{IDi,Pi},以系统主密钥x0、用户身份IDi和公开参数Params为输入,按如下步骤生成用户的另一部分公私钥对:a)随机选择ri∈RZq*,计算部分公钥Ri=riP;b)KGC通过计算等式di=ri+x0H1(IDi,Ri,Pi)mod q将用户部分公钥和身份信息与部分私钥绑定,通过规定这样的执行顺序使KGC生成di的行为受到用户的限制,以抵抗公钥替换攻击,然后再将Ri和di通过安全信道发送给用户i;用户i根据接收到的Ri和di,在生成自身完整公私钥对之前,通过验证等式(1)判断部分私钥的有效性:diP=Ri+H1(IDi,Ri,Pi)Ppub mod q   (1)由于EC‑CDH问题的困难性,任何人都无法通过Ppub=x0P和Ri=riP求解出x0riP;因此,如果等式成立,用户继续执行步骤四;反之,用户要求KGC重新发送相应的Ri和di;步骤四、用户密钥生成;身份为IDi(IDi∈{0,1}*)的用户i在接收到KGC发送过来的有效(Ri,di)后,最终设置自己的私钥为SKi=(di,xi),公钥PKi=(Pi,Ri);步骤五、签密;发送者A以系统参数Params,自己的公私钥对{SKA,PKA}和接收者B的公钥PKB为输入,按以下顺序对消息m进行签密:a)随机选取u∈RZq*,X∈RGq,计算中间变量U=uP,Y=uX;b)分别计算以下几个中间变量:Q=Y+uPB   (2)TB=H1(IDB,RB,PB)Ppub+RB   (3)T=uTB mod q   (4)c)在加密消息中绑定发送者的部分公钥与身份信息h=H2(m‖Y‖IDA‖PA)   (5)计算签名值:S=(u+xA)(dA+h)‑1;d)计算对称密钥K=H3(U‖T‖xAPB‖Y‖h)   (6)e)调用对称加密算法以K为对称秘钥加密V=EncK(m‖S);f)输出密文C=(V,U,h,Q);步骤六、解签密;接收者B在接收到密文V和秘钥封装U、h、Q后,以系统参数Params,发送者A的公钥PKA和公私钥对{SKB,PKB}为输入,按如下步骤对密文进行解密和验证:a)分别根据式(2)、式(4)计算中间变量Y'=Q‑xBU,T'=dBU;b)根据式(6)恢复对称秘钥K'=H3(U‖T'‖xBPA‖Y'‖h);c)调用对称加密算法中的解密算法对密文V解密m'‖S'=Dec K'(V);d)根据式(5)计算h'=H2(m'‖Y'‖IDA‖PA),判断等式h=h'是否成立;如果等式成立,则密文有效,m'=m,并输出明文消息m;反之,输出“⊥”,表示密文无效。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李慧贤范天琪张晓莉庞辽军
申请(专利权)人:西北工业大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1