CN110138567B - 一种基于ecdsa的协同签名方法 - Google Patents

一种基于ecdsa的协同签名方法 Download PDF

Info

Publication number
CN110138567B
CN110138567B CN201910428430.6A CN201910428430A CN110138567B CN 110138567 B CN110138567 B CN 110138567B CN 201910428430 A CN201910428430 A CN 201910428430A CN 110138567 B CN110138567 B CN 110138567B
Authority
CN
China
Prior art keywords
signature
ecdsa
ptk
server
user
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
CN201910428430.6A
Other languages
English (en)
Other versions
CN110138567A (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.)
Guangzhou Anyan Information Technology Co ltd
Original Assignee
Guangzhou Anyan Information Technology Co ltd
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 Guangzhou Anyan Information Technology Co ltd filed Critical Guangzhou Anyan Information Technology Co ltd
Priority to CN201910428430.6A priority Critical patent/CN110138567B/zh
Publication of CN110138567A publication Critical patent/CN110138567A/zh
Application granted granted Critical
Publication of CN110138567B publication Critical patent/CN110138567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于ECDSA的协同签名方法,其主要特色在于每一次协同签名都会更新通信双方的部分私钥,做到了高安全的一次一密。具体地说,第一通信方用自身的加法同态加密方案加密自身的ECDSA签名部分私钥并把它存储于第二通信方,第二通信方存储自身的部分私钥;通信双方均无法获得对方的部分私钥信息,只有两方联合才能对消息进行签名;签名完成后,第二通信方更新双方的部分私钥。而且,该协同签名方法仅需一次通信交互和少量的计算,从而保证了协同签名的高效可用性。因此,本发明以一种高效率、高安全的方式保护了ECDSA签名私钥的安全性。

Description

