【技术实现步骤摘要】
一种基于ECDSA的协同签名方法
本专利技术涉及信息安全
,具体涉及一种基于ECDSA的协同签名方法。
技术介绍
数字签名算法(DSA)由签名者对数据产生数字签名,由验证者验证签名的可靠性。每个签名者拥有一对密钥对,包含一个公钥和一个私钥,其中私钥用于产生签名,验证者用签名者的公钥验证签名。数字签名能够保证信息传输的完整性,验证信息发送者的身份并防止交易中抵赖事件的发生。椭圆曲线数字签名算法(ECDSA)是一种应用于椭圆曲线并与DSA具有相似性质的签名方案。ECDSA数字签名算法通常被认为是最广泛标准化的基于椭圆曲线的数字签名算法。在ECDSA标准签名算法的使用过程中,若签名私钥只有签名者一方保管,往往存在着一定的泄露风险,一旦攻击者入侵签名者成功,则攻击者可随意伪造签名。因此,在许多数字签名应用场景中,签名密钥需要被互不信任的双方分别保存,且只有在双方合作的情况下才能生成签名,任何一方都无法独立生成数字签名。同态加密的良好性质可保护明文消息的机密性,通过对密文的运算操作代替对明文的运算操作并取得相同效果,比如:Paillier加密系统是由PascalPaillier于1999年提出的一个基于判定合数剩余类问题的加法同态加密方案,其安全性基于判定合数剩余问题的困难性,该方案支持多次加法同态运算。现有的协同ECDSA数字签名生成方案在实际应用中存在局限性,每一组参数只能使用一次,如果使用多次,就会导致ECDSA数字签名的生成过程中的随机数被重复使用,而ECDSA数字签名的随机数一旦被重复使用,就会泄露签名私钥。因此,现有的方法中每当需要产生一个新的数字 ...
【技术保护点】
1.一种基于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。
【技术特征摘要】
1.一种基于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。2.根据权利要求1所述基于ECDSA的协同签名方法,其特征在于,用户端A和服务器端S共享基于ECDSA的协同签名方法的椭圆曲线参数E(Fq)、G和q,椭圆曲线E为定义在有限域Fq上的椭圆曲线,G为椭圆曲线E上阶为素数q的一个基点,q通常为256比特。3.根据权利要求2所述基于ECDSA的协同签名方法,其特征在于,所述用户端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签名私钥片的密文:承诺: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。4.根据权利要求2所述基于ECDSA的协同签名方法,其特征在于,所述服务器端S生成自身的签...
【专利技术属性】
技术研发人员:马昌社,龚征,刘志杰,姜枚,
申请(专利权)人:广州安研信息科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。