[发明专利]基于移动KEY密钥保护技术的SM2签名方法在审
| 申请号: | 202111273107.X | 申请日: | 2021-10-29 |
| 公开(公告)号: | CN113918979A | 公开(公告)日: | 2022-01-11 |
| 发明(设计)人: | 侯红霞 | 申请(专利权)人: | 西安邮电大学 |
| 主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/64;G06F7/58 |
| 代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 汪海艳 |
| 地址: | 710121 陕西*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 移动 key 密钥 保护 技术 sm2 签名 方法 | ||
1.一种基于移动KEY密钥保护技术的SM2签名方法,其特征在于,包括以下步骤:
步骤1、系统初始化;
第一通信方和第二通信方共享SM2算法的椭圆曲线参数E(Fp)、G和n,椭圆曲线E为定义在有限域Fp上的椭圆曲线,G表示椭圆曲线E上阶为n的基点,n为有限的正整数,各参数的取值依据SM2算法预先设定;
步骤2、秘钥生成;
第一通信方生成子私钥d1和子公钥P1;第二通信方生成子私钥d2和子公钥P2;第一通信方利用第二通信方的子公钥P2和自身的子私钥d1协商签名公钥P,第二通信方利用第一通信方的子公钥P1和自身的子私钥d2协商签名公钥P;
步骤3、协作签名;
第一通信方产生临时子私钥k1和临时子公钥Q1;第二通信方产生临时子私钥k2和临时子公钥Q2;
第一通信方和第二通信方分别根据待签名消息M、对方的临时子公钥、自身的子私钥和自身的临时子私钥,协作产生完整签名(r,s);
步骤4、输出完整签名;
第一通信方将(r,s)作为完整签名输出。
2.根据权利要求1所述的基于移动KEY密钥保护技术的SM2签名方法,其特征在于,步骤2具体包括以下步骤:
步骤2.1、第一通信方生成子私钥d1和子公钥P1;
第一通信方产生一个位于[1,n-1]之间的随机数d1,将d1作为子私钥,即有:d1∈[1,n-1],计算d1[*]G,将计算结果作为子公钥P1;其中,[*]表示椭圆曲线点乘运算;
步骤2.2、第二通信方生成子私钥d2和子公钥P2;
第二通信方产生一个位于[1,n-1]之间的随机数d2,将d2作为子私钥,计算d2[*]G,将计算结果作为子公钥P2;
步骤2.3、第一通信方利用第二通信方的子公钥P2和自身的子私钥d1协商签名公钥P,第二通信方利用第一通信方的子公钥P1和自身的子私钥d2协商签名公钥P;
第一通信方计算d1[*]P2[-]G,将计算结果作为签名公钥P,其中,[-]表示椭圆曲线点减运算;
第二通信方计算d2[*]P1[-]G,将结果作为签名公钥P。
3.根据权利要求1或2所述的基于移动KEY密钥保护技术的SM2签名方法,其特征在于,步骤3具体包括以下步骤:
步骤3.1、第一通信方处理待签名消息;
第一通信方将第一通信方和第二通信方共同的身份标识Z和消息M拼接形成M′,计算hash(M′),将计算结果作为e;
步骤3.2、第二通信方处理待签名消息;
第二通信方将第二通信方和第一通信方共同的身份标识Z和消息M拼接形成M′,计算hash(M′),将计算结果作为e;
步骤3.3、第一通信方产生临时子私钥k1和临时子公钥Q1;
第一通信方产生一个位于[1,n-1]之间的随机数k1,将k1作为临时子私钥,计算k1[*]G,将计算结果作为临时子公钥Q1,并将Q1发送给第二通信方;
步骤3.4、第二通信方产生临时子私钥k2和临时子公钥Q2;
第二通信方产生一个位于[1,n-1]之间的随机数k2,将k2作为临时子私钥,计算k2[*]G,将计算结果作为临时子公钥Q2,并将Q2发送给第一通信方;
步骤3.5、第一通信方和第二通信方协作签名;
步骤3.51、第二通信方计算k2[*]Q1,得到计算结果(x1,y1);
步骤3.52、第二通信方根据步骤3.2以及步骤3.51的计算结果,计算(x1+e)modn,将计算结果作为r,其中mod表示求模运算;
步骤3.53、第二通信方产生一个位于[1,n]之间的随机数,将产生的随机数作为k3,并计算和将计算结果分别作为c1和c2,其中r为步骤3.52的计算结果;将c1发送给第一通信方,其中,表示d2在Fp上的逆元;
步骤3.54、第一通信方计算k1[*]Q2,得到计算结果(x1,y1);
步骤3.55、第一通信方根据步骤3.1以及步骤3.54的计算结果,计算(x1+e)modn,将计算结果作为r;
步骤3.56、第一通信方计算将计算结果作为s1,其中r为步骤3.55的计算结果;发送s1给第二通信方;其中,表示d1在Fp上的逆元;
步骤3.57、第二通信方计算将计算结果作为s2;发送s2和c2给第一通信方;
步骤3.58、第一通信方计算得到部分签名s,(r,s)构成完整签名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111273107.X/1.html,转载请声明来源钻瓜专利网。





