The invention discloses a SM2 digital signature method based on two-party cooperation, which is as follows: each party involved in the signature generates its own public-private key pair (dA, PA), (dB, PB) and signature verification public key PAB respectively; when signing, A and B first negotiate a session key sk. Next, A and B select the random number kA < Zn, kB < Zn to compute RA = [kA] G and RB = [kB] G, respectively, and encrypt them with session key and send them to each other. Finally, A calculates partial signature; B calculates partial signature and sends it to A in ciphertext form. The invention is suitable for completing SM2 cooperative signature without divulging the signature keys of the two parties. Both parties must participate in the process of signature generation, and the complete signature key is not restored in the process of signature generation, which ensures the security of the signature key and improves the fairness of both parties participating in the signature.
【技术实现步骤摘要】
基于两方协同的SM2数字签名方法
本专利技术涉及信息安全技术,尤其涉及一种基于两方协同的SM2数字签名方法。
技术介绍
数字签名是数字化环境下的对传统手写签名的模拟,可以提供数字信息的不可伪造性、认证性和完整性。通常情况下,一方生成数字签名,可以被其他方公开验证。随着互联网的发展,数字签名技术已经应用于金融、商务、军事和外交等诸多领域。为了降低签名权利集中或签名密钥丢失带来的风险,一些特殊的文档,如高机密的文件通常需要多人协同才能完成签名。针对这类问题,常见的解决方法是采用门限秘密共享方案。在这种方法中,签名密钥被分割成t个子密钥,并安全地分给t个参与者掌管,这些参与者中的k个及以上所构成的子集可以重构签名密钥,少于k个参与者则无法获得完整签名密钥。然而,恢复出完整签名密钥之后,持有完整签名密钥的一方就可以在其他参与方不知情的情况下独立地进行签名,从而破坏了系统的安全性和公平性。特别是在只有两个参与方的情况下,某一方恢复并持有完整签名密钥,就可以在另一方不知情的情况下,独立地进行签名,给系统造成利益损失。针对这种情况,本专利技术设计了一种两方协同SM2数字签名方案,实现两个参与方之间协同完成数字签名,该签名必须由两方共同参与,并且在签名过程中没有恢复完整的签名密钥,即保证签名的正确性,又能保证签名密钥的安全性。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种基于两方协同的SM2数字签名方法及系统。本专利技术解决其技术问题所采用的技术方案是:基于两方协同的SM2数字签名方法,包括以下步骤:1)参与协同签名的签名方A和签名方B,以密钥生 ...
【技术保护点】
1.一种基于两方协同的SM2数字签名方法,其特征在于,包括以下步骤:1)参与协同签名的签名方A和签名方B,各自生成签名公私钥、协同通信会话密钥和其他参数;1.1)签名方A随机选择一个大整数dA∈Zn作为私钥,计算对应的公钥为PA=[dA]G;签名方B随机选择一个大整数dB∈Zn作为私钥,计算对应的公钥为PB=[dB]G,签名方A,B计算签名验证公钥;其中,Zn为模大整数n的剩余类;1.2)B发送PB给A;1.3)A计算可公开签名验证公钥PAB=[dA]PB‑G;1.4)A和B分别以大整数1/dA和1/dB为输入运行πmul,A得到输出t′A,B得到输出t′B,即满足
【技术特征摘要】
1.一种基于两方协同的SM2数字签名方法,其特征在于,包括以下步骤:1)参与协同签名的签名方A和签名方B,各自生成签名公私钥、协同通信会话密钥和其他参数;1.1)签名方A随机选择一个大整数dA∈Zn作为私钥,计算对应的公钥为PA=[dA]G;签名方B随机选择一个大整数dB∈Zn作为私钥,计算对应的公钥为PB=[dB]G,签名方A,B计算签名验证公钥;其中,Zn为模大整数n的剩余类;1.2)B发送PB给A;1.3)A计算可公开签名验证公钥PAB=[dA]PB-G;1.4)A和B分别以大整数1/dA和1/dB为输入运行πmul,A得到输出t′A,B得到输出t′B,即满足其中,1/dA为大整数dA∈Zn模n的逆,即dA·1/dA=1(modn);1/dB为大整数dB∈Zn模n的逆;πmul为预设的一种基于不经意传输协议的乘法器,该乘法器定义如下:由两个参与方A,B运行,A,B对πmul输入分别为大整数a∈Zn和b∈Zn,πmul分别返回输出大整数t′A和t′B给A,B,使其满足t′A+t′B=a·b;1.5)A秘密保存参数(dA,PA,PB,t′A);B秘密保存参数(dB,PA,PB,t′...
【专利技术属性】
技术研发人员:何德彪,王婧,张语荻,冯琦,
申请(专利权)人:武汉大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。