一个可公开验证且前向安全的签密方案.doc

上传人:吴起龙 文档编号:1591586 上传时间:2018-12-26 格式:DOC 页数:9 大小:17.91KB
返回 下载 相关 举报
一个可公开验证且前向安全的签密方案.doc_第1页
第1页 / 共9页
一个可公开验证且前向安全的签密方案.doc_第2页
第2页 / 共9页
一个可公开验证且前向安全的签密方案.doc_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一个可公开验证且前向安全的签密方案.doc》由会员分享,可在线阅读,更多相关《一个可公开验证且前向安全的签密方案.doc(9页珍藏版)》请在三一文库上搜索。

1、一个可公开验证且前向安全的签密方案Signcryption scheme with public verifiability and forward security YU Xiuyinga,b,LAI Xina,HE Dakea,b (a.School of Information Science & Technology,b.Information Security & National Computing Grid Laboratory, Southwest Jiaotong University, Chengdu610031, China) Abstract:This paper im

2、proved signcryption schemes and as a result,proposed a public verifiable signcryption schemes with forward secrecy. In the improved schemes, the attacks which obtain the senders private key could not get any secret information between these participates before this communication.By these methods the

3、 improved schemes achieve public verifiability and forward security simultaneity. Key words:signcryption; forward secrecy; public verify 保密性与认证性是密码学中研究的重要课题,数字签名和加密是密码学的两个基本而重要的功能。其中数字签名具有提供消息完整性、认证性和不可否认性的功能,而加密则能提供消息的机密性。以往,签名和加密是分开应用的,但随着信息传输的网络化,网上传输的信息往往同时需要认证和加密。 1997年,Y. L.Zheng提出一个新的认证加密方案,称

4、为签密(signcryption),它能在一个逻辑步骤内同时完成数字签名和消息加密,实现保密和认证两项功能,这比传统的“先签名后加密”所需的计算代价与通信代价要小得多,大大减少了计算量与通信量1,2,非常适合大量数据的认证安全传递。 签密的高效性使其得到了广泛的关注,近年来,有许多签密方案提出来。但是,一方面,由于被签密的消息在签名的同时也被加密,不能像一般签名那样被公开验证;另一方面,由于任何得到签密者密钥的人均可以解密本次及以前通信的签密密文恢复出消息,签密方案不具备前向安全性。在文献3中指出,设计一个具有公开可验证性和前向安全性的签密方案是公开难题。 1998年,文献4以Zheng的签密

5、方案为基础,提出了一种签名可公开验证的签密方案,即BD签密方案,但该方案依然存在效率和安全问题。为了进一步解决签密的公开验证难题,2000年,文献5基于BD方案和文献6中的认证加密方案提出了一种可公开验证的签密方案,简称Lee方案。文献7对Lee方案进行密码分析研究,发现了其中存在的安全问题,并给出了一个改进方案,简称Zhang方案。本文研究后,将指出该方案不满足前向安全性,因此,在此方案基础上,设计了一个具有公开可验证性和前向安全性的签密方案,其他任何人均可验证该签名的有效性。而且,即使签名者的签密私钥丢失,用此私钥签密过的任何消息均不会被指定接收者之外的其他人非法读解,从而保证了方案的前向

6、安全性。 关于前向安全,有方案8提出将r隐藏到指数上,本文同时指出,在进行公开验证时,实际上r同样可以被获取,因此,并没有真正实现前向安全性。 1 Lee方案 方案中系统参数p是一个大素数,q是p-1的一个大的素因子,gZ*p是q阶元素,xaZq和ya=gxa mod p是Alice的公钥对;类似地,xb和yb是Bob的公钥对,hash是一个单向散列函数,表示级联。 设Alice要将需要认证加密的消息mZ*p发送给Bob,那么,Alice随机选取整数kZ*q,计算K1=hash(gk mod p),K2=hash(gkb mod p), c=(mhash(mK2),K1K2 mod p,s=(

7、k-xac)mod q,并将(c,s)发送给Bob。Bob接收到(c,s)后,计算gk mod p=ssyc mod qa mod p,K1=hash(gk mod p),K2=hash(gk)xb mod p),m=c/K1K2 mod p,并验证m=mhash(mK2)。当出现纠纷时, Bob将(K2,c,s)给第三方,第三方计算gk mod p=gs yc mod qa mod p,K1=hash(gk mod p),m=c/K1 K1 mod p,验证m=mhash(mK2)。 2 Zhang方案 文献7对Lee方案进行分析后,指出其不满足不可伪造性,对原方案进行了修改。修改方案中的参

8、数(Ek,Dk)是安全的对称加解密算法对,其余参数与Lee方案中的相同。 Alice随机选取整数kZ*q,计算K1=hash(gk mod p),K2=hash(ykb mod p),c=EK2(m),r=hash(K1,c mod p)和s=(k-xar)mod q ,并发送(c,r,s)给Bob。Bob接收到(c,r,s)后,计算gk mod p=gsyra mod p,K1=hash(gk mod p),K2=hash(gk)xb mod p),恢复消息m=DK2(c),并验证r=hash(K1,c mod p)。当出现纠纷,Alice否认自己的签密时,Bob将(c,r,s)给第三方验证