一种基于ECDSA的协同签名方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于ECDSA的协同签名方法。
背景技术
数字签名算法(DSA)由签名者对数据产生数字签名,由验证者验证签名的可靠性。每个签名者拥有一对密钥对,包含一个公钥和一个私钥,其中私钥用于产生签名,验证者用签名者的公钥验证签名。数字签名能够保证信息传输的完整性,验证信息发送者的身份并防止交易中抵赖事件的发生。
椭圆曲线数字签名算法(ECDSA)是一种应用于椭圆曲线并与DSA具有相似性质的签名方案。ECDSA数字签名算法通常被认为是最广泛标准化的基于椭圆曲线的数字签名算法。在ECDSA标准签名算法的使用过程中,若签名私钥只有签名者一方保管,往往存在着一定的泄露风险,一旦攻击者入侵签名者成功,则攻击者可随意伪造签名。因此,在许多数字签名应用场景中,签名密钥需要被互不信任的双方分别保存,且只有在双方合作的情况下才能生成签名,任何一方都无法独立生成数字签名。
同态加密的良好性质可保护明文消息的机密性,通过对密文的运算操作代替对明文的运算操作并取得相同效果,比如:Paillier加密系统是由Pascal Paillier于1999年提出的一个基于判定合数剩余类问题的加法同态加密方案,其安全性基于判定合数剩余问题的困难性,该方案支持多次加法同态运算。
现有的协同ECDSA数字签名生成方案在实际应用中存在局限性,每一组参数只能使用一次,如果使用多次,就会导致ECDSA数字签名的生成过程中的随机数被重复使用,而ECDSA数字签名的随机数一旦被重复使用,就会泄露签名私钥。因此,现有的方法中每当需要产生一个新的数字签名时,需要重新选取参数,然后再协同生成数字签名,这一整个过程的通信和计算开销巨大,从而限制了其实用性。
发明内容
为了克服现有技术存在的缺陷与不足,本发明提供一种基于ECDSA的协同签名方法,本发明实现了互不信任的双方在不泄露各自私钥的前提下通过合作且只能通过合作才能生成数字签名,最大程度地保护了签名私钥的安全性;同时,同态加密使得双方各自签名私钥片可重复使用,大大降低密钥生成过程的计算量,提升签名效率。
为了达到上述目的,本发明采用以下技术方案:
本发明提供的基于ECDSA的协同签名方法,包括下述步骤:
用户端A生成自身的签名协同数据PtKA,所述PtKA包括一对加法同态加密方案的公私钥对(PK,SK)、随机数kA以及RA;服务器端S生成自身的签名协同数据PtKS,所述PtKS包括用户端A的加法同态加密方案的公钥PK、随机数kS、用户A的签名私钥片的密文ekA及其更新值exA、服务器S的签名私钥片xS及其更新值otxS
用户端A计算待签名消息的哈希值h,并将身份标识IDA、待签名消息哈希值h以及PtKA中包含的承诺RA发送至服务器端S;
服务器端S根据RA计算ECDSA签名的第一部分r,并根据h生成签名的临时第二部分ps,将r、ps以及PtKS中包含的密文exA发送至用户端A;
用户端A根据exA、ps、r以及PtKA中包含的SK、kA计算输出ECDSA签名σ;
最后,用户端A与服务器端S分别采用随机数发生器生成新随机数,进行部分私钥更新,并分别更新签名协同数据PtKA和PtKS
作为优选的技术方案,用户端A和服务器端S共享基于ECDSA的协同签名方法的椭圆曲线参数E(Fq)、G和q,椭圆曲线E为定义在有限域Fq上的椭圆曲线,G为椭圆曲线E上阶为素数q的一个基点,q通常为256比特。
作为优选的技术方案,所述用户端A生成自身的签名协同数据PtKA包括下述步骤:
用户端A利用随机数发生器产生两个大素数p1、p2,其中p1,p2>q3,且满足gcd(p1p2,(p1-1)(p2-1))=1,函数gcd表示计算两个输入整数的最大公约数;
用户端A利用随机数发生器产生xA,kA∈Zq和r1∈[1,N-1],其中xA为用户端A的签名私钥片,Zq为整数模q乘法群,r1为加法同态加密方案的随机数,[1,N-1]表示集合{1,2,K,N-1};
用户端A进行如下计算:
整数N=p1×p2
正整数g=N+1;
最小公倍数λ=LCM(p1-1,p2-1),函数LCM表示计算两个输入整数的最小公倍数;
群元素L(g,λ,N2,N)modN在整数模N乘法群ZN *中的乘法逆元:μ=L(g,λ,N2,N)- 1modN;
以xA为明文r1为随机数进行加法同态加密得到的用户端A签名私钥片的密文:
Figure BDA0002068231070000031
承诺:RA=kA·G;承诺用于保护随机数kA,其中G表示椭圆曲线E上一个阶为素数的基点;
用户端A向服务器端S发送IDA,g,N,N2,ekA并存储自身的签名协同数据PtKA={g,N,N2,λ,μ,kA,RA},其中IDA为用户端A的身份标识,(N,g)为加法同态加密方案的公钥PK,(λ,μ)为加法同态加密方案的私钥SK。
作为优选的技术方案,所述服务器端S生成自身的签名协同数据PtKS包括下述步骤:
服务器端S利用随机数发生器产生xS,kS,b0∈Zq和ρ∈[1,q4],其中b0和ρ为加法同态加密方案的随机数;
服务器端S进行如下计算:
服务器端S的签名公钥片PS=xS·G;
域元素kSmodq在域Fq中的乘法逆元:
Figure BDA0002068231070000041
以b0+ρ×q为明文ekA为随机数进行加法同态加密得到的密文:
Figure BDA0002068231070000042
重要中间变量otxS=(xS-b0×kS)modq;
服务器端S向用户端A发送PS并存储自身的签名协同数据PtKS={IDA,xS,g,N,N2,ekA,kS,exA,otxS}。
作为优选的技术方案,该方法进一步包括下述步骤:
用户端A接收PS后,计算ECDSA协同签名验证公钥pk=PS+xA·G,并将pk返回至服务器端S。
作为优选的技术方案,所述用户端A计算待签名消息的哈希值h包括下述步骤:
用户端A取出PtKA={g,N,N2,λ,μ,kA,RA},计算待签名消息m的哈希值h=H(m),其中函数H为密码杂凑函数;h是密码杂凑函数作用于消息m的输出值且为消息m的摘要信息。
作为优选的技术方案,所述服务器端S根据RA计算ECDSA签名的第一部分r,并根据h生成签名的临时第二部分ps包括下述步骤:
服务器端S利用用户端A的身份标识IDA检索数据库,取出数据PtKS={IDA,xS,g,N,N2,ekA,kS,exA,otxS};
服务器端S计算承诺:(rx,ry)=R=kS·RA;rx表示点R在y轴方向的坐标;
服务器端S计算ECDSA签名的第一部分:r=rxmodq;
服务器端S计算签名的临时第二部分:ps=(kS)-1(h+r×otxS)modq。
作为优选的技术方案,所述用户端A根exA、ps、r、SK和kA计算输出ECDSA签名σ包括下述步骤:
用户端A计算重要中间变量otxA=(L(exA,λ,N2,N)×μmodN)modq;
用户端A计算ECDSA签名的第二部分:s=(kA)-1(ps+r×otxA)modq;
用户端A输出ECDSA签名σ=(r,s)。
作为优选的技术方案,所述用户端A与服务器端S分别采用随机数发生器生成新的随机数,进行部分私钥更新,并分别更新签名协同数据PtKA和PtKS包括下述步骤:
用户端A利用随机数发生器产生kA∈Zq,并计算RA=kA·G,然后把kA,RA写回到参数PtKA中,
服务器端S利用随机数发生器产生kS,b0∈Zq和ρ∈[1,q4],并进行如下计算:
b1=kS -1modq;
Figure BDA0002068231070000051
otxS=(xS-b0×kS)modq;
然后把kS,exA,otxS写回到参数PtKS中。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明采用多方安全计算的思想,各个参与方只拥有签名私钥的部分密钥片,用户端签名私钥片为xA,服务器端签名私钥片为xS,只有在所有参与方合作的前提下才能生成签名,保证了攻击者在入侵任何一方的情况下,都不能够获得完整的签名私钥,从而提升了攻击者窃取私钥的难度,增强了签名私钥的安全性。
(2)本发明在每一次协同签名过程中,采用各个参与方使用其所拥有的签名密钥片的一个秘密的随机函数值来完成其部分签名的方法,即在协同ECDSA数字签名的生成过程中,在用户端签名私钥片xA和服务器端签名私钥片xS保持不变的情况下,每次签名时通过选择不同的随机数kA,kS,b0,ρ使得服务器端产生的签名第二部分ps以及重要中间变量otxA改变,从而使得输出的ECDSA协同签名σ改变。因此,该签名方案可以重复使用,提升了协同签名方案的可用性。
(3)本发明在每一次协同签名过程中,采用对随机数进行乘法拆分,而对签名私钥进行加法拆分的方法来完成协同签名,“对随机数进行乘法拆分”具体为:(rx,ry)=R=kS·RA,其中RA=kA·G。因此,R=kS·RA=kS·kA·G,可以理解为将真正的随机数(kA·kS)拆分为kA和kS两部分,且这两部分由用户端和服务器端分别存储,且双方均不知对方拥有随机数的任何信息。“对签名私钥进行加法拆分”体现在同态加密部分,在ECDSA协同签名方法中,真正的签名私钥为(xA+xS),用户端和服务器端分别拥有签名私钥(xA+xS)的部分密钥片xA和xS。通过同态加密和解密过程,使得双方在s=(kA)-1(ps+r×otxA)modq中合成了真正签名私钥(xA+xS)并计算产生了ECDSA签名的第二部分s。通过上述的方法使得协同生成数字签名方案既可以支持预计算又节省了同态加密计算的次数,从而节省了协同生成数字签名方案过程中的计算和通信开销,提高了协同生成数字签名方案的效率。
附图说明
图1为本实施例一种基于ECDSA的协同签名方法的整体流程示意图;
图2为本实施例一种基于ECDSA的协同签名方法的密钥生成过程示意图;
图3为本实施例一种基于ECDSA的协同签名方法的签名生成过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例提供一种基于ECDSA的协同签名方法,是通过用户端A和服务器端S共同来完成签名的方案,其主要优势在于每一次协同签名都会更新通信双方的部分私钥,做到了高安全的一次一密。
在本实施例中,用户端A和服务器端S共享基于ECDSA的协同签名方法的椭圆曲线参数E(Fq)、G和q,椭圆曲线E为定义在有限域Fq上的椭圆曲线,G为椭圆曲线E上阶为素数q的一个基点,q通常为256比特。
用户端A利用随机数发生器生成:两个大素数p1、p2、用户端A的签名私钥片xA、随机数kA、r1,其中xA,kA∈Zq和r1∈[1,N-1],Zq为整数模q乘法群,[1,N-1]表示集合{1,2,K,N-1};
如图1、图2、图3所示,本实施例基于ECDSA的协同签名方法包括下述步骤:
1、用户端A进行下述计算步骤:
1.1、N=p1×p2,其中p1,p2>q3,且满足gcd(p1p2,(p1-1)(p2-1))=1,N是一个大于q8的整数;
1.2、计算正整数g=N+1;
1.3、计算最小公倍数:λ=LCM(p1-1,p2-1);函数LCM表示计算两个输入整数的最小公倍数;
1.4、计算群元素L(g,λ,N2,N)modN在整数模N乘法群ZN *中的乘法逆元:μ=L(g,λ,N2,N)-1modN;
本实施例的modN表示模N运算,例如23mod7=2;函数L(a,b,c,d)表示计算(abmodc-1)除以d的商,例如a=2,b=5,c=9,d=3,则L(2,5,9,3)=1;
1.5、以xA为明文r1为随机数进行加法同态加密得到的用户端A签名私钥片的密文ekA
Figure BDA0002068231070000081
1.6、用户端A计算承诺:RA=kA·G;
用户端A向服务器端S发送IDA,g,N,N2,ekA,其中IDA为用户端A的身份标识,(N,g)为用户端A同态加密公钥PK。
服务器端S利用随机数发生器生成自身签名私钥片xS,随机数kS,b0和ρ,其中xS,kS,b0∈Zq,ρ∈[1,q4];
2、服务器端S进行如下计算:
2.1、计算服务器端S签名公钥片:PS=xS·G;
2.2、计算域元素kSmodq在域Fq中的乘法逆元:b1=kS -1modq;
2.3、以b0+ρ×q为明文ekA为随机数进行加法同态加密得到的密文:
Figure BDA0002068231070000082
2.4、计算重要中间变量:otxS=(xS-b0×kS)modq;
服务器端S向用户端A发送签名公钥片PS
用户端A收到签名公钥片PS后,计算ECDSA签名验证公钥pk=PS+xA·G,并将pk返回给服务器端S。如果需要,可以由注册机构RA为其颁发公钥证书。
最后,输出:
用户端A安全存储:PtKA={g,N,N2,λ,μ,kA,RA};
服务器端S安全存储:PtKS={IDA,xS,g,N,N2,ekA,kS,exA,otxS};
假设待签名消息为m,为获得待签名消息m的数字签名σ=(r,s),签名用户端A和服务器端S先通过认证协议(认证协议是基于口令/或者口令+手机验证码的形式进行用户端身份认证)建立安全会话,假设该会话为Session(A,S),其包含用户端身份标识IDA和用户端证书CertA;然后通过以下方法生成数字签名。
用户端A取出PtKA={g,N,N2,λ,μ,kA,RA},计算待签名消息m的哈希(hash)值h=H(m),其中函数H为密码杂凑函数;h是密码杂凑函数作用于消息m的输出值且为消息m的摘要信息。
用户端A向服务器端S发送IDA,h,RA,其中,IDA为用户端A的身份标识,RA为用户端A签名时的承诺;
服务器端S利用用户端A的身份标识IDA检索数据库,取出数据PtKS={IDA,xS,g,N,N2,ekA,kS,exA,otxS},并进行如下计算:
1.1、承诺:(rx,ry)=R=kS·RA
1.2、ECDSA签名的第一部分:r=rxmodq;
1.3、ECDSA签名的临时第二部分:ps=(kS)-1(h+r×otxS)modq;
服务器端S向用户端A发送exA,ps,r;
用户端A接收exA,ps,r后,进行如下计算:
2.1、重要中间变量otxA=(L(exA,λ,N2,N)×μmodN)modq;
2.2、ECDSA签名的第二部分:s=(kA)-1(ps+r×otxA)modq;
用户端A输出ECDSA签名σ=(r,s)。
最后,用户端A和服务器端S分别进行如下预计算:
用户端A:
利用随机数发生器产生kA∈Zq,并计算RA=kA·G,然后把kA,RA写回到参数PtKA中。
服务器端S:
利用随机数发生器产生kS,b0∈Zq和ρ∈[1,q4],并进行如下计算:
S.1、b1=kS -1modq
S.2、
Figure BDA0002068231070000101
S.3、otxS=(xS-b0×kS)modq
然后把kS,exA,otxS写回到参数PtKS中。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (8)

