当前位置: 首页 > 专利查询>武汉大学专利>正文

一种两方分布式基于身份的RSA数字签名生成方法与系统技术方案

技术编号:17659892 阅读:65 留言:0更新日期:2018-04-08 11:34
本发明专利技术涉及一种两方分布式基于身份的RSA数字签名生成及系统,通过以下技术方案实现:KGC分别为参与数字签名的通信双方A,B生成部分签名密钥

【技术实现步骤摘要】
一种两方分布式基于身份的RSA数字签名生成方法与系统
本专利技术属于信息安全领域,特别涉及基于两方分布式RSA数字签名生成方法与系统。
技术介绍
随着通信技术的快速发展和普及,计算机网络的应用领域越来越广泛,已经涉及到金融、商务、军事、外交等诸多领域。网络技术以及各种信息技术的应用给我们的生活带来了极大的便利,它使我们不再受时间和空间的限制,可以在任何时间任何地点与任何一个角落的个人或组织进行信息交流。但同时如何确保信息的安全性是一个亟待解决的问题。数字签名是解决网络通信中信息安全的一种有效方法,用来代替手写签名或印章。它可以实现电子文件的辨认和验证,确保数据的完整性、私有性和不可抵赖性。目前,数字签名技术已经应用于电子邮件、电子政务和电子资金转账等各社会领域。传统的数字签名体制中,一旦签名密钥泄露,则攻击者可以攻破整个签名体制。为了提高签名体制的安全性,门限签名方案应运而生。在门限签名方案中,将签名密钥分割成n份,分别发送给n个参与者保管,其中每一份称为一个份额。只有当t个或者多于t个参与者同时出示他们所持有的份额时才能重构签名密钥,生成有效的签名,而少于t个参与者既使同时出示他们所持有的份额,也不能产生有效的签名。这样,攻击者至少获得t个签名子密钥才能产生有效签名。但是在门限签名方案中,当持有签名密钥的参与方或者持有份额的参与方不诚实,则他们可能欺骗其他参与方,威胁了方案的安全性和公平性。特别对只有两方参与的情况下,某一方恢复出签名密钥,则可以独立生成有效签名,这将造成直接的利益损失。第一个基于身份的RSA数字签名方案由Shamir提出(参见《Identity-basedCryptosystemsandSignatureSchemes》Crypto.1984,84:47-53),此算法中,用户的验证公钥由用户身份计算而来,用户的签名密钥则由可信机构生成。基于秘密共享的实现方法对签名密钥的保护较弱,存在密钥泄露的隐患。本专利技术设计了一种两方分布式基于身份的RSA数字签名方案,在生成数字签名的过程中,两方必须共同参与才能生成有效的签名,并且每一个参与者都无法获得其他参与者的签名子密钥,从而保证了签名密钥的安全性。
技术实现思路
本专利技术的目的是提出两个通信方各自拥有一个部分签名密钥,并且通信双方都无法获得对方签名密钥的任何信息,只有当双方协作才能完成对消息的有效签名。针对本专利技术的目的,本专利技术提出了一个两方分布式基于身份的RSA数字签名生成方案与系统,下面给出具体描述。一种两方分布式基于身份的RSA数字签名生成方法,其特征在于,包括:生成签名密钥步骤:密钥生成中心分别为参与数字签名的通信双方A,B生成部分签名密钥和收到部分签名密钥后,B首先选择两个随机数k1,k2,计算并将μ1和μ2发送给A。生成分布式数字签名步骤:A选择两个随机数k3,k4,计算第一个部分签名h,并将发送给B。B利用自己的部分签名密钥计算s1,s2并发送给A。A收到s1,s2后,利用自己的部分签名密钥计算第二个部分签名在签名验证通过后,A公布完整的RSA数字签名(h,S)在上述的一种两方分布式基于身份的RSA数字签名生成方法,所述生成签名密钥步骤具体包括:步骤2.1、密钥生成中心产生两个固定长度的大素数p,q,计算n=pq,步骤2.2、生成RSA的公私钥对(e,d),满足条件及其中e作为公钥,d作为私钥;步骤2.3、选择一个随机数d1,计算d2使得满足条件步骤2.4、计算作为第一部分签名密钥,计算并设置第二部分签名密钥为其中为d1模的逆元,即步骤2.5、用户把和分别存储到设备A和B中。在上述的一种两方分布式基于身份的RSA数字签名生成方法,生成分布式数字签名步骤具体包括:步骤3.1、B选择第一个随机数k1和第二个随机数k2,计算第一个临时部分公钥和第二个临时部分公钥并将μ1和μ2发送给A。步骤3.2、A收到μ1和μ2后,选择第三个随机数k3和第四个随机数k4,计算目标临时公钥并通过μ计算第一个部分签名h=H2(μ,m,ID)。A计算第一个临时变量若h′=0则重新选择k3,k4,否则A将h′发送给B。步骤3.3、B收到h′后,计算第二个临时变量s1=k1·d2和第三个临时变量s2=(h′+k2)·d2,并将s1和s2发送给A。步骤3.4、A收到s1和s2后,计算第二个部分签名使用签名验证算法验证签名的正确性,若验证通过则输出签名(h,S),否则终止协议。一种两方分布式基于身份的RSA数字签名生成系统,其特征在于,包括:密钥生成中心:为参与数字签名的通信双方A,B生成部分签名密钥和生成签名密钥单元:密钥生成中心通过生成签名密钥单元将部分签名密钥发送给B,B首先选择两个随机数k1,k2,计算并将μ1和μ2发送给A。生成分布式数字签名单元:A通过生成分布式数字签名单元选择两个随机数k3,k4,计算第一个部分签名h,并将发送给B。B利用自己的部分签名密钥计算s1,s2并发送给A。A收到s1,s2后,利用自己的部分签名密钥计算第二个部分签名在签名验证通过后,A公布完整的RSA数字签名(h,S)在上述的一种两方分布式基于身份的RSA数字签名生成系统,所述生成签名密钥单元进行生成签名密钥的具体方法包括:步骤2.1、密钥生成中心产生两个固定长度的大素数p,q,计算n=pq,步骤2.2、生成RSA的公私钥对(e,d),满足条件及其中e作为公钥,d作为私钥;步骤2.3、选择一个随机数d1,计算d2使得满足条件步骤2.4、计算作为第一部分签名密钥,计算并设置第二部分签名密钥为其中为d1模的逆元,即步骤2.5、用户把和分别存储到设备A和B中。在上述的一种两方分布式基于身份的RSA数字签名生成系统,生成分布式数字签名单元进行生成分布式数字签名的具体方法包括:步骤3.1、B选择第一个随机数k1和第二个随机数k2,计算第一个临时部分公钥和第二个临时部分公钥并将μ1和μ2发送给A。步骤3.2、A收到μ1和μ2后,选择第三个随机数k3和第四个随机数k4,计算目标临时公钥并通过μ计算第一个部分签名h=H2(μ,m,ID)。A计算第一个临时变量若h′=0则重新选择k3,k4,否则A将h′发送给B。步骤3.3、B收到h′后,计算第二个临时变量s1=k1·d2和第三个临时变量s2=(h′+k2)·d2,并将s1和s2发送给A。步骤3.4、A收到s1和s2后,计算第二个部分签名使用签名验证算法验证签名的正确性,若验证通过则输出签名(h,S),否则终止协议。本专利技术与现有技术相比具有如下优点和有益效果1、目前现有的门限秘密共享方案,是将签名密钥分割成多份,并且分发给不同的参与者保管。但是在密钥重构过程中,某个参与者可能不诚实,没有出示所持有的真实份额,从而降低了方案的公平性。2、现有的门限秘密共享方案,签名密钥可能被某一方恢复,造成签名密钥的泄露,从而降低了签名方案的安全性。3、本专利技术实现了两方分布式基于身份的RSA数字签名,要求通信双方都不能获得对方部分签名密钥的任何信息,必须通信双方共同参与才能生成有效的签名,这样提高了签名方案的安全性和公平性。本专利技术适用于通信双方各自持有部分签名密钥,双方在均不泄露自己签名密钥的情况下共同参与完成RSA数字签名。在产生签名的过程中,通信双方只本文档来自技高网
...
一种两方分布式基于身份的RSA数字签名生成方法与系统

【技术保护点】
一种两方分布式基于身份的RSA数字签名生成方法,其特征在于,包括:生成签名密钥步骤:密钥生成中心分别为参与数字签名的通信双方A,B生成部分签名密钥

【技术特征摘要】
1.一种两方分布式基于身份的RSA数字签名生成方法,其特征在于,包括:生成签名密钥步骤:密钥生成中心分别为参与数字签名的通信双方A,B生成部分签名密钥和收到部分签名密钥后,B首先选择两个随机数k1,k2,计算并将μ1和μ2发送给A;生成分布式数字签名步骤:A选择两个随机数k3,k4,计算第一个部分签名h,并将发送给B;B利用自己的部分签名密钥计算s1,s2并发送给A;A收到s1,s2后,利用自己的部分签名密钥计算第二个部分签名在签名验证通过后,A公布完整的RSA数字签名(h,S)。2.根据权利要求1所述的一种两方分布式基于身份的RSA数字签名生成方法,其特征在于,所述生成签名密钥步骤具体包括:步骤2.1、密钥生成中心产生两个固定长度的大素数p,q,计算n=pq,步骤2.2、生成RSA的公私钥对(e,d),满足条件及其中e作为公钥,d作为私钥;步骤2.3、选择一个随机数d1,计算d2使得满足条件步骤2.4、计算作为第一部分签名密钥,计算并设置第二部分签名密钥为其中为d1模的逆元,即步骤2.5、用户把和分别存储到设备A和B中。3.根据权利要求1所述的一种两方分布式基于身份的RSA数字签名生成方法,其特征在于,生成分布式数字签名步骤具体包括:步骤3.1、B选择第一个随机数k1和第二个随机数k2,计算第一个临时部分公钥和第二个临时部分公钥并将μ1和μ2发送给A;步骤3.2、A收到μ1和μ2后,选择第三个随机数k3和第四个随机数k4,计算目标临时公钥并通过μ计算第一个部分签名h=H2(μ,m,ID);A计算第一个临时变量若h′=0则重新选择k3,k4,否则A将h′发送给B;步骤3.3、B收到h′后,计算第二个临时变量s1=k1·d2和第三个临时变量s2=(h′+k2)·d2,并将s1和s2发送给A;步骤3.4、A收到s1和s2后,计算第二个部分签名使用签名验证算法验证签名的正确性,若验证通过则输出签名(h,S),否则终止协议。4.一种两方分布式基于身份的RSA数字签名生成系统,其...

【专利技术属性】
技术研发人员:何德彪马米米王婧冯琦
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北,42

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

1