CN110061847B - 密钥分布式生成的数字签名方法 - Google Patents
密钥分布式生成的数字签名方法 Download PDFInfo
- Publication number
- CN110061847B CN110061847B CN201910271243.1A CN201910271243A CN110061847B CN 110061847 B CN110061847 B CN 110061847B CN 201910271243 A CN201910271243 A CN 201910271243A CN 110061847 B CN110061847 B CN 110061847B
- Authority
- CN
- China
- Prior art keywords
- signature
- participant
- parameter
- signed
- value
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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/3252—Cryptographic 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 DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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/3255—Cryptographic 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 group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种密钥分布式生成的数字签名方法,用于解决现有数字签名方法效率低的技术问题。技术方案是在密钥生成阶段,t个签名参与者选取自己的子私钥,通过与第一个签名参与者的交互完成私钥的生成。在签名阶段,t个签名参与者依次利用自己持有的子私钥进行分布式签名,然后由第t个签名参与者在同态加密条件下完成签名第二部分的合成,再由第一个签名参与者完成最终的签名合成与验证。本发明利用paillier同态加密算法,每个签名参与者不需要利用零知识证明来保证签名的正确性,最后的签名验证只需要一个椭圆曲线上的点加运算和两个椭圆曲线上的点乘运算,与背景技术t次零知识证明相比,提高了计算效率。
Description
技术领域
本发明涉及一种数字签名方法,特别涉及一种密钥分布式生成的数字签名方法。
背景技术
文献“Goldfeder S,Gennaro R,Kalodner H,et al.Securing Bitcoin walletsvia a new DSA/ECDSA threshold signature scheme.2015.”中提出了一种分布式门限签名方法,该方法利用的主要技术是paillier同态加密算法和零知识证明。该方法中,签名的私钥由t个人掌握,签名过程需要t个人参与完成,因此提高了签名私钥的安全性。然而,这个方法中使用了大量的零知识证明操作,零知识证明需要验证方与被验证方进行多次交互,交互次数的量级越高,被验证方的可信度越高,这是一个耗时操作,因此该方法的效率相对较低。在该方法中,完成一次签名需要进行t次零知识证明,假设进行一次零知识证明需要tz次交互,那么完成所有的零知识证明就需要t·tz次交互,交互的次数太多导致该方法并不适合在真实场景中应用。
发明内容
为了克服现有数字签名方法效率低的不足,本发明提供一种密钥分布式生成的数字签名方法。该方法在密钥生成阶段,t个签名参与者选取自己的子私钥,通过与第一个签名参与者的交互完成私钥的生成。在签名阶段,t个签名参与者依次利用自己持有的子私钥进行分布式签名,然后由第t个签名参与者在同态加密条件下完成签名第二部分的合成,再由第一个签名参与者完成最终的签名合成与验证。本发明利用paillier同态加密算法,每个签名参与者不需要利用零知识证明来保证签名的正确性,只需要由第一个签名参与者对签名进行验证就可以保证最终签名的正确性,最后的签名验证只需要一个椭圆曲线上的点加运算和两个椭圆曲线上的点乘运算,与背景技术t次零知识证明相比,提高了计算效率。
本发明解决其技术问题所采用的技术方案:一种密钥分布式生成的数字签名方法,其特点是包括以下步骤:
步骤一、第一个签名参与者ID1选取自己的子私钥d1∈{1,2,…,n-1},然后计算自己的子私钥d1在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的子私钥d1∈{1,2,…,n-1}并重新计算自己的子私钥d1在模n下是否存在乘法逆元直到找到一个存在乘法逆元的子私钥d1,然后执行下一步骤;
步骤二、按照下式,第一个签名参与者ID1计算自己的子公钥Q1和伪子公钥Q1′,然后将子公钥Q1和伪子公钥Q1′都广播给所有签名参与者:
Q1=d1G
其中,Q1表示第一个签名参与者ID1的子公钥,Q1′表示第一个签名参与者ID1的伪子公钥,G表示椭圆曲线上一个阶为n的基点;
步骤三、接收到第一个签名参与者ID1的子公钥Q1和伪子公钥Q1′后,第i个签名参与者IDi选取自己的子私钥di∈{1,2,…,n-1},然后按照下式,计算自己的伪子公钥Qi′,并将伪子公钥Qi′发送给第一个签名参与者ID1,i=2,3,...,t:
Qi′=diQ1′
其中,IDi表示第i个签名参与者,di表示第i个签名参与者IDi的子私钥,Qi′表示第i个签名参与者IDi的伪子公钥,t为正整数,表示签名参与者IDi的数目;
步骤四、第一个签名参与者ID1在接收到所有签名参与者的伪子公钥Qi′后,按照下式,依次计算每一个签名参与者IDi的子公钥Qi,然后将所有计算出的子公钥Qi公开:
Qi=d1Qi′
其中,Qi表示第i个签名参与者IDi的子公钥;
步骤五、每一个签名参与者IDi接收到第一个签名参与者ID1公开的子公钥Qi后,验证等式
Qi=diG
是否成立,如果每一个签名参与者的验证结果都是成立,则执行下一步骤,如果有任何一个签名参与者的验证结果是不成立,则返回步骤一;
步骤六、按照下式,每一个签名参与者IDi计算签名公钥Q并对签名公钥Q进行公开:
其中,Q表示签名公钥,∑表示求和操作;
步骤七、第一个签名参与者ID1选取自己的秘密值k1∈{1,2,…,n-1},然后计算自己的秘密值k1在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值k1∈{1,2,…,n-1}并重新计算自己的秘密值k1在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值k1,然后执行下一步骤;
步骤八、按照下式,第一个签名参与者ID1计算第一个签名参数中间值R1,并将第一个签名参数中间值R1发送给第二个签名参与者ID2:
R1=k1G
其中,R1表示第一个签名参数中间值,ID2表示第二个签名参与者;
步骤九、第i个签名参与者IDi接收到第i-1个签名参数中间值Ri-1后,选取自己的秘密值ki∈{1,2,…,n-1},然后计算自己的秘密值ki在模n下是否存在乘法逆元ki -1,如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值ki∈{1,2,…,n-1}并重新计算自己的秘密值ki在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值ki,然后执行下一步骤,i=2,3,…,t-1;
步骤十、按照下式,第i个签名参与者IDi计算第i个签名参数中间值Ri,并将第i个签名参数中间值Ri发送给第i+1个签名参与者IDi+1,i=2,3,…,t-1:
Ri=kiRi-1
其中,Ri表示第i个签名参数中间值,Ri-1表示第i-1个签名参数中间值,IDi+1表示第i+1个签名参与者;
步骤十一、第t个签名参与者IDt接收到第t-1个签名参数中间值Rt-1后,选取自己的秘密值kt∈{1,2,…,n-1},然后计算自己的秘密值kt在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值kt∈{1,2,…,n-1}并重新计算自己的秘密值kt在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值kt,然后执行下一步骤;
步骤十二、按照下式,第t个签名参与者IDt计算签名参数R,然后判断签名参数R是否为椭圆曲线上的零点,如果是,则返回步骤六,如果不是,则将签名参数R广播给所有的签名参与者:
R=ktRt-1=(xR,yR)
其中,Rt-1表示第t-1个签名参数中间值,R表示签名参数,xR表示签名参数R的横坐标,yR表示签名参数R的纵坐标;
步骤十三、第i个签名参与者IDi接收到签名参数R后,按照下式,计算第一部分签名r:
r=xRmod n
然后判断r=0是否成立,如果成立,则返回步骤三,如果不成立,则继续执行下一步骤;
其中,r表示第一部分签名,mod表示求模运算;
步骤十四、按照下式,第一个签名参与者ID1计算消息M的哈希值H,然后按照数据类型转换规则,将H转换为一个整数e:
H=hash(M)
其中,M表示消息,H表示消息M的哈希值,hash表示一个密码哈希算法,e表示哈希值H转换后的整数值;
步骤十五、第一个签名参与者ID1选择paillier同态加密算法的私钥sk和公钥pk,将私钥sk秘密保存,并将公钥pk公开;
其中,paillier表示同态加密算法,sk表示paillier同态加密算法的私钥,用来做解密运算,pk表示paillier同态加密算法的公钥,用来做加密运算;
步骤十六、按照下式,第一个签名参与者ID1计算第一个签名生成参数第一部分α1和第一个签名生成参数第二部分β1,然后将第一个签名生成参数第一部分α1和第一个签名生成参数第二部分β1发送给第二个签名参与者ID2:
β1=Epk(rd1mod n)
其中,α1表示第一个签名生成参数第一部分,β1表示第一个签名生成参数第二部分,Epk(.)表示paillier同态加密算法的加密运算;
步骤十七、第i个签名参与者IDi接收到第i-1个签名生成参数第一部分αi-1和第i-1个签名生成参数第二部分βi-1后,按照下式,计算第i个签名生成参数第一部分αi和第i个签名生成参数第二部分βi,然后将第i个签名生成参数第一部分αi和第i个签名生成参数第二部分βi发送给第i+1个签名参与者IDi+1,i=2,3,…,t-1:
βi=Epk(rdimodn)+Eβi-1
其中,αi表示第i个签名生成参数第一部分,βi表示第i个签名生成参数第二部分,αi-1表示第i-1个签名生成参数第一部分,βi-1表示第i-1个签名生成参数第二部分,×E表示paillier同态加密算法下的乘法同态运算,+E表示paillier同态加密算法下的加法同态运算;
步骤十八、第t个签名参与者IDt接收到第t-1个签名生成参数第一部分αt-1和第t-1个签名生成参数第二部分βt-1后,按照下式,计算第t个签名生成参数第一部分αt和第t个签名生成参数第二部分βt:
βt=Epk(rdtmod n)+Eβt-1
其中,αt表示第t个签名生成参数第一部分,βt表示第t个签名生成参数第二部分,αt-1表示第t-1个签名生成参数第一部分,βt-1表示第t-1个签名生成参数第二部分,dt表示第t个签名参与者IDt的子私钥;
步骤十九、第t个签名参与者IDt选取秘密混淆值ρ∈{1,2,…,n-1},然后计算秘密混淆值ρ在模n下是否存在乘法逆元ρ-1,如果存在,则执行下一步骤,如果不存在,则重新选取秘密混淆值ρ∈{1,2,…,n-1}并重新计算秘密混淆值ρ在模n下是否存在乘法逆元ρ-1,直到找到一个存在乘法逆元ρ-1的秘密混淆值ρ,然后执行下一步骤;
其中,ρ表示秘密混淆值,ρ-1表示秘密混淆值ρ在模n下的乘法逆元;
步骤二十、按照下式,第t个签名参与者IDt计算第t+1个签名生成参数第二部分βt+1,然后将第t+1个签名生成参数第二部分βt+1发送给第t-1个签名参与者IDt-1:
其中,βt+1表示第t+1个签名生成参数第二部分,IDt-1表示第t-1个签名参与者;
步骤二十一、按照下式,第i个签名参与者IDi计算第2t-i+1个签名生成参数第二部分β2t-i+1,然后将第2t-i+1个签名生成参数第二部分β2t-i+1发送给第i-1个签名参与者IDi-1,i=t-1,t-2,…,2:
其中,β2t-i+1表示第2t-i+1个签名生成参数第二部分,β2t-i表示第2t-i个签名生成参数第二部分;
步骤二十二、按照下式,第一个签名参与者ID1计算第2t个签名生成参数第二部分β2t,然后将第2t个签名生成参数第二部分β2t发送给第t个签名参与者IDt:
其中,β2t表示第2t个签名生成参数第二部分,β2t-1表示第2t-1个签名生成参数第二部分;
步骤二十三、按照下式,第t个签名参与者IDt计算第2t+1个签名生成参数第二部分β2t+1:
β2t+1=β2t×Eρ-1
其中,β2t+1表示第2t+1个签名生成参数第二部分;
步骤二十四、按照下式,第t个签名参与者IDt计算第二部分签名s在paillier同态加密下的密文C,然后将第二部分签名s在paillier同态加密下的密文C发送给第一个签名参与者ID1:
C=αt+Eβ2t+1
其中,s表示第二部分签名,C表示第二部分签名s在paillier同态加密下的密文;
步骤二十五、按照下式,第一个签名参与者ID1计算第二部分签名s:
s=Dsk(C)mod n
其中,Dsk(.)表示paillier同态加密算法的解密运算;
步骤二十六、按照下式,第一个签名参与者ID1计算签名验证参数R′,R′=(xR′,yR′):
R′=s-1(eG+rQ)
其中,R′表示签名验证参数,xR′表示签名验证参数R′的横坐标,yR′表示签名验证参数R′的纵坐标,s-1表示第二部分签名s在模n下的乘法逆元;
步骤二十七、按照下式,第一个签名参与者ID1计算第一部分签名的验证参数r′,然后判断等式r′=r是否成立,如果成立,则执行下一步骤,如果不成立,则签名失败,返回步骤六:
r′≡xR′mod n
其中,r′表示第一部分签名的验证参数,≡表示同余符号;
步骤二十八、第一个签名参与者ID1提取签名(r,s),然后将签名(r,s)广播给所有签名参与者;
其中,(r,s)表示最终生成的签名。
本发明的有益效果是:该方法在密钥生成阶段,t个签名参与者选取自己的子私钥,通过与第一个签名参与者的交互完成私钥的生成。在签名阶段,t个签名参与者依次利用自己持有的子私钥进行分布式签名,然后由第t个签名参与者在同态加密条件下完成签名第二部分的合成,再由第一个签名参与者完成最终的签名合成与验证。本发明利用paillier同态加密算法,每个签名参与者不需要利用零知识证明来保证签名的正确性,只需要由第一个签名参与者对签名进行验证就可以保证最终签名的正确性,最后的签名验证只需要一个椭圆曲线上的点加运算和两个椭圆曲线上的点乘运算,与背景技术t次零知识证明相比,提高了计算效率。
另外,本发明实现了私钥的分布式生成与存储,私钥的生成不需要可信中心,私钥的安全性较高。
本发明实现了由t个人分布式生成签名的功能,在签名时不需要显式地合成私钥,避免了私钥泄露所带来的风险。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是本发明密钥分布式生成的数字签名方法的流程图。
具体实施方式
名词解释:
T:椭圆曲线secp256k1的参数;
p:生成有限域Fp的大素数,其值为FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F=2256-232-29-28-27-26-24-1;
a,b:椭圆方程的参数,a=0,b=7;
G:椭圆曲线上一个阶为n的基点,其值为0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8;
n:椭圆曲线基点G的阶,其值为FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141;
h:余因数,控制选取点的密度,其值为01;
ID1:第一个签名参与者;
ID2:第二个签名参与者;
IDi:第i个签名参与者;
IDi+1:第i+1个签名参与者;
IDt:第t个签名参与者;
IDt-1:第t-1个签名参与者;
t:正整数,表示签名参与者IDi的数目;
d1:第一个签名参与者ID1的子私钥;
di:第i个签名参与者IDi的子私钥;
dt:第t个签名参与者IDt的子私钥;
Q1:第一个签名参与者ID1的子公钥;
Q1′:表示第一个签名参与者ID1的伪子公钥;
Qi:第i个签名参与者IDi的子公钥;
Qi′:第i个签名参与者IDi的伪子公钥;
Q:签名公钥;
k1:第一个签名参与者ID1的秘密值;
ki:第i个签名参与者IDi的秘密值;
kt:第t个签名参与者IDt的秘密值;
R1:第一个签名参数中间值;
Ri:第i个签名参数中间值;
Ri-1:第i-1个签名参数中间值;
Rt-1:第t-1个签名参数中间值;
R:签名参数;
xR:签名参数R的横坐标;
yR:签名参数R的纵坐标;
r:第一部分签名;
mod:求模运算,例如7mod4=3;
M:消息;
H:消息M的哈希值;
hash:密码哈希算法;
e:哈希值H转换后的整数值;
paillier:同态加密算法;
sk:paillier同态加密算法的私钥;
pk:paillier同态加密算法的公钥;
Epk(.):paillier同态加密算法的加密运算;
Dsk(.):paillier同态加密算法的解密运算;
×E:paillier同态加密算法下的乘法同态运算;
+E:paillier同态加密算法下的加法同态运算;
α1:第一个签名生成参数第一部分;
αi:第i个签名生成参数第一部分;
αi-1:第i-1个签名生成参数第一部分;
αt-1:第t-1个签名生成参数第一部分;
αt:第t个签名生成参数第一部分;
β1:第一个签名生成参数第二部分;
βi:第i个签名生成参数第二部分;
βi-1:第i-1个签名生成参数第二部分;
βt-1:第t-1个签名生成参数第二部分;
βt:第t个签名生成参数第二部分;
βt+1:第t+1个签名生成参数第二部分;
β2t-i+1:第2t-i+1个签名生成参数第二部分;
β2t-i:第2t-i个签名生成参数第二部分;
β2t:第2t个签名生成参数第二部分;
β2t-1:第2t-1个签名生成参数第二部分;
β2t+1:第2t+1个签名生成参数第二部分;
ρ:秘密混淆值;
ρ-1:秘密混淆值ρ在模n下的乘法逆元;
s:第二部分签名;
s-1:第二部分签名s在模n下的乘法逆元;
C:第二部分签名s在paillier同态加密下的密文;
R′:签名验证参数;
xR′:签名验证参数R′的横坐标;
yR′:签名验证参数R′的纵坐标;
r′:第一部分签名的验证参数;
≡:同余符号;
(r,s):最终生成的签名。
参照图1。本发明密钥分布式生成的数字签名方法具体步骤如下:
确定***参数:这是具体实施之前的准备工作。
选取椭圆曲线secp256k1,确定参数T=(p,a,b,G,n,h),其中,T表示椭圆曲线secp256k1的参数,p表示生成有限域Fp的大素数,p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F=2256-232-29-28-27-26-24-1,a,b表示椭圆方程的参数,a=0,b=7,G表示椭圆曲线上一个阶为n的基点,G=0479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8,n表示椭圆曲线基点G的阶,n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141,h表示余因数,控制选取点的密度,h=01。
步骤一、第一个签名参与者ID1选取自己的子私钥d1∈{1,2,…,n-1},然后计算自己的子私钥d1在模n下是否存在乘法逆元d1 -1,如果存在,则执行下一步骤,如果不存在,则重新选取自己的子私钥d1∈{1,2,…,n-1}并重新计算自己的子私钥d1在模n下是否存在乘法逆元直到找到一个存在乘法逆元的子私钥d1,然后执行下一步骤;
步骤二、按照下式,第一个签名参与者ID1计算自己的子公钥Q1和伪子公钥Q1′,然后将子公钥Q1和伪子公钥Q1′都广播给所有签名参与者:
Q1=d1G
其中,Q1表示第一个签名参与者ID1的子公钥,Q1′表示第一个签名参与者ID1的伪子公钥,G表示椭圆曲线上一个阶为n的基点;
步骤三、接收到第一个签名参与者ID1的子公钥Q1和伪子公钥Q1′后,第i个签名参与者IDi选取自己的子私钥di∈{1,2,…,n-1},然后按照下式,计算自己的伪子公钥Qi′,并将伪子公钥Qi′发送给第一个签名参与者ID1,i=2,3,...,t:
Qi′=diQ1′
其中,IDi表示第i个签名参与者,di表示第i个签名参与者IDi的子私钥,Qi′表示第i个签名参与者IDi的伪子公钥,t为正整数,表示签名参与者IDi的数目;
步骤四、第一个签名参与者ID1在接收到所有签名参与者的伪子公钥Qi′后,按照下式,依次计算每一个签名参与者IDi的子公钥Qi,然后将所有计算出的子公钥Qi公开:
Qi=d1Qi′
其中,Qi表示第i个签名参与者IDi的子公钥;
步骤五、每一个签名参与者IDi接收到第一个签名参与者ID1公开的子公钥Qi后,验证等式
Qi=diG
是否成立,如果每一个签名参与者的验证结果都是成立,则执行下一步骤,如果有任何一个签名参与者的验证结果是不成立,则返回步骤一;
步骤六、按照下式,每一个签名参与者IDi计算签名公钥Q并对签名公钥Q进行公开:
其中,Q表示签名公钥,∑表示求和操作;
步骤七、第一个签名参与者ID1选取自己的秘密值k1∈{1,2,…,n-1},然后计算自己的秘密值k1在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值k1∈{1,2,…,n-1}并重新计算自己的秘密值k1在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值k1,然后执行下一步骤;
步骤八、按照下式,第一个签名参与者ID1计算第一个签名参数中间值R1,并将第一个签名参数中间值R1发送给第二个签名参与者ID2:
R1=k1G
其中,R1表示第一个签名参数中间值,ID2表示第二个签名参与者;
步骤九、第i个签名参与者IDi接收到第i-1个签名参数中间值Ri-1后,选取自己的秘密值ki∈{1,2,…,n-1},然后计算自己的秘密值ki在模n下是否存在乘法逆元ki -1,如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值ki∈{1,2,…,n-1}并重新计算自己的秘密值ki在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值ki,然后执行下一步骤,i=2,3,…,t-1;
步骤十、按照下式,第i个签名参与者IDi计算第i个签名参数中间值Ri,并将第i个签名参数中间值Ri发送给第i+1个签名参与者IDi+1,i=2,3,…,t-1:
Ri=kiRi-1
其中,Ri表示第i个签名参数中间值,Ri-1表示第i-1个签名参数中间值,IDi+1表示第i+1个签名参与者;
步骤十一、第t个签名参与者IDt接收到第t-1个签名参数中间值Rt-1后,选取自己的秘密值kt∈{1,2,…,n-1},然后计算自己的秘密值kt在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值kt∈{1,2,…,n-1}并重新计算自己的秘密值kt在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值kt,然后执行下一步骤;
步骤十二、按照下式,第t个签名参与者IDt计算签名参数R,然后判断签名参数R是否为椭圆曲线上的零点,如果是,则返回步骤六,如果不是,则将签名参数R广播给所有的签名参与者:
R=ktRt-1=(xR,yR)
其中,Rt-1表示第t-1个签名参数中间值,R表示签名参数,xR表示签名参数R的横坐标,yR表示签名参数R的纵坐标;
步骤十三、第i个签名参与者IDi接收到签名参数R后,按照下式,计算第一部分签名r:
r=xRmod n
然后判断r=0是否成立,如果成立,则返回步骤三,如果不成立,则继续执行下一步骤;
其中,r表示第一部分签名,mod表示求模运算;
步骤十四、按照下式,第一个签名参与者ID1计算消息M的哈希值H,然后按照数据类型转换规则,将H转换为一个整数e:
H=hash(M)
其中,M表示消息,H表示消息M的哈希值,hash表示一个密码哈希算法,e表示哈希值H转换后的整数值;
步骤十五、第一个签名参与者ID1选择paillier同态加密算法的私钥sk和公钥pk,将私钥sk秘密保存,并将公钥pk公开;
其中,paillier表示同态加密算法,sk表示paillier同态加密算法的私钥,用来做解密运算,pk表示paillier同态加密算法的公钥,用来做加密运算;
步骤十六、按照下式,第一个签名参与者ID1计算第一个签名生成参数第一部分α1和第一个签名生成参数第二部分β1,然后将第一个签名生成参数第一部分α1和第一个签名生成参数第二部分β1发送给第二个签名参与者ID2:
β1=Epk(rd1mod n)
其中,α1表示第一个签名生成参数第一部分,β1表示第一个签名生成参数第二部分,Epk(.)表示paillier同态加密算法的加密运算;
步骤十七、第i个签名参与者IDi接收到第i-1个签名生成参数第一部分αi-1和第i-1个签名生成参数第二部分βi-1后,按照下式,计算第i个签名生成参数第一部分αi和第i个签名生成参数第二部分βi,然后将第i个签名生成参数第一部分αi和第i个签名生成参数第二部分βi发送给第i+1个签名参与者IDi+1,i=2,3,…,t-1:
βi=Epk(rdimod n)+Eβi-1
其中,αi表示第i个签名生成参数第一部分,βi表示第i个签名生成参数第二部分,αi-1表示第i-1个签名生成参数第一部分,βi-1表示第i-1个签名生成参数第二部分,×E表示paillier同态加密算法下的乘法同态运算,+E表示paillier同态加密算法下的加法同态运算;
步骤十八、第t个签名参与者IDt接收到第t-1个签名生成参数第一部分αt-1和第t-1个签名生成参数第二部分βt-1后,按照下式,计算第t个签名生成参数第一部分αt和第t个签名生成参数第二部分βt:
βt=Epk(rdtmod n)+Eβt-1
其中,αt表示第t个签名生成参数第一部分,βt表示第t个签名生成参数第二部分,αt-1表示第t-1个签名生成参数第一部分,βt-1表示第t-1个签名生成参数第二部分,dt表示第t个签名参与者IDt的子私钥;
步骤十九、第t个签名参与者IDt选取秘密混淆值ρ∈{1,2,…,n-1},然后计算秘密混淆值ρ在模n下是否存在乘法逆元ρ-1,如果存在,则执行下一步骤,如果不存在,则重新选取秘密混淆值ρ∈{1,2,…,n-1}并重新计算秘密混淆值ρ在模n下是否存在乘法逆元ρ-1,直到找到一个存在乘法逆元ρ-1的秘密混淆值ρ,然后执行下一步骤;
其中,ρ表示秘密混淆值,ρ-1表示秘密混淆值ρ在模n下的乘法逆元;
步骤二十、按照下式,第t个签名参与者IDt计算第t+1个签名生成参数第二部分βt+1,然后将第t+1个签名生成参数第二部分βt+1发送给第t-1个签名参与者IDt-1:
其中,βt+1表示第t+1个签名生成参数第二部分,IDt-1表示第t-1个签名参与者;
步骤二十一、按照下式,第i个签名参与者IDi计算第2t-i+1个签名生成参数第二部分β2t-i+1,然后将第2t-i+1个签名生成参数第二部分β2t-i+1发送给第i-1个签名参与者IDi-1,i=t-1,t-2,…,2:
其中,β2t-i+1表示第2t-i+1个签名生成参数第二部分,β2t-i表示第2t-i个签名生成参数第二部分;
步骤二十二、按照下式,第一个签名参与者ID1计算第2t个签名生成参数第二部分β2t,然后将第2t个签名生成参数第二部分β2t发送给第t个签名参与者IDt:
其中,β2t表示第2t个签名生成参数第二部分,β2t-1表示第2t-1个签名生成参数第二部分;
步骤二十三、按照下式,第t个签名参与者IDt计算第2t+1个签名生成参数第二部分β2t+1:
β2t+1=β2t×Eρ-1
其中,β2t+1表示第2t+1个签名生成参数第二部分;
步骤二十四、按照下式,第t个签名参与者IDt计算第二部分签名s在paillier同态加密下的密文C,然后将第二部分签名s在paillier同态加密下的密文C发送给第一个签名参与者ID1:
C=αt+Eβ2t+1
其中,s表示第二部分签名,C表示第二部分签名s在paillier同态加密下的密文;
步骤二十五、按照下式,第一个签名参与者ID1计算第二部分签名s:
s=Dsk(C)mod n
其中,Dsk(.)表示paillier同态加密算法的解密运算;
步骤二十六、按照下式,第一个签名参与者ID1计算签名验证参数R′,R′=(xR′,yR′):
R′=s-1(eG+rQ)
其中,R′表示签名验证参数,xR′表示签名验证参数R′的横坐标,yR′表示签名验证参数R′的纵坐标,s-1表示第二部分签名s在模n下的乘法逆元;
步骤二十七、按照下式,第一个签名参与者ID1计算第一部分签名的验证参数r′,然后判断等式r′=r是否成立,如果成立,则执行下一步骤,如果不成立,则签名失败,返回步骤六:
r′≡xR′mod n
其中,r′表示第一部分签名的验证参数,≡表示同余符号;
步骤二十八、第一个签名参与者ID1提取签名(r,s),然后将签名(r,s)广播给所有签名参与者;
其中,(r,s)表示最终生成的签名。
Claims (1)
1.一种密钥分布式生成的数字签名方法,其特征在于包括以下步骤:
步骤一、第一个签名参与者ID1选取自己的子私钥d1∈{1,2,…,n-1},然后计算自己的子私钥d1在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的子私钥d1∈{1,2,…,n-1}并重新计算自己的子私钥d1在模n下是否存在乘法逆元直到找到一个存在乘法逆元的子私钥d1,然后执行下一步骤;
步骤二、按照下式,第一个签名参与者ID1计算自己的子公钥Q1和伪子公钥Q1′,然后将子公钥Q1和伪子公钥Q1′都广播给所有签名参与者:
Q1=d1G
其中,Q1表示第一个签名参与者ID1的子公钥,Q1′表示第一个签名参与者ID1的伪子公钥,G表示椭圆曲线上一个阶为n的基点;
步骤三、接收到第一个签名参与者ID1的子公钥Q1和伪子公钥Q1′后,第i个签名参与者IDi选取自己的子私钥di∈{1,2,…,n-1},然后按照下式,计算自己的伪子公钥Qi′,并将伪子公钥Qi′发送给第一个签名参与者ID1,i=2,3,...,t:
Qi′=diQ1′
其中,IDi表示第i个签名参与者,di表示第i个签名参与者IDi的子私钥,Qi′表示第i个签名参与者IDi的伪子公钥,t为正整数,表示签名参与者IDi的数目;
步骤四、第一个签名参与者ID1在接收到所有签名参与者的伪子公钥Qi′后,按照下式,依次计算每一个签名参与者IDi的子公钥Qi,然后将所有计算出的子公钥Qi公开:
Qi=d1Qi′
其中,Qi表示第i个签名参与者IDi的子公钥;
步骤五、每一个签名参与者IDi接收到第一个签名参与者ID1公开的子公钥Qi后,验证等式
Qi=diG
是否成立,如果每一个签名参与者的验证结果都是成立,则执行下一步骤,如果有任何一个签名参与者的验证结果是不成立,则返回步骤一;
步骤六、按照下式,每一个签名参与者IDi计算签名公钥Q并对签名公钥Q进行公开:
其中,Q表示签名公钥,∑表示求和操作;
步骤七、第一个签名参与者ID1选取自己的秘密值k1∈{1,2,…,n-1},然后计算自己的秘密值k1在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值k1∈{1,2,…,n-1}并重新计算自己的秘密值k1在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值k1,然后执行下一步骤;
步骤八、按照下式,第一个签名参与者ID1计算第一个签名参数中间值R1,并将第一个签名参数中间值R1发送给第二个签名参与者ID2:
R1=k1G
其中,R1表示第一个签名参数中间值,ID2表示第二个签名参与者;
步骤九、第i个签名参与者IDi接收到第i-1个签名参数中间值Ri-1后,选取自己的秘密值ki∈{1,2,…,n-1},然后计算自己的秘密值ki在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值ki∈{1,2,…,n-1}并重新计算自己的秘密值ki在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值ki,然后执行下一步骤,i=2,3,…,t-1;
步骤十、按照下式,第i个签名参与者IDi计算第i个签名参数中间值Ri,并将第i个签名参数中间值Ri发送给第i+1个签名参与者IDi+1,i=2,3,…,t-1:
Ri=kiRi-1
其中,Ri表示第i个签名参数中间值,Ri-1表示第i-1个签名参数中间值,IDi+1表示第i+1个签名参与者;
步骤十一、第t个签名参与者IDt接收到第t-1个签名参数中间值Rt-1后,选取自己的秘密值kt∈{1,2,…,n-1},然后计算自己的秘密值kt在模n下是否存在乘法逆元如果存在,则执行下一步骤,如果不存在,则重新选取自己的秘密值kt∈{1,2,…,n-1}并重新计算自己的秘密值kt在模n下是否存在乘法逆元直到找到一个存在乘法逆元的秘密值kt,然后执行下一步骤;
步骤十二、按照下式,第t个签名参与者IDt计算签名参数R,然后判断签名参数R是否为椭圆曲线上的零点,如果是,则返回步骤六,如果不是,则将签名参数R广播给所有的签名参与者:
R=ktRt-1=(xR,yR)
其中,Rt-1表示第t-1个签名参数中间值,R表示签名参数,xR表示签名参数R的横坐标,yR表示签名参数R的纵坐标;
步骤十三、第i个签名参与者IDi接收到签名参数R后,按照下式,计算第一部分签名r:
r=xRmodn
然后判断r=0是否成立,如果成立,则返回步骤三,如果不成立,则继续执行下一步骤;
其中,r表示第一部分签名,mod表示求模运算;
步骤十四、按照下式,第一个签名参与者ID1计算消息M的哈希值H,然后按照数据类型转换规则,将H转换为一个整数e:
H=hash(M)
其中,M表示消息,H表示消息M的哈希值,hash表示一个密码哈希算法,e表示哈希值H转换后的整数值;
步骤十五、第一个签名参与者ID1选择paillier同态加密算法的私钥sk和公钥pk,将私钥sk秘密保存,并将公钥pk公开;
其中,paillier表示同态加密算法,sk表示paillier同态加密算法的私钥,用来做解密运算,pk表示paillier同态加密算法的公钥,用来做加密运算;
步骤十六、按照下式,第一个签名参与者ID1计算第一个签名生成参数第一部分α1和第一个签名生成参数第二部分β1,然后将第一个签名生成参数第一部分α1和第一个签名生成参数第二部分β1发送给第二个签名参与者ID2:
β1=Epk(rd1modn)
其中,α1表示第一个签名生成参数第一部分,β1表示第一个签名生成参数第二部分,Epk(.)表示paillier同态加密算法的加密运算;
步骤十七、第i个签名参与者IDi接收到第i-1个签名生成参数第一部分αi-1和第i-1个签名生成参数第二部分βi-1后,按照下式,计算第i个签名生成参数第一部分αi和第i个签名生成参数第二部分βi,然后将第i个签名生成参数第一部分αi和第i个签名生成参数第二部分βi发送给第i+1个签名参与者IDi+1,i=2,3,…,t-1:
βi=Epk(rdimodn)+Eβi-1
其中,αi表示第i个签名生成参数第一部分,βi表示第i个签名生成参数第二部分,αi-1表示第i-1个签名生成参数第一部分,βi-1表示第i-1个签名生成参数第二部分,×E表示paillier同态加密算法下的乘法同态运算,+E表示paillier同态加密算法下的加法同态运算;
步骤十八、第t个签名参与者IDt接收到第t-1个签名生成参数第一部分αt-1和第t-1个签名生成参数第二部分βt-1后,按照下式,计算第t个签名生成参数第一部分αt和第t个签名生成参数第二部分βt:
βt=Epk(rdtmodn)+Eβt-1
其中,αt表示第t个签名生成参数第一部分,βt表示第t个签名生成参数第二部分,αt-1表示第t-1个签名生成参数第一部分,βt-1表示第t-1个签名生成参数第二部分,dt表示第t个签名参与者IDt的子私钥;
步骤十九、第t个签名参与者IDt选取秘密混淆值ρ∈{1,2,…,n-1},然后计算秘密混淆值ρ在模n下是否存在乘法逆元ρ-1,如果存在,则执行下一步骤,如果不存在,则重新选取秘密混淆值ρ∈{1,2,…,n-1}并重新计算秘密混淆值ρ在模n下是否存在乘法逆元ρ-1,直到找到一个存在乘法逆元ρ-1的秘密混淆值ρ,然后执行下一步骤;
其中,ρ表示秘密混淆值,ρ-1表示秘密混淆值ρ在模n下的乘法逆元;
步骤二十、按照下式,第t个签名参与者IDt计算第t+1个签名生成参数第二部分βt+1,然后将第t+1个签名生成参数第二部分βt+1发送给第t-1个签名参与者IDt-1:
其中,βt+1表示第t+1个签名生成参数第二部分,IDt-1表示第t-1个签名参与者;
步骤二十一、按照下式,第i个签名参与者IDi计算第2t-i+1个签名生成参数第二部分β2t-i+1,然后将第2t-i+1个签名生成参数第二部分β2t-i+1发送给第i-1个签名参与者IDi-1,i=t-1,t-2,…,2:
其中,β2t-i+1表示第2t-i+1个签名生成参数第二部分,β2t-i表示第2t-i个签名生成参数第二部分;
步骤二十二、按照下式,第一个签名参与者ID1计算第2t个签名生成参数第二部分β2t,然后将第2t个签名生成参数第二部分β2t发送给第t个签名参与者IDt:
其中,β2t表示第2t个签名生成参数第二部分,β2t-1表示第2t-1个签名生成参数第二部分;
步骤二十三、按照下式,第t个签名参与者IDt计算第2t+1个签名生成参数第二部分β2t+1:
β2t+1=β2t×Eρ-1
其中,β2t+1表示第2t+1个签名生成参数第二部分;
步骤二十四、按照下式,第t个签名参与者IDt计算第二部分签名s在paillier同态加密下的密文C,然后将第二部分签名s在paillier同态加密下的密文C发送给第一个签名参与者ID1:
C=αt+Eβ2t+1
其中,s表示第二部分签名,C表示第二部分签名s在paillier同态加密下的密文;
步骤二十五、按照下式,第一个签名参与者ID1计算第二部分签名s:
s=Dsk(C)modn
其中,Dsk(.)表示paillier同态加密算法的解密运算;
步骤二十六、按照下式,第一个签名参与者ID1计算签名验证参数R′,R′=(xR′,yR′):
R′=s-1(eG+rQ)
其中,R′表示签名验证参数,xR′表示签名验证参数R′的横坐标,yR′表示签名验证参数R′的纵坐标,s-1表示第二部分签名s在模n下的乘法逆元;
步骤二十七、按照下式,第一个签名参与者ID1计算第一部分签名的验证参数r′,然后判断等式r′=r是否成立,如果成立,则执行下一步骤,如果不成立,则签名失败,返回步骤六:
r′=xR′modn
其中,r′表示第一部分签名的验证参数;
步骤二十八、第一个签名参与者ID1提取签名(r,s),然后将签名(r,s)广播给所有签名参与者;
其中,(r,s)表示最终生成的签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271243.1A CN110061847B (zh) | 2019-04-04 | 2019-04-04 | 密钥分布式生成的数字签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910271243.1A CN110061847B (zh) | 2019-04-04 | 2019-04-04 | 密钥分布式生成的数字签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110061847A CN110061847A (zh) | 2019-07-26 |
CN110061847B true CN110061847B (zh) | 2021-05-04 |
Family
ID=67318328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910271243.1A Active CN110061847B (zh) | 2019-04-04 | 2019-04-04 | 密钥分布式生成的数字签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110061847B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338028A (zh) * | 2020-09-28 | 2022-04-12 | 华为技术有限公司 | 门限签名方法、装置、电子设备和可读存储介质 |
CN112100644B (zh) * | 2020-11-19 | 2021-03-16 | 飞天诚信科技股份有限公司 | 一种生成数据签名的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2676452A1 (en) * | 2011-02-15 | 2013-12-25 | P2S Media Group OY | Quarantine method for sellable virtual goods |
CN107707358A (zh) * | 2017-10-30 | 2018-02-16 | 武汉大学 | 一种ec‑kcdsa数字签名生成方法及*** |
CN108173639A (zh) * | 2018-01-22 | 2018-06-15 | 中国科学院数据与通信保护研究教育中心 | 一种基于sm9签名算法的两方合作签名方法 |
CN109064170A (zh) * | 2018-07-23 | 2018-12-21 | 西安电子科技大学 | 无可信中心的群签名方法 |
-
2019
- 2019-04-04 CN CN201910271243.1A patent/CN110061847B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2676452A1 (en) * | 2011-02-15 | 2013-12-25 | P2S Media Group OY | Quarantine method for sellable virtual goods |
CN107707358A (zh) * | 2017-10-30 | 2018-02-16 | 武汉大学 | 一种ec‑kcdsa数字签名生成方法及*** |
CN108173639A (zh) * | 2018-01-22 | 2018-06-15 | 中国科学院数据与通信保护研究教育中心 | 一种基于sm9签名算法的两方合作签名方法 |
CN109064170A (zh) * | 2018-07-23 | 2018-12-21 | 西安电子科技大学 | 无可信中心的群签名方法 |
Non-Patent Citations (1)
Title |
---|
《比特币的匿名性和密钥管理研究》;陈思;《中国优秀硕士学位论文全文数据库》;20180415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110061847A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110061828B (zh) | 无可信中心的分布式数字签名方法 | |
CN107634836B (zh) | 一种sm2数字签名生成方法及*** | |
Micciancio et al. | Lattice-based cryptography | |
Blazy et al. | (Hierarchical) identity-based encryption from affine message authentication | |
CN107707358B (zh) | 一种ec-kcdsa数字签名生成方法及*** | |
Coron et al. | Universal padding schemes for RSA | |
CN1870499B (zh) | 产生新的多变量公钥密码***的方法 | |
US8452975B2 (en) | Signature and verification method, signature generation device, and signature verification device | |
CN112564907B (zh) | 密钥生成方法及装置、加密方法及装置、解密方法及装置 | |
CN110061847B (zh) | 密钥分布式生成的数字签名方法 | |
CN114157427A (zh) | 基于sm2数字签名的门限签名方法 | |
CN110855425A (zh) | 一种轻量级多方协同sm9密钥生成、密文解密方法与介质 | |
CN113972981B (zh) | 一种基于sm2密码算法的高效门限签名方法 | |
CN112118111A (zh) | 一种适用于门限计算的sm2数字签名方法 | |
CN109064170B (zh) | 无可信中心的群签名方法 | |
CN111901123B (zh) | 一种sm2签名的生成方法、存储介质和终端 | |
CN110798313B (zh) | 基于秘密动态共享的包含秘密的数的协同生成方法及*** | |
Dachman-Soled | A black-box construction of a CCA2 encryption scheme from a plaintext aware (sPA1) encryption scheme | |
CN116865970A (zh) | 基于国密算法的多方协同密钥产生和数字签名方法及*** | |
CN111092720A (zh) | 能抵抗主密钥和解密密钥泄漏的基于证书加密方法 | |
CN115473633A (zh) | 一种多方协同产生sm2数字签名的方法及装置 | |
Kumar et al. | Digital color-image encryption scheme based on elliptic curve cryptography ElGamal encryption and 3D Lorenz map | |
Lau et al. | Rank preserving code-based signature | |
CN113347009B (zh) | 基于椭圆曲线密码体制的无证书门限签密方法 | |
CN117955635B (zh) | 基于联盟链验证节点分组的交易验证方法 |
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 |