1.一种基于ECDSA的协同签名方法,其特征在于,包括下述步骤:
用户端A生成自身的签名协同数据PtKA,所述PtKA包括一对加法同态加密方案的公私钥对(PK,SK)、随机数kA以及RA;服务器端S生成自身的签名协同数据PtKS,所述PtKS包括用户端A的加法同态加密方案的公钥PK、随机数kS、用户A的签名私钥片的密文ekA及其更新值exA、服务器S的签名私钥片xS及其更新值otxS
所述用户端A生成自身的签名协同数据PtKA包括下述步骤:
用户端A利用随机数发生器产生两个大素数p1、p2,其中p1,p2>q3,且满足gcd(p1p2,(p1-1)(p2-1))=1,函数gcd表示计算两个输入整数的最大公约数,q为一素数;
用户端A利用随机数发生器产生xA,kA∈Zq和r1∈[1,N-1],其中xA为用户端A的签名私钥片,Zq为整数模q乘法群,r1为加法同态加密方案的随机数,[1,N-1]表示集合{1,2,...,N-1};
用户端A进行如下计算:
整数N=p1×p2
正整数g=N+1;
最小公倍数λ=LCM(p1-1,p2-1),函数LCM表示计算两个输入整数的最小公倍数;
群元素L(g,λ,N2,N)mod N在整数模N乘法群ZN *中的乘法逆元:μ=L(g,λ,N2,N)-1mod N;
以xA为明文r1为随机数进行加法同态加密得到的用户端A签名私钥片的密文:
Figure FDA0003275192910000011
承诺:RA=kA·G;承诺用于保护随机数kA,其中G表示椭圆曲线E上一个阶为素数的基点;
用户端A向服务器端S发送IDA,g,N,N2,ekA并存储自身的签名协同数据PtKA={g,N,N2,λ,μ,kA,RA},其中IDA为用户端A的身份标识,(N,g)为加法同态加密方案的公钥PK,(λ,μ)为加法同态加密方案的私钥SK;
用户端A计算待签名消息的哈希值h,并将身份标识IDA、待签名消息哈希值h以及PtKA中包含的承诺RA发送至服务器端S;
服务器端S根据RA计算ECDSA签名的第一部分r,并根据h生成签名的临时第二部分ps,将r、ps以及PtKS中包含的密文exA发送至用户端A;
用户端A根据exA、ps、r以及PtKA中包含的SK、kA计算输出ECDSA签名σ;
最后,用户端A与服务器端S分别采用随机数发生器生成新随机数,进行部分私钥更新,并分别更新签名协同数据PtKA和PtKS
2.根据权利要求1所述基于ECDSA的协同签名方法,其特征在于,用户端A和服务器端S共享基于ECDSA的协同签名方法的椭圆曲线参数E(Fq)、G和q,椭圆曲线E为定义在有限域Fq上的椭圆曲线,G为椭圆曲线E上阶为素数q的一个基点,q为256比特。
3.根据权利要求2所述基于ECDSA的协同签名方法,其特征在于,所述服务器端S生成自身的签名协同数据PtKS包括下述步骤:
服务器端S利用随机数发生器产生xS,kS,b0∈Zq和ρ∈[1,q4],其中b0和ρ为加法同态加密方案的随机数;
服务器端S进行如下计算:
服务器端S的签名公钥片PS=xS·G;
域元素kSmodq在域Fq中的乘法逆元:
Figure FDA0003275192910000021
以b0+ρ×q为明文ekA为随机数进行加法同态加密得到的密文:
Figure FDA0003275192910000031
重要中间变量otxS=(xS-b0×kS)modq;
服务器端S向用户端A发送PS并存储自身的签名协同数据PtKS={IDA,xS,g,N,N2,ekA,kS,exA,otxS}。
4.根据权利要求1所述基于ECDSA的协同签名方法,其特征在于,该方法进一步包括下述步骤:
用户端A接收PS后,计算ECDSA协同签名验证公钥pk=PS+xA·G,并将pk返回至服务器端S。
5.根据权利要求1所述基于ECDSA的协同签名方法,其特征在于,所述用户端A计算待签名消息的哈希值h包括下述步骤:
用户端A取出PtKA={g,N,N2,λ,μ,kA,RA},计算待签名消息m的哈希值h=H(m),其中函数H为密码杂凑函数;h是密码杂凑函数作用于消息m的输出值且为消息m的摘要信息。
6.根据权利要求1所述基于ECDSA的协同签名方法,其特征在于,所述服务器端S根据RA计算ECDSA签名的第一部分r,并根据h生成签名的临时第二部分ps包括下述步骤:
服务器端S利用用户端A的身份标识IDA检索数据库,取出数据PtKS={IDA,xS,g,N,N2,ekA,kS,exA,otxS};
服务器端S计算承诺:(rx,ry)=R=kS·RA;ry表示点R在y轴方向的坐标;
服务器端S计算ECDSA签名的第一部分:r=rxmod q;
服务器端S计算签名的临时第二部分:ps=(kS)-1(h+r×otxS)mod q。
7.根据权利要求1所述基于ECDSA的协同签名方法,其特征在于,所述用户端A根exA、ps、r、SK和kA计算输出ECDSA签名σ包括下述步骤:
用户端A计算重要中间变量otxA=(L(exA,λ,N2,N)×μmod N)modq;
用户端A计算ECDSA签名的第二部分:s=(kA)-1(ps+r×otxA)modq;
用户端A输出ECDSA签名σ=(r,s)。
8.根据权利要求1所述基于ECDSA的协同签名方法,其特征在于,所述用户端A与服务器端S分别采用随机数发生器生成新的随机数,进行部分私钥更新,并分别更新签名协同数据PtKA和PtKS包括下述步骤:
用户端A利用随机数发生器产生kA∈Zq,并计算RA=kA·G,然后把kA,RA写回到参数PtKA中,
服务器端S利用随机数发生器产生kS,b0∈Zq
Figure FDA0003275192910000042
并进行如下计算:
b1=kS -1mod q;
Figure FDA0003275192910000041
otxS=(xS-b0×kS)mod q;
然后把kS,exA,otxS写回到参数PtKS中。
CN201910428430.6A 2019-05-22 2019-05-22 一种基于ecdsa的协同签名方法 Active CN110138567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910428430.6A CN110138567B (zh) 2019-05-22 2019-05-22 一种基于ecdsa的协同签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910428430.6A CN110138567B (zh) 2019-05-22 2019-05-22 一种基于ecdsa的协同签名方法

