CN107733648B - 一种基于身份的rsa数字签名生成方法及系统 - Google Patents

一种基于身份的rsa数字签名生成方法及系统 Download PDF

Info

Publication number
CN107733648B
CN107733648B CN201711042009.9A CN201711042009A CN107733648B CN 107733648 B CN107733648 B CN 107733648B CN 201711042009 A CN201711042009 A CN 201711042009A CN 107733648 B CN107733648 B CN 107733648B
Authority
CN
China
Prior art keywords
signature
key
identity
public
pair
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711042009.9A
Other languages
English (en)
Other versions
CN107733648A (zh
Inventor
何德彪
冯琦
孙金龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201711042009.9A priority Critical patent/CN107733648B/zh
Publication of CN107733648A publication Critical patent/CN107733648A/zh
Application granted granted Critical
Publication of CN107733648B publication Critical patent/CN107733648B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Abstract

本发明涉及一种基于身份的RSA数字签名生成方法及系统,具体是:密钥生成中心生成一对RSA的公私钥对,以及一对随机数。将部分签名密钥发送P1,另一部分签名密钥送给P2。参于数字签名生成的双方P1和P2,分别生成一个随机数r1和r2。P1首先计算r1,加密r1得到C1,随后发送C1和R1给P2。P2计算r2返回给P1。同时P2计算出密文C2。P2将此密文C2发送给P1。P1解密C2,并利用自己的部分签名密钥
Figure DDA0001450684150000011
计算得到签名S和R,在签名验证通过之后,P1公布完整的基于身份的RSA数字签名(R,S)。本发明保证了签名密钥的安全性,提高了双方参与数字签名的公平性。

Description

一种基于身份的RSA数字签名生成方法及系统
技术领域
本发明属于信息安全领域,特别是基于身份的RSA数字签名生成方法及系统。
背景技术
数字签名是数字化环境下对传统手写签名的模拟,可以提供数字信息的不可伪造性、认证性和完整性。数字签名涉及两种密钥:签名密钥和验证公钥。关于验证公钥的安全性和不可替代性,传统的解决办法是使用公钥基础设施,即通过可信机构签发数字证书来对用户的公钥和身份进行捆绑。为了解决这种方法中存在证书管理困难问题,科研人员提出了基于身份的数字签名。在这种签名中,密钥生成中心使用用户身份生成公私钥对,可以在验证数字签名的过程中同时确认用户身份。
随着互联网的发展,许多事务在网络上开展,如电子商务、电子证券等。这些电子事务的完成通常涉及多个参与方,需要多个参与者同时对相关消息进行签名,其安全性和参与者的公平性需求催生了多种数字签名体制。一般情况下,用户会使用秘密共享的思想来共同生成数字签名。在这种方法中,签名密钥被分割成t个子密钥,并安全地分给t个参与者掌管,这些参与者中的k个及以上所构成的子集可以重构签名密钥,少于k个参与者则无法获得任何关于完整签名密钥的信息。但是当恢复出完整签名密钥之后,持有完整签名密钥的一方就可以在其他参与方不知情的情况下独立地进行签名,威胁了安全性和公平性。特别是在只有两个参与方的情况下,某一方恢复并持有完整签名密钥,就可以在另一方不知情的情况下,独立地进行数字签名,这在电子货币系统中会造成直接的利益损失。
第一个基于身份的RSA数字签名方案由Shamir提出(参见《Identity-basedCryptosystems and Signature Schemes》Crypto.1984,84:47-53),此算法中,用户的验证公钥由用户身份计算而来,用户的签名密钥则由可信机构生成。基于秘密共享的实现方法对签名密钥的保护较弱,存在密钥泄露的隐患。
针对这种情况,本发明设计了一种基于身份的两方分布式RSA数字签名方案,可以实现在两个参与方之间分布式的完成数字签名,数字签名必须由两方共同参与,并且在签名过程中没有恢复完整的签名密钥,保证签名密钥的安全性。
发明内容
本发明的目的在于提出两方在不泄露自己的部分签名密钥,并且无法获得完整的签名密钥的情况下共同完成对消息的基于身份的RSA数字签名。
针对本发明的目的,本发明提出了一种基于身份的两方分布式RSA数字签名生成方案,下面给出具体描述。
一种基于身份的两方分布式RSA数字签名生成方法,其特征在于,基于以下定义:公私钥对(e,d)、需要签名的两方P1和P2,具体包括:
密钥分发步骤:密钥生成中心首先生成一对RSA的公私钥对(e,d),以及满足
Figure BDA0001450684140000021
的d1和d2;由d1和d2计算得到满足
Figure BDA0001450684140000022
的两个部分签名密钥
Figure BDA0001450684140000023
Figure BDA0001450684140000024
其中H(ID)是基于用户身份生成的哈希值;随后基于同态加密算法生成公私钥对(pk,sk);将
Figure BDA0001450684140000025
发送给一方P1,将
Figure BDA0001450684140000026
发送给另一方P2
数字签名生成步骤:P1和P2分别生成一个随机数r1和r2。P1首先计算
Figure BDA0001450684140000031
使用同态加密方法加密r1得到C1,随后发送C1和R1给P2。P2计算
Figure BDA0001450684140000032
返回给P1。同时P2通过同态加密的性质,可以计算出
Figure BDA0001450684140000033
的密文C2,其中α是基于用户身份,待签名消息以及随机数生成的哈希值。P2将此密文C2发送给P1。P1解密C2,并利用自己的部分签名密钥
Figure BDA0001450684140000034
计算得到签名S=H(ID)(r1r2+α)dmod n和
Figure BDA0001450684140000035
在签名验证通过之后,P1公布完整的基于身份的RSA数字签名(R,S)。
在上述的一种基于身份的两方分布式RSA数字签名生成方法,所述密钥分发步骤具体包括:
步骤2.1、产生两个固定长度的大素数p,q,计算模数n=pq,欧拉函数
Figure BDA0001450684140000036
步骤2.2、生成一对RSA的公私钥对(e,d),满足
Figure BDA0001450684140000037
并且
Figure BDA0001450684140000038
其中e是公钥,d是私钥;
步骤2.3、生成一个随机数d2,计算d1使得等式
Figure BDA0001450684140000039
Figure BDA00014506841400000310
成立;
步骤2.4、计算第一部分签名密钥
Figure BDA00014506841400000311
第二部分签名密钥
Figure BDA00014506841400000312
其中H(ID)表示身份ID的哈希值;
步骤2.5、生成同态加密算法的一对公私钥对(pk,sk);将
Figure BDA00014506841400000313
发送给第一参与方P1,将
Figure BDA00014506841400000314
发送给第二参与方P2
在上述的一种基于身份的两方分布式RSA数字签名生成方法,所述数字签名生成步骤包括:
步骤3.1、P1生成第一个随机数r1,计算第一个临时公钥
Figure BDA00014506841400000315
使用同态加密算法的公钥pk对r1做加密,即第一个密文C1=Encpk(r1)。P1把(R1,C1)发送给P2
步骤3.2、P2生成第二个随机数r2,计算第二个临时公钥
Figure BDA0001450684140000041
第一部分签名
Figure BDA0001450684140000042
第二个密文
Figure BDA0001450684140000043
Figure BDA0001450684140000044
其中α是身份ID,消息M和R一起做Hash操作得到的值,即α=H(ID,M,R)。P2把(R2,C2)发送给P1
步骤3.3、P1使用同态加密算法的私钥做解密,计算明文
Figure BDA0001450684140000045
第一部签名
Figure BDA0001450684140000046
和第二部分签名
Figure BDA0001450684140000047
使用签名验证算法验证签名的正确性,若签名正确则输出签名(R,S),否则终止协议。
一种基于身份的两方分布式RSA数字签名生成系统,其特征在于,基于以下定义:公私钥对(e,d)、需要签名的两方P1和P2,具体包括:
密钥生成中心:用于一对RSA的公私钥对(e,d),以及满足
Figure BDA0001450684140000048
的d1和d2,由d1和d2计算得到满足
Figure BDA0001450684140000049
Figure BDA00014506841400000410
的两个部分签名密钥
Figure BDA00014506841400000411
Figure BDA00014506841400000412
其中H(ID)是基于用户身份生成的哈希值;
密钥分发单元:基于同态加密算法生成公私钥对(pk,sk);将
Figure BDA00014506841400000413
发送给一方P1,将
Figure BDA00014506841400000414
发送给另一方P2
数字签名生成单元:P1和P2分别生成一个随机数r1和r2。P1首先计算
Figure BDA00014506841400000415
使用同态加密方法加密r1得到C1,随后发送C1和R1给P2。P2计算
Figure BDA00014506841400000416
返回给P1。同时P2通过同态加密的性质,可以计算出
Figure BDA00014506841400000417
的密文C2,其中α是基于用户身份,待签名消息以及随机数生成的哈希值。P2将此密文C2发送给P1。P1解密C2,并利用自己的部分签名密钥
Figure BDA00014506841400000418
计算得到签名S=H(ID)(r1r2+α)d
Figure BDA00014506841400000419
在签名验证通过之后,P1公布完整的基于身份的RSA数字签名(R,S)。
在上述的一种基于身份的两方分布式RSA数字签名生成系统,所述密钥分发单元的具体分发方法包括:
步骤5.1、产生两个固定长度的大素数p,q,计算模数n=pq,欧拉函数
Figure BDA0001450684140000051
步骤5.2、生成一对RSA的公私钥对(e,d),满足
Figure BDA0001450684140000052
并且
Figure BDA0001450684140000053
其中e是公钥,d是私钥;
步骤5.3、生成一个随机数d2,计算d1使得等式
Figure BDA0001450684140000054
Figure BDA0001450684140000055
成立;
步骤5.4、计算第一部分签名密钥
Figure BDA0001450684140000056
第二部分签名密钥
Figure BDA0001450684140000057
其中H(ID)表示身份ID的哈希值;
步骤2.5、生成同态加密算法的一对公私钥对(pk,sk);将
Figure BDA0001450684140000058
发送给第一参与方P1,将
Figure BDA0001450684140000059
发送给第二参与方P2
在上述的一种基于身份的两方分布式RSA数字签名生成系统,所述数字签名生成单元进行数字签名的具体步骤包括:
步骤6.1、P1生成第一个随机数r1,计算第一个临时公钥
Figure BDA00014506841400000510
使用同态加密算法的公钥pk对r1做加密,即第一个密文C1=Encpk(r1)。P1把(R1,C1)发送给P2
步骤6.2、P2生成第二个随机数r2,计算第二个临时公钥
Figure BDA00014506841400000511
第一部分签名
Figure BDA00014506841400000512
第二个密文
Figure BDA00014506841400000513
Figure BDA00014506841400000514
其中α是身份ID,消息M和R一起做Hash操作得到的值,即α=H(ID,M,R)。P2把(R2,C2)发送给P1
步骤6.3、P1使用同态加密算法的私钥做解密,计算明文
Figure BDA0001450684140000061
第一部签名
Figure BDA0001450684140000062
和第二部分签名
Figure BDA0001450684140000063
使用签名验证算法验证签名的正确性,若签名正确则输出签名(R,S),否则终止协议。
本发明与现有技术相比具有如下有益效果:1、关于签名密钥的安全性,目前现有的门限秘密共享方案,虽然可以将签名密钥进行分割,但在签名阶段,密钥会被恢复并被某一方掌握,造成了签名密钥的泄露,这样降低了多方签名的安全性。2、关于签名的公平性,目前现有的门限秘密共享方案,最终持有完整签名密钥的一方可以独立进行签名,不需要全部参与方共同参加,这样降低了多方签名的公平性。3、本发明实现了基于身份的分布式RSA数字签名,签名过程中保证双方不会暴露部分签名密钥,同时数字签名必须由双方同时参与,这样实现了多方签名的安全性和公平性。4、本发明基于数学难题,保证即使有一方的签名密钥丢失,也不会泄露关于完整签名密钥或另外一方持有的部分签名密钥的任何信息。
具体实施方式
下面结合实例对本发明做详细的描述,以下实施方案只表示本发明是一种可能的实施方式,不是全部可能的实施方案,不作为对本发明的限定。
一、首先阐述本发明的方法原理。
密钥生成中心生成一对RSA的公私钥对(e,d),以及一对随机数满足
Figure BDA0001450684140000064
将部分签名密钥
Figure BDA0001450684140000065
发送P1
Figure BDA0001450684140000066
发送给P2,其中H(ID)是基于用户身份生成的哈希值。同时选择并生成一组同态加密算法的公私钥对(pk,sk),并将(pk,sk)发送给P1,pk发送给P2。参加数字签名生成的双方P1和P2,分别生成一个随机数r1和r2。P1首先计算
Figure BDA0001450684140000071
使用同态加密方法加密r1得到C1,随后发送C1和R1给P2。P2计算
Figure BDA0001450684140000072
返回给P1。同时P2通过同态加密的性质,可以计算出
Figure BDA0001450684140000073
的密文C2,其中α是基于用户身份,待签名消息以及随机数生成的哈希值。P2将此密文C2发送给P1。P1解密C2,并利用自己的部分签名密钥
Figure BDA0001450684140000074
计算得到签名S=H(ID)(r1r2+α)d
Figure BDA0001450684140000075
在签名验证通过之后,P1公布完整的基于身份的RSA数字签名(R,S)。
在以下对本发明的描述中,两个整数相乘(或整数符号相乘),在不产生二义性的情况下,省略乘号“·”,例如a·b简化为ab。mod n表示模n运算,模n运算的优先级是最低的,例如a+bmod n等同于(a+b)mod n,ab mod n等同于(ab)mod n。“≡”表示同余式,即a≡bmod n等同于amod n=b mod n。gcd(a,b)表示求整数a,b的最大公因子,若gcd(a,b)=1代表a,b互素。
在以下对本发明签名阶段的描述中,P1使用同态加密算法对消息做加密,使用的公私钥对为(pk,sk)。定义Encpk为加密运算,Decsk为解密运算。定义
Figure BDA0001450684140000076
为c1,c2两个密文的“同态加”运算,定义a⊙c运算为密文c与明文a的“同态乘”运算。该同态加密算法有如下性质:
1.公钥pk做消息加密,只有唯一对应的私钥sk才可以解密,即DeCsk(Encpk(m))=m;
2.密文之间的相乘运算可以映射到明文之间的相加运算,即
Figure BDA0001450684140000077
3.密文与某明文的指数运算可以映射到密文对应明文与该明文的相乘运算,即Encpk(m1)⊙m2=Encpk(m1m2)。
(一)密钥分发算法:
在本发明中,基于身份的签名密钥由密钥生成中心生成。针对参与数字签名的两方,分别产生部分签名私钥,操作如下:
1.产生两个固定长度的大素数p,q,计算模数n=pq,欧拉函数
Figure BDA0001450684140000081
2.生成一对RSA的公私钥对(e,d),满足
Figure BDA0001450684140000082
并且
Figure BDA0001450684140000083
其中e是公钥,d是私钥;
3.生成一个随机数d2,计算d1使得等式
Figure BDA0001450684140000084
成立;
4.计算第一部分签名密钥
Figure BDA0001450684140000085
第二部分签名密钥
Figure BDA0001450684140000086
其中H(ID)表示身份ID的哈希值;
5.生成同态加密算法的一对公私钥对(pk,sk);将
Figure BDA0001450684140000087
发送给第一参与方P1,将
Figure BDA0001450684140000088
发送给第二参与方P2
(二)分布式签名算法:
在本发明中,基于身份的RSA数字签名由两方P1和P2共同完成,具体操作如下:
1.P1生成第一个随机数r1,计算第一个临时公钥
Figure BDA0001450684140000089
使用同态加密算法的公钥pk对r1做加密,即第一个密文C1=Encpk(r1)。P1把(R1,C1)发送给P2
2.P2生成第二个随机数r2,计算第二个临时公钥
Figure BDA00014506841400000810
第一部分签名
Figure BDA00014506841400000811
第二个密文
Figure BDA00014506841400000812
Figure BDA00014506841400000813
其中α是身份ID,消息M和R一起做Hash操作得到的值,即α=H(ID,M,R)。P2把(R2,C2)发送给P1
3.P1使用同态加密算法的私钥做解密,计算明文
Figure BDA00014506841400000814
Figure BDA00014506841400000815
第一部签名
Figure BDA00014506841400000816
和第二部分签名
Figure BDA00014506841400000817
使用签名验证算法验证签名的正确性,若签名正确则输出签名(R,S),否则终止协议。
本发明在P1和P2通信中,加入了零知识证明机制,用来证明发送的数据确实是来自发送方的,从而降低数据被篡改的风险,提高方案的安全性。
二、下面结合具体实施例阐述本发明的具体案例。
对于本发明,需要密钥生成中心作为可信第三方,对需要签名的两方P1和P2的计算设备(如个人电脑,智能移动设备)生成部分签名密钥
Figure BDA0001450684140000091
Figure BDA0001450684140000092
P1或P2其中任何一方可以在不得到完整签名密钥的情况下对消息进行签名,并可以验证签名的正确性。双方均各自保存且不公开自己的部分签名密钥。
在密钥分发阶段,密钥生成中心首先生成(e,d),以及满足
Figure BDA0001450684140000093
的d1和d2。由d1和d2计算得到满足
Figure BDA0001450684140000094
Figure BDA0001450684140000095
的两个部分签名密钥
Figure BDA0001450684140000096
Figure BDA0001450684140000097
其中H(ID)是基于用户身份生成的哈希值。选择同态加密算法,例如Paillier加密算法,并生成公私钥对(pk,sk);将
Figure BDA0001450684140000098
发送给一方P1,将
Figure BDA0001450684140000099
发送给另一方P2
在分布式RSA数字签名生成的阶段:
1.P1首先生成r1,计算
Figure BDA00014506841400000910
使用pk对r1做同态加密得到C1=Encpk(r1),生成第一个零知识证明π1,即证明R1是关于r1的一个离散对数。P1把(R1,C1,π1)发送给P2
2.P2检验π1是否合法,如果不合法,P2退出协议;否则P2生成r2,计算
Figure BDA00014506841400000911
生成第二个零知识证明π2,即证明R2是关于r2的一个离散对数,并利用ID,M,和R计算出α=H(ID,M,R)。P2使用C1,r2和α计算出
Figure BDA00014506841400000912
Figure BDA0001450684140000101
通过γ和
Figure BDA0001450684140000102
计算得到
Figure BDA0001450684140000103
Figure BDA0001450684140000104
P2把(R2,C2,π2)发送给P1
3.P1检验π2是否合法,如果不合法,P1退出协议;否则,P1对C2做同态解密,计算得到
Figure BDA0001450684140000105
P1计算
Figure BDA0001450684140000106
以及
Figure BDA0001450684140000107
并对签名的正确性进行验证,若验证通过P1则公布签名(R,S),否则终止协议。
基于本发明的方法,很容易实施本发明方法的系统。
基于本发明构造的基于身份的分布式RSA数字签名生成系统包括1台服务器作为密钥生成中心,2台设备。密钥生成中心按照本发明的密钥分发算法,向2台设备分发部分签名密钥。2台设备按照本发明的分布式签名算法,生成对消息M的分布式数字签名。
其他未说明的具体技术实施,对于相关领域技术人员而言是众所周知,不言自明的。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.一种基于身份的两方分布式RSA数字签名生成方法,其特征在于,基于以下定义:公私钥对(e,d)、需要签名的两方P1和P2,具体包括:
密钥分发步骤:密钥生成中心首先生成一对RSA的公私钥对(e,d),以及满足
Figure FDA00025436104900000116
的d1和d2,
Figure FDA00025436104900000118
为欧拉函数,n为模数;由d1和d2计算得到满足
Figure FDA0002543610490000012
的两个部分签名密钥
Figure FDA0002543610490000013
Figure FDA0002543610490000014
其中H(ID)是基于用户身份生成的哈希值;随后基于同态加密算法生成公私钥对(pk,sk);将
Figure FDA0002543610490000015
发送给一方P1,将
Figure FDA0002543610490000016
发送给另一方P2
数字签名生成步骤:P1和P2分别生成一个随机数r1和r2;P1首先计算
Figure FDA0002543610490000017
使用同态加密方法加密r1得到C1,随后发送C1和R1给P2;P2计算
Figure FDA0002543610490000018
返回给P1;同时P2通过同态加密的性质,可以计算出
Figure FDA0002543610490000019
的密文C2,其中α是基于用户身份,消息M以及R生成的哈希值;P2将此密文C2发送给P1;P1解密C2,并利用自己的部分签名密钥
Figure FDA00025436104900000110
计算得到签名
Figure FDA00025436104900000111
Figure FDA00025436104900000112
在签名验证通过之后,P1公布完整的基于身份的RSA数字签名(R,S)。
2.根据权利要求1所述的一种基于身份的两方分布式RSA数字签名生成方法,其特征在于,所述密钥分发步骤具体包括:
步骤2.1、产生两个固定长度的大素数p,q,计算模数n=pq,欧拉函数
Figure FDA00025436104900000113
步骤2.2、生成一对RSA的公私钥对(e,d),满足
Figure FDA00025436104900000114
并且
Figure FDA00025436104900000115
其中e是公钥,d是私钥;
步骤2.3、生成一个随机数d2,计算d1使得等式
Figure FDA00025436104900000116
成立;
步骤2.4、计算第一部分签名密钥
Figure FDA00025436104900000117
第二部分签名密钥
Figure FDA0002543610490000021
其中H(ID)表示身份ID的哈希值;
步骤2.5、生成同态加密算法的一对公私钥对(pk,sk);将
Figure FDA0002543610490000022
发送给第一参与方P1,将
Figure FDA0002543610490000023
发送给第二参与方P2
3.根据权利要求1所述的一种基于身份的两方分布式RSA数字签名生成方法,其特征在于,所述数字签名生成步骤包括:
步骤3.1、P1生成第一个随机数r1,计算第一个临时公钥
Figure FDA0002543610490000024
使用同态加密算法的公钥pk对r1做加密,即第一个密文C1=Encpk(r1);P1把(R1,C1)发送给P2
步骤3.2、P2生成第二个随机数r2,计算第二个临时公钥
Figure FDA0002543610490000025
Figure FDA0002543610490000026
第一部分签名
Figure FDA0002543610490000027
第二个密文
Figure FDA0002543610490000028
Figure FDA0002543610490000029
其中α是身份ID,消息M和R一起做Hash操作得到的值,即α=H(ID,M,R);P2把(R2,C2)发送给P1
Figure FDA00025436104900000210
表示同态加密算法中的同态加运算,⊙表示同态加密算法中的同态乘运算;
步骤3.3、P1使用同态加密算法的私钥做解密,计算明文
Figure FDA00025436104900000211
Figure FDA00025436104900000212
第一部签名
Figure FDA00025436104900000213
和第二部分签名
Figure FDA00025436104900000214
使用签名验证算法验证签名的正确性,若签名正确则输出签名(R,S),否则终止协议。
4.一种基于身份的两方分布式RSA数字签名生成系统,其特征在于,基于以下定义:公私钥对(e,d)、需要签名的两方P1和P2,具体包括:
密钥生成中心:用于生成一对RSA的公私钥对(e,d),以及满足
Figure FDA00025436104900000215
的d1和d2,
Figure FDA00025436104900000216
为欧拉函数,n为模数;由d1和d2计算得到满足
Figure FDA00025436104900000217
的两个部分签名密钥
Figure FDA00025436104900000218
Figure FDA00025436104900000219
其中H(ID)是基于用户身份生成的哈希值;
密钥分发单元:基于同态加密算法生成公私钥对(pk,sk);将
Figure FDA0002543610490000031
发送给一方P1,将
Figure FDA0002543610490000032
发送给另一方P2
数字签名生成单元:P1和P2分别生成一个随机数r1和r2;P1首先计算
Figure FDA0002543610490000033
使用同态加密方法加密r1得到C1,随后发送C1和R1给P2;P2计算
Figure FDA0002543610490000034
返回给P1;同时P2通过同态加密的性质,可以计算出
Figure FDA0002543610490000035
的密文C2,其中α是基于用户身份,消息M以及R生成的哈希值;P2将此密文C2发送给P1;P1解密C2,并利用自己的部分签名密钥
Figure FDA0002543610490000036
计算得到签名
Figure FDA0002543610490000037
Figure FDA0002543610490000038
在签名验证通过之后,P1公布完整的基于身份的RSA数字签名(R,S)。
5.根据权利要求4所述的一种基于身份的两方分布式RSA数字签名生成系统,其特征在于,所述密钥分发单元的具体分发方法包括:
步骤5.1、产生两个固定长度的大素数p,q,计算模数n=pq,欧拉函数
Figure FDA0002543610490000039
步骤5.2、生成一对RSA的公私钥对(e,d),满足
Figure FDA00025436104900000310
并且
Figure FDA00025436104900000311
其中e是公钥,d是私钥;
步骤5.3、生成一个随机数d2,计算d1使得等式
Figure FDA00025436104900000312
成立;
步骤5.4、计算第一部分签名密钥
Figure FDA00025436104900000313
第二部分签名密钥
Figure FDA00025436104900000314
其中H(ID)表示身份ID的哈希值;
步骤2.5、生成同态加密算法的一对公私钥对(pk,sk);将
Figure FDA00025436104900000315
发送给第一参与方P1,将
Figure FDA00025436104900000316
发送给第二参与方P2
6.根据权利要求4所述的一种基于身份的两方分布式RSA数字签名生成系统,其特征在于,所述数字签名生成单元进行数字签名的具体步骤包括:
步骤6.1、P1生成第一个随机数r1,计算第一个临时公钥
Figure FDA00025436104900000317
使用同态加密算法的公钥pk对r1做加密,即第一个密文C1=Encpk(r1);P1把(R1,C1)发送给P2
步骤6.2、P2生成第二个随机数r2,计算第二个临时公钥
Figure FDA0002543610490000041
Figure FDA0002543610490000042
第一部分签名
Figure FDA0002543610490000043
第二个密文
Figure FDA0002543610490000044
Figure FDA0002543610490000045
其中α是身份ID,消息M和R一起做Hash操作得到的值,即α=H(ID,M,R);P2把(R2,C2)发送给P1
Figure FDA0002543610490000046
表示同态加密算法中的同态加运算,⊙表示同态加密算法中的同态乘运算;
步骤6.3、P1使用同态加密算法的私钥做解密,计算明文
Figure FDA0002543610490000047
Figure FDA0002543610490000048
第一部签名
Figure FDA0002543610490000049
和第二部分签名
Figure FDA00025436104900000410
使用签名验证算法验证签名的正确性,若签名正确则输出签名(R,S),否则终止协议。
CN201711042009.9A 2017-10-30 2017-10-30 一种基于身份的rsa数字签名生成方法及系统 Active CN107733648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711042009.9A CN107733648B (zh) 2017-10-30 2017-10-30 一种基于身份的rsa数字签名生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711042009.9A CN107733648B (zh) 2017-10-30 2017-10-30 一种基于身份的rsa数字签名生成方法及系统

Publications (2)

Publication Number Publication Date
CN107733648A CN107733648A (zh) 2018-02-23
CN107733648B true CN107733648B (zh) 2020-08-07

Family

ID=61203343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711042009.9A Active CN107733648B (zh) 2017-10-30 2017-10-30 一种基于身份的rsa数字签名生成方法及系统

Country Status (1)

Country Link
CN (1) CN107733648B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306730B (zh) * 2018-03-05 2020-10-13 飞天诚信科技股份有限公司 一种在嵌入式系统中生成密钥对的实现方法和装置
CN108540290A (zh) * 2018-03-20 2018-09-14 西安电子科技大学 基于点函数混淆器的信息隐藏签名验证方法
CN108667625B (zh) * 2018-07-19 2021-09-24 数安时代科技股份有限公司 协同sm2的数字签名方法
CN109547208B (zh) * 2018-11-16 2021-11-09 交通银行股份有限公司 金融电子设备主密钥在线分发方法及系统
CN111447065B (zh) * 2019-01-16 2021-03-09 中国科学院软件研究所 一种主动安全的sm2数字签名两方生成方法
CN109818730B (zh) * 2019-03-06 2022-09-30 矩阵元技术(深圳)有限公司 盲签名的获取方法、装置和服务器
CN110061828B (zh) * 2019-04-04 2021-05-04 西安电子科技大学 无可信中心的分布式数字签名方法
CN109995509B (zh) * 2019-05-08 2021-07-06 西安电子科技大学 基于消息恢复签名的认证密钥交换方法
CN110390207A (zh) * 2019-06-26 2019-10-29 江苏大学 一种网上购物个人信息隐私保护方法及派送方法
JP2023500570A (ja) * 2019-10-15 2023-01-10 セピア・アンパルツセルスケープ コールドウォレットを用いたデジタルシグニチャ生成
CN111431724B (zh) * 2020-03-27 2023-06-30 微梦创科网络科技(中国)有限公司 数据传输方法、装置及电子设备
CN114520723A (zh) * 2020-11-19 2022-05-20 上海铠射信息科技有限公司 一种新型的手写电子签名可靠性保障方法和装置
CN112769539B (zh) * 2020-12-30 2023-09-22 航天信息股份有限公司 一种生成rsa密钥并协同rsa签名和解密的方法及系统
CN114679281B (zh) * 2022-03-15 2023-12-01 北京宏思电子技术有限责任公司 一种基于rsa的联合签名生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8689300B2 (en) * 2007-01-30 2014-04-01 The Boeing Company Method and system for generating digital fingerprint
CN104113420A (zh) * 2014-07-29 2014-10-22 中国人民武装警察部队工程大学 一种基于身份的可聚合签密方法
CN107124274A (zh) * 2017-05-18 2017-09-01 深圳奥联信息安全技术有限公司 基于sm2的数字签名方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8689300B2 (en) * 2007-01-30 2014-04-01 The Boeing Company Method and system for generating digital fingerprint
CN104113420A (zh) * 2014-07-29 2014-10-22 中国人民武装警察部队工程大学 一种基于身份的可聚合签密方法
CN107124274A (zh) * 2017-05-18 2017-09-01 深圳奥联信息安全技术有限公司 基于sm2的数字签名方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Fast Secure Two-Party ECDSA Signing;Yehuda Lindell;《Annual International Cryptology Conference》;20170729;第1-38页 *

Also Published As

Publication number Publication date
CN107733648A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
WO2021042685A1 (zh) 一种区块链的交易方法、装置及系统
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN108667625B (zh) 协同sm2的数字签名方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN110138567B (zh) 一种基于ecdsa的协同签名方法
CN108667626A (zh) 安全的两方协作sm2签名方法
CN104767612B (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN108667627B (zh) 基于两方协同的sm2数字签名方法
CN107682151B (zh) 一种gost数字签名生成方法及系统
CN110650017B (zh) 无双线性配对多消息多接收者签密方法、物联网通信系统
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN107968710B (zh) Sm9数字签名分离交互生成方法及系统
CN110011803B (zh) 一种轻量级sm2两方协同生成数字签名的方法
EP2792098B1 (en) Group encryption methods and devices
CN106936584B (zh) 一种无证书公钥密码系统的构造方法
CN104767611B (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN113300856B (zh) 一种可证安全的异构混合签密方法
CN111355582A (zh) 基于sm2算法的两方联合签名和解密的方法及系统
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
CN111654366A (zh) 一种安全的pki与ibc之间的双向异构强指定验证者签名方法
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
Shankar et al. Improved Multisignature Scheme for Authenticity of Digital Document in Digital Forensics Using Edward-Curve Digital Signature Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant