公开验证和前向安全数字签密方案的分析与改进
2016-01-19周克元
周克元
(宿迁学院二系,江苏宿迁 223800)
公开验证和前向安全数字签密方案的分析与改进
周克元
(宿迁学院二系,江苏宿迁223800)
摘要:指出张建航等提出的数字签密方案无前向安全性,提出了一个新的可公开验证和前向安全的数字签密方案,并进行了正确性和安全性分析,与已有方案比较,降低了算法复杂度.同时,指出张建航等提出的椭圆曲线数字签密方案复杂度过高,给出了一个新的签密方案,方案具有前向安全性和公开验证性,模乘运算达到最小值4次,模逆运算达到最小值0次,复杂度达到理论最小值.
关键词:数字签密;前向安全;公开验证;椭圆曲线;改进
收稿日期:2014-12-20;修改稿收到日期:2015-04-20
E-mail:zhoukeyuan2001@163.com
基金项目:宿迁市科研项目(Z201450)
作者简介:周克元(1978—),男,江苏淮安人,讲师,硕士.主要研究方向为密码学.
中图分类号:TN 918.1
文献标志码:标志码:A
文章编号:章编号:1001-988Ⅹ(2015)06-0050-04
Abstract:The signcryption scheme proposed by Zhang Jian-hang et al is analyzed,and the scheme don’t have the forward security.An improvement scheme is proposed with public verifiability and forward security,the correctness and security are proved.The efficiency of the scheme is increased significantly compared with two existing schemes.Moreover,a new signcryption scheme based on elliptic curves is proposed with public verifiability and forward security.In the algorithm,both the numbers of model multiplication and model inverse are reached the minimum four times and zero times,the efficiency of the algorithm is increased significantly compared with the existing signcryption scheme.
Attackanalysisandimprovementonthesigncryptionscheme
withpublicverifiabilityandforwardsecurity
ZHOUKe-yuan
(TheSecondDepartment,SuqianCollege,Suqian223800,Jiangsu,China)
Keywords:signcryptionscheme;forwardsecurity;publicverifiability;ellipticcurves;improvement
基于离散对数数学难题的数字签密方案的原理为:利用离散对数数字签名方法得到加密密钥,使用加密密钥加密明文为密文,之后将签密发送给接收者;接收者接到签密后,首先验证其正确性,然后使用自己的私钥及签密得到解密密钥,从而解密密文得到明文消息[1].相继有Zheng[1-2]、李发根等[3]、陈伟东等[4]、李艳平等[5]、张串绒等[6]、喻琇瑛等[7]、于永等[8]、张建航等[9]、戚明平等[10]对离散对数数字签密进行了研究.
张建航等[9]对Zheng提出的签密方案[1]进行了分析,指出Zheng方案无前向安全性,且不具有公开验证性,并对其进行了改进.笔者研究发现,张建航等改进方案仍无前向安全,并给出了新的签密方案.新方案具有前向安全性,且运算复杂度更低.
1Zheng数字签密方案
1.1参数
1.2签密阶段
对消息明文m进行加密c=Ek1(m),得签密密文对(c,r,s),将密文发送给Bob[1].
1.3解签密阶段
r=H(k2,m)⟺Bob接受m为Alice所发送的明文信息[1].
2张建航等签密方案
2.1签密阶段
2.2解签密阶段
Bob收到签密(c,r,s)后,计算
进行解密m=Dk2(c).
当且仅当r=H(k1,c)时,Bob接受m为Alice发送的消息.
2.3相关攻击分析
3新的签密方案
下面给出一个新的签密方案,方案增加了一个签名者私钥以增加安全性,具有前向安全性和可公开验证性,且复杂度比已有的签密方案低.
3.1参数
在Zheng方案参数的基础上,将Alice私钥更改为选取xa1,xa2∈Zp,并计算公钥ya1=gxa1modp,ya2=gxa2modp,其余不变.
3.2签密阶段
Alice选取2个随机数x1,x2∈Zp,计算
最后Alice将签密消息对(c,k1,k3,s1,s2)发送给Bob.
3.3解签密阶段
3.4正确性证明
说明该方案的验证过程是正确的.
4安全性和效率分析
4.1不可伪造性
签密方程为
Bob收到签密后,可知道签密方程中参数s1,s2,c,H(m),但参数x1,x2,xa1,xa2仍未知,2个方程有4个未知量,故包括Bob在内的任何人都无法求出私钥xa1,xa2.签密过程需要Alice的私钥xa1,xa2参与,所以包括Bob在内的任何人都无法伪造消息m的签密.
4.2前向安全性
4.3公开验证性
由于验证中不需要Bob的私钥,所以第三方可公开验证,签名者Alice不能否认.
4.4效率分析
对基于离散对数的同时具有前向安全性和可公开验证性的签密方案,其复杂度的改进有两个方面:① 减少模逆运算,最新方案为喻琇瑛等方案[7],模逆为0次,但模指数高达8次;② 减少模指数运算,最新方案为戚明平等方案[10],模指数为6次,模逆为1次.文中方案复杂度为模指数6次,模逆0次,比已有方案均低(表1,签密长度中不计每个方案中均需传输的密文c).
表1 3种方案效率比较
5基于身份的椭圆曲线数字签密方案的分析与改进
由于椭圆曲线具有较好的密码学特征,基于椭圆曲线的密码算法能够提供更好的加解密强度、更快的执行速度和更小的密钥长度,使得椭圆曲线在公钥密码学中有着广泛的应用[11].Hwang等[12]、于刚等[13]、李发根等[14]对基于身份的椭圆曲线数字签密进行了研究;张建航等[9]也给出了一个基于身份的椭圆曲线数字签密方案,具有前向安全性和可公开验证性,但方案中模乘运算达5次,复杂度较高.文中给出一个新的基于身份的椭圆曲线数字签密方案,仍具有前向安全性和可公开验证性,且比张建航等方案少1次模乘运算,运算复杂度达到理论最小值.
5.1参数
设GF(q)为有限域,E是有限域GF(q)上的椭圆曲线,选择E上一点G,G的阶为满足安全要求的素数n.发送方Alice选取私钥xA∈Z*n,并计算公钥YA=xAG;接收方Bob同理选取私钥xB∈Z*n,并计算公钥YB=xBG.(D,E)为安全加解密方案.
5.2签密阶段
发送方Alice对明文消息m的签密过程如下:
1)Alice任取r∈Z*n,计算R=rG=(r1,r2),KA B=rYB=(k,l);
2)加密c=Ek(m),计算Hash函数值e=h(m,r1),计算汉明重w=ham(e);
3)任取整数α,β(0<α,β 签密为(c,R,s,β,u),将其发送给接收者Bob. 5.3解签密阶段 Bob收到签密后,进行如下解签密过程: 1)计算KA B=xBR=(k,l); 2)解密计算明文信息m=Dk(c),计算Hash函数值e=h(m,r1),计算汉明重w=ham(e); 3)计算γ=(s-w+βm+u) modn; 4)验证γG-YA=R,若正确,则接受签密. 5.4正确性证明 说明该方案的验证过程是正确的. 6安全性和效率分析 6.1不可伪造性 由签密方程u=(r-αr1-β m)modn, s=(w+α r1+xA) mod n,接收者Bob知道m,s,u,w,r1,β,2个方程含有3个未知变量r,α,xA,无法求出,签密方程需要xA参与,故包括Bob在内的任何人都无法伪造签密. 6.2前向安全性 即使Alice的私钥xA泄露,除Bob外的任何人都无法恢复消息明文m,因为恢复m=Dk(c)需要解密密钥k.有两种方法可得到k:① 攻击者知道r,计算KA B=rYB=(k,l),从而可恢复消息明文m=Dk(c);② 攻击者知道xB,计算KA B=xBR=(k,l),从而可恢复消息明文m=Dk(c).参数r和xB攻击者均无法知道,无法恢复消息明文m,故方案具有前向安全性. 6.3公开验证性 若发送方Alice否认签密,接收者Bob将签密(c,R,s,β,u)发送给第三方可信中心可进行解签密验证. 注1:若接收方Bob不想将消息明文m交给第三方公开验证,只希望对密文c进行公开验证,则可将上述方案签密过程中的e=h(m,r1)改为e=h(c,r1),u=(r-αr1-β m)modn改为u=(r-αr1-β c)modn,解签密过程中的γ=(s-w+β m+u)modn改为γ=(s-w+β c+u)modn即可,其他均不变. 6.4效率分析 最新的同时具有前向安全性和公开可验证性的椭圆曲线数字签名方案为张建航等方案[9],相关的效率分析结果见表2. 表2 效率比较 对于基于身份的椭圆曲线数字签密方案,签密和解签密中至少需要4个模乘运算,2个用于签密和解签密,另2个用于加密和解密.文中方案模乘运算达到最小值4次,模逆运算达到最小值0次,与张建航等方案相比,文中方案减少了1次模乘运算,点积运算与Hash函数运算相对于模乘运算和模逆运算来说可忽略不计,故文中方案复杂度达到了理论最小值.另外,文中方案签密长度有所增加,用于短签名效果更好(签密长度中不计每个方案中均需传输的密文c). 参考文献: [1]ZHENGYu-lang.Digitalsigncryptionorhowtoachievecost(signatureandencryption)[C]//Advancesin Cryptography:Proceedings of CRYPTO ’97.London:Springer,1997:165. [2]ZHENGYu-lang.Signcryptionanditsapplicationsinefficientpublickeysolution[C]//Proceedings of Information Security Workshop(ISW ’97).Berlin:Springer,1998:291. [3]李发根,胡予濮,李刚.一个高效的基于身份的签密方案[J].计算机学报,2006,29(9):1641. [4]陈伟东,冯登国.签密方案在公布式协议中的应用[J].计算机学报,2005,28(9):1421. [5]李艳平,谭示崇,王育民.一个公开可验证和前向安全的签密方案[J].计算机应用研究,2006,23(9):98. [6]张串绒,肖国镇.一个可公开验证签密方案的密码分析和改进[J].电子学报,2006,34(1):177. [7]喻琇瑛,赖欣,何大可.一个可公开验证且前向安全的签密方案[J].计算机应用研究,2009,26(1):359. [8]于永,綦朝晖.一种基于前向安全的可公开验证签密方案[J].计算机应用与软件,2010,27(1):283. [9]张建航,胡予璞,齐新社.具有前向安全性和公开可验证性的签密方案[J].计算机应用研究,2011,28(2):733. [10]戚明平,陈建华,何德彪.具有前向安全性的可公开验证的签密方案[J].计算机应用研究,2014,31(10):3093. [11]王天芹.一个基于椭圆曲线的可证明安全签密方案[J].计算机应用研究,2010,27(3):1055. [12]HWANGRJ,LAICH,SUFF.Anefficientsigncryptionschemewithforwardsecrecybasedonellipticcurve[J].Applied Mathematics and Computation,2005,167(2):870. [13]于刚,黄根勋,王旭,等.基于椭圆曲线的可公开验证和前向安全的签密方案[J].信息工程大学学报,2008,9(3):21. [14]李发根,钟笛.数字签密综述[J].信息网络安全,2011(12):1. (责任编辑惠松骐)