9、。第三方计算 K1=hash(gs yra mod p),验证r=hash(K1,c mod p)即可。 3 本文方案 密钥安全是密码体制安全的关键,而窃取用户的密钥是非法攻击者可能采取的攻击方法之一。在Zhang方案中,如果敌手获取了xa,c,r,s,则通过s=(k-xar)mod q,就可以计算出k,进而由K1=hash(gk mod p), K2=hash(gk)xb mod p)得到K1和K2,从而解密出前面所有的密文。因此,该方案不具有前向安全性,本文所提出的改进方案如下。方案中未提及的其他参数与Zhang方案相同。 Alice的签密过程: 随机选取整数kZ*q,计算K1=hash(

10、gk mod p), K2=hash(gkb mod p),c=EK2(m),R=gK2mod p, r=hash(K1,gK2,c mod p)和s=(k-xar-k2r) mod q。Alice计算传递(c,r,R,s)给Bob。 Bob解签密过程:Bob得到(c,r,R,s)后,计算gk mod p=gsyraRr mod p, K1=hash(gk mod p), K2=hash((gk)xb mod p),恢复消息m=DK2(c),验证r=hash(K1,gK2,c mod p)即可。 当出现纠纷时,Bob将(c,r,R,s)发送给第三方验证。第三方计算K1=hash(gsyraRr

11、 mod p),验证r=hash(K1,R,c mod p)。 4 方案的安全性分析及性能评价 41 安全性分析 1)机密性 关于机密性,要求除了Bob, 其他任何人不能从(c,r,R,s)得到消息。在本方案中,K2是机密性得以保证的关键,因为K2=hash(ykb mod p)=hash(gk)xbmod p),且只有Alice知道k值,Bob知道xb,所以,除了Alice和Bob以外,没有人能算出K2,要想获得消息,相当于解离散对数问题,即 Probm*=m|m*Adversary(c,r,R,s)=DLP 这是不可能的,因此攻击者无法获取m(包括在公开验证中) 。 2)不可伪造性 指任何

12、外部攻击者或内部攻击者均不能伪造一个来自发方的关于某个消息的签密。 在文献7中,已证明Zhang方案满足机密性、不可伪造性和不可否认性, 是一个安全的可公开验证签密方案。其签名用的是Schnorr算法,而Schnorr签名是可证明安全的,即没有人(包括Bob)能伪造消息m的有效签密密文(c,r,s),使得 m=DK2(c),r=hash(K1,c mod p) 其中:K1=hash(gsyra mod p);K2=hash(gsyra)xbmod p)。否则Schnorr签名就可伪造,这点在文献7中给出了证明。在修改方案中也实现了不可伪造性, 因为在Zhang方案中,已对其不可伪造性进行了证明

13、;而在本方案中,只增加了一个只出现在K1计算式中的参数R。如果有外部攻击者伪造签名(c,r,R,s),由于其没有xa,假设其任选k,计算K1=hash(gk mod p),K2=K1=hash(gk mod p),在验证时,验证方需要计算K1=hash(gsyraRr mod p),要使 K1=hash(gsgxargK2r mod p)=hash(gk mod p) 在不知道xa的前提下,相当于解离散对数问题,是不可能的。因此只有Alice可生成有效的签密密文(c,r,R,s),这点由公开验证式可证得。 3)不可否认性 它是指当发送方Alice否认其曾向接收方Bob发送过消息m的签密时,收方

14、可以在不泄露其私钥的前提下,向第三方提交必要信息进行验证。由于本方案具有不可伪造性,只有Alice能够生成有效的签密密文;而且本方案是可公开验证的,任何人均可以验证是否(c,r,R,s)为Alice生成的有效签密密文, 因此只要通过验证,Alice无法否认其签名的消息,从而实现了不可否认性。 4)前向安全性 关于前向安全,一些方案8提出将r隐藏到指数上,但实际上在进行公开验证时,仍然可通过以下步骤计算得到r的值:k1=(yAR)s mod p,r=H(m,k1)。进而由s=x(r+xA)-1 mod q得到x值,由k2=H(yBx mod p)得到k2,从而恢复消息m。 因此,这类方案中只是在

15、验证时将用另一个符号代替,实际上r同样可以被获取,这些方案并没有真正实现前向安全性。 在本方案中,攻击者只有获得了K1和K2才能对消息进行解密。设攻击者获取了xa、r、R和s,进行如下攻击: 如果想要由R=gK2计算出K2相当于解离散对数问题,是不可能的;如果想由式s=(k-xar-K2r)mod q,得到k值,攻击者仅有xa、r和s,因此攻击者无法计算出k值,也就无法计算出K1和K2来解密前面的消息;且由于解签密需要K2,而签密时K2=hash(ykb mod p),解签密时K2=hash(gk)xb mod p),攻击者不知道k值或xb,无法获得K2解密出消息。 42 性能评价 关于效率问

16、题,本方案为保证前向安全性,需要多计算一次R=gK2,并发送给Bob,但对于计算能力较高的加密方来说,以较小的计算量的增加换取安全性的增加是可以接受的;而对于解密方和验证方来说,由于直接对Rr进行乘法运算,计算量并没有显著的增加。 5 结束语 签密能在一个合理的逻辑步骤内同时实现保密和认证两项功能,与先签名后加密的方法相比效率更高,因而成为实现既保密又认证的传输消息的理想方法之一,得到了广泛的应用,如电子现金支付、密钥分配等。但是现已公开发表的签密方案大多不同时具有普遍可验证性和前向安全性。本文在一个可公开验证的签密方案基础上,提出一个同时满足公开可验证性和前向安全性的签密方案。它同时满足公开可验证性和前向安全性,解决了文献3提出的一个公开问题,从而为签密在电子商务、公平交易、密钥协商等实际中的应用提供了强的理论工具。由于签密的高效性,在现有的许多方案之上,可以进一步研究如何将签密方案与实际应用相结合。 ?慰嘉南祝? 1 ZHENG Yulang.Digital signcryption or how to achieve cost (signature & encryption)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1