Publications (2)

Publication Number Publication Date
CN110138567A CN110138567A (zh) 2019-08-16
CN110138567B true CN110138567B (zh) 2021-11-26

Family

ID=67572303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910428430.6A Active CN110138567B (zh) 2019-05-22 2019-05-22 一种基于ecdsa的协同签名方法

Country Status (1)

Country Link
CN (1) CN110138567B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021127951A1 (zh) * 2019-12-24 2021-07-01 云图技术有限公司 两方协同的EdDSA数字签名生成方法和装置
CN111245617B (zh) * 2020-03-11 2022-07-05 杭州泛链科技有限公司 一种基于ecdsa的双重门限签名方法
CN111489159B (zh) * 2020-04-09 2024-03-15 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备及介质
CN111510299B (zh) * 2020-04-10 2021-03-19 宁波富万信息科技有限公司 联合数字签名生成方法、电子设备和计算机可读介质
CN111817848B (zh) * 2020-06-19 2023-01-17 天津赢达信科技有限公司 一种ecc私钥分段存储的ecdsa签名方法及系统
CN111901123B (zh) * 2020-07-15 2022-07-05 杭州安恒信息安全技术有限公司 一种sm2签名的生成方法、存储介质和终端
WO2022116175A1 (zh) * 2020-12-04 2022-06-09 上海阵方科技有限公司 数字签名的生成方法、装置和服务器
CN114257366B (zh) * 2021-12-20 2024-04-12 成都卫士通信息产业股份有限公司 信息同态处理方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289318A1 (en) * 2008-08-28 2011-11-24 Jingsong Zhang System and Method for Online Digital Signature and Verification
CN107302438A (zh) * 2017-08-07 2017-10-27 收付宝科技有限公司 一种基于密钥更新的私钥保护方法、系统及装置
CN107528696A (zh) * 2017-09-27 2017-12-29 武汉理工大学 一种隐藏私钥秘密的数字签名生成方法及系统
CN107911217A (zh) * 2017-10-30 2018-04-13 陈彦丰 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
CN108173639A (zh) * 2018-01-22 2018-06-15 中国科学院数据与通信保护研究教育中心 一种基于sm9签名算法的两方合作签名方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289318A1 (en) * 2008-08-28 2011-11-24 Jingsong Zhang System and Method for Online Digital Signature and Verification
CN107302438A (zh) * 2017-08-07 2017-10-27 收付宝科技有限公司 一种基于密钥更新的私钥保护方法、系统及装置
CN107528696A (zh) * 2017-09-27 2017-12-29 武汉理工大学 一种隐藏私钥秘密的数字签名生成方法及系统
CN107911217A (zh) * 2017-10-30 2018-04-13 陈彦丰 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
CN108173639A (zh) * 2018-01-22 2018-06-15 中国科学院数据与通信保护研究教育中心 一种基于sm9签名算法的两方合作签名方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《高速双域椭圆曲线数字签名硬件加速的研究与实现》;田园;《中国优秀硕士学位论文全文数据库》;20170630;全文 *

