[发明专利]一种基于SM2算法的通信双方协同签名方法与系统有效
申请号: | 201810799350.7 | 申请日: | 2018-07-19 |
公开(公告)号: | CN108989047B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 赵国磊;刘熙胖;廖正赟;彭金辉;刘长河 | 申请(专利权)人: | 郑州信大捷安信息技术股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 郑州德勤知识产权代理有限公司 41128 | 代理人: | 黄红梅;王帆 |
地址: | 450000 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于SM2算法的通信双方协同签名方法及系统,涉及第一通信方和第二通信方,通信双方独立生成各自子私钥,由两个子私钥协同运算产生公钥,双方均无法由己方生成和获得的参数计算得到私钥。签名时,通信双方各自产生部分签名,再由双方根据消息摘要、各自子私钥等参数协同计算得到最后的签名结果,入侵任何一方都无法获取私钥伪造签名。本发明技术方案充分保证了SM2算法私钥的安全性,而且在协同签名过程中,双方交互的内容少,通信数据量小,密码运算的复杂度低,能够很好地满足云计算、物联网环境中低延迟、少交互的应用需求。 | ||
搜索关键词: | 一种 基于 sm2 算法 通信 双方 协同 签名 方法 系统 | ||
【主权项】:
1.一种基于SM2算法的通信双方协同签名方法,其特征在于,所述通信双方包括第一通信方和第二通信方,所述第一通信方和所述第二通信方共享SM2算法椭圆曲线E和E上阶为n的基点G;所述方法包括以下步骤:一、产生双方各自子私钥和计算公钥阶段S101、所述第一通信方产生随机数d1∈[1,n‑1],作为所述第一通信方的子私钥;所述第二通信方产生随机数d2∈[1,n‑1],作为所述第二通信方的子私钥;S102、所述第二通信方根据d2和G计算得到椭圆曲线点P2=[d2‑1]G,并把P2发送给所述第一通信方,其中d2‑1表示d2的逆元d2‑1mod n;S103、所述第一通信方根据d1、P2和G计算得到公钥P=[d1‑1]P2‑G并公开所述公钥,其中d1‑1表示d1的逆元d1‑1mod n;二、双方协同签名阶段S201、所述第一通信方对待签名消息M进行签名预处理,得到消息摘要e;S202、所述第一通信方产生随机数k1∈[1,n‑1],根据k1生成第一部分签名W1,并将所述消息摘要e和所述第一部分签名W1发送给所述第二通信方;S203、所述第二通信方产生随机数k2∈[1,n‑1],根据k2生成第二部分签名W2;S204、所述第二通信方根据所述第一部分签名W1和所述第二部分签名W2计算椭圆曲线点W,此时W=[(k1+k2)*d2‑1]G;W的坐标为(x1,y1),所述第二通信方根据x1和所述消息摘要e计算得到第三部分签名r=(x1+e)mod n,若r=0,则返回S203;S205、所述第二通信方根据k2、d2和r计算得到第四部分签名s1=(k2+d2*r)mod n,并将s1和r发送给所述第一通信方;S206、所述第一通信方根据d1、k1、s1和r计算s=(d1*(k1+s1)‑r)mod n,若s=0,返回S202;S207、所述第一通信方输出M及其数字签名(r,s)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州信大捷安信息技术股份有限公司,未经郑州信大捷安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810799350.7/,转载请声明来源钻瓜专利网。
- 上一篇:防全局篡改的装置和系统
- 下一篇:密钥分发方法、装置、设备及存储介质