[发明专利]一种SM2数字签名生成方法及系统有效
申请号: | 201710814802.X | 申请日: | 2017-09-05 |
公开(公告)号: | CN107634836B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 何德彪;张语荻;孙金龙 | 申请(专利权)人: | 何德彪 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/00;H04L29/06 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 430070 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sm2 数字签名 生成 方法 系统 | ||
本发明公开了一种SM2数字签名生成方法及系统,所述方法包括:参与数字签名的第一终端和第二终端各自从集合{1,2,…,n‑1}中选取两个整数,第一终端和第二终端根据选取的整数分别计算出各自对应的部分公钥并发送给对方,第一终端和第二终端根据各自接收到的部分公钥计算出验证公钥;在数字签名生成阶段,第一终端将计算出的第一临时公钥及加密后的密文发送给第二终端,第二终端将计算出的第二临时公钥及待解密密文发送给第一终端,第一终端解密该待解密密文并通过自身的私钥计算出数字签名,在对生成的数字签名验证通过后输出完整的数字签名。由于生成签名的过程必须签名双方同时参与且不泄露各自私钥,从而保证了私钥的安全性,提高了签名双方的公平性。
技术领域
本发明属于信息安全技术领域,尤其涉及一种SM2数字签名生成方法及系统。
背景技术
椭圆曲线公钥密码算法(SM2),是中国国家密码管理局发布的密码算法。SM2明确规定了SM2算法的数字签名算法、公钥加密算法及密钥交换协议。其中,SM2算法的数字签名算法包括生成算法和验证算法,应用在消息传输过程中可靠性的消息传输及使用消息的合法者验证。在SM2的数字签名算法中,包括一一对应的公钥和私钥,其中,私钥用于待签名消息生成数字签名,公钥用于对数字签名进行验证。签名者采用私钥进行待签名消息M的数字签名生成算法计算,得到待签名消息M的数字签名;验证者采用公钥对接收的待签名消息M进行数字签名验证计算,验证待签名消息M的数字签名是否匹配,如果匹配,确认接收的待签名消息M是正确的。
目前,数字签名在很多场合有着重要的作用。常见的,一方生成数字签名,可以公开被验证。在某些场合,需要多方对一份文件产生电子签名,比如一些高机密的文档,需要被多人签名。在去中心化的货币交易中,例如:比特币交易,也需要多方同时对某个交易进行签名,如果签名密钥被盗则会造成直接的经济损失。
对于此类问题,比较常见的解决方法是将密钥分割为多份,例如:门限秘密分割,将私钥分发给多个参与方,当需要使用私钥进行签名时,t个被分割的密钥可以合并形成用户的原始私钥再参加运算,如果低于t个参与者,则无法恢复原始私钥。一旦私钥被恢复,任何单独的一方都可以在其他参与方不知晓的情况下进行解密或者签名运算。特别是在两方需要共同签名一个合同或协议的情况下,两方中的一方如果获得了原始的签名私钥,则可以在不经过对方同意的情况下对任意合同进行签名,安全性较低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种SM2数字签名生成方法及系统,旨在解决现有技术中消息签名的参与方使用私钥对消息进行签名时,安全性较低的问题。
为实现上述目的,本发明提供了一种SM2数字签名生成方法,所述方法包括以下步骤:
第一终端从集合{1,2,…,n-1}中选取两个整数x1和k1,并将所述x1作为第一部分私钥,将所述k1作为第一随机数,其中,所述n为SM2密码运算所使用的椭圆曲线点群的阶;
第二终端从所述集合{1,2,…,n-1}中选取两个整数x2和k2,将所述x2作为第二部分私钥,将所述k2作为第二随机数;
所述第一终端根据所述第一部分私钥x1计算出第一部分公钥Q1,并将所述第一部分公钥Q1发送至所述第二终端;
所述第二终端根据所述第二部分私钥x2计算出第二部分公钥Q2,并将所述第二部分公钥Q2发送至所述第一终端;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于何德彪,未经何德彪许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710814802.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种身份验证方法、装置、设备及存储介质
- 下一篇:一种有效智能广播的方法