Also Published As

Publication number Publication date
CN110138567A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110138567B (zh) 一种基于ecdsa的协同签名方法
CN108667626B (zh) 安全的两方协作sm2签名方法
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN110011802B (zh) 一种高效的sm9两方协同生成数字签名的方法及系统
US10530585B2 (en) Digital signing by utilizing multiple distinct signing keys, distributed between two parties
WO2021042685A1 (zh) 一种区块链的交易方法、装置及系统
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN112367175B (zh) 基于sm2数字签名的隐式证书密钥生成方法
CN108989050B (zh) 一种无证书数字签名方法
CN108667625B (zh) 协同sm2的数字签名方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
US9800418B2 (en) Signature protocol
CN110011803B (zh) 一种轻量级sm2两方协同生成数字签名的方法
CN112118111A (zh) 一种适用于门限计算的sm2数字签名方法
US20150006900A1 (en) Signature protocol
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
CN115174056B (zh) 一种基于sm9签名的变色龙签名生成方法及装置
CN115941180A (zh) 一种基于后量子安全和身份标识的密钥分发方法和系统
JP4307589B2 (ja) 認証プロトコル
WO2016187689A1 (en) Signature protocol
CN114978488A (zh) 一种基于sm2算法的协同签名方法及系统
Ahirwal et al. Signcryption scheme that utilizes elliptic curve for both encryption and signature generation

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