[发明专利]一种基于余数系统的SM2白盒数字签名实现方法有效
申请号: | 201611202646.3 | 申请日: | 2016-12-22 |
公开(公告)号: | CN106612182B | 公开(公告)日: | 2020-04-03 |
发明(设计)人: | 白健;周洁;安红章 | 申请(专利权)人: | 中国电子科技集团公司第三十研究所 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/08 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 项霞 |
地址: | 610000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于余数系统的SM2白盒数字签名实现方法。本方法针对于不可信环境中密钥运行不安全,恶意攻击者可通过白盒攻击手段获取系统密钥的问题展开研究,通过使用余数系统实现大数的拆分,从而降低密钥表的大小;通过使用置乱混淆确保中间结果对攻击者不可见;通过使用云端的随机因子确保终端密钥运算关系的未知性,实现了终端签名运算过程中的签名私钥安全,同时可使用标准的SM2验签算法进行验证。本发明所需存储空间小,计算效率高,安全性好,具有很强的实用性。 | ||
搜索关键词: | 一种 基于 余数 系统 sm2 数字签名 实现 方法 | ||
【主权项】:
一种基于余数系统的SM2白盒数字签名实现方法,所述方法适用的系统包括客户端和服务器,所述系统的系统模数为n,辅助模数为mr,所选取椭圆曲线的基点为G,签名消息为M,其特征在于,包括如下步骤:步骤一:客户端选取公钥d、私钥P;选定一个余数系统,素数基为β=(p1,p2,...,pt),基β的动态范围满足ω=p1p2p3…pt≥2768;步骤二:客户端生成第一私钥查找表、第二私钥查找表;具体方法为:步骤2.1:随机选取两个非线性密钥置换表,分别记为Sbox1、Sbox2,并通过服务器的公钥将自己的客户端ID和Sbox1发送给服务器进行保存;步骤2.2:使用余数系统将公钥P转化为Pi,其中i=1,…,t,r,并生成第一私钥查找表Table1,i(i=1,...,t,r),生成方法为:随机遍历产生两个随机数N1和N2,其中N2,N1∈[1,n‑1],通过余数系统将其分别转化为N1i和N2i,计算ui=sbox2(N1,i×sbox1‑1(sbox1(N2,i))modpi),将遍历产生的所有ui作为表Table1,i(i=1,...,t,r)的元素;步骤2.3:使用私钥d和余数系统生成第二私钥查找表Table2,i(i=1,...,t,r),生成方法为:随机遍历产生两个随机数L1和L2,其中L2,L1∈[1,n‑1],通过余数系统将其分别转化为L1i和L2i,同时将私钥d转换为di,计算si=di×(sbox2‑1(L1i)‑L2i×di)mod pi,将遍历产生的所有si作为表Table2,i(i=1,...,t,r)的元素;步骤三:客户端进行签名,具体方法为:步骤3.1:客户端计算M’=M||ZA;其中,M为签名消息,ZA为客户端的身份标识;步骤3.2:客户端用杂凑函数计算消息摘要e=Hv(M’);步骤3.3:客户端产生第一随机数k1∈[1,n‑1];步骤3.4:客户端计算椭圆曲线点Q1=[k1]*G,并将e和Q1发送给服务器;其中,步骤3.5:服务器产生第二随机数k2∈[1,n‑1];步骤3.6:服务器计算椭圆曲线点(x1,y1)=[k2]*Q1;步骤3.7:服务器计算第一部分签名r=(x1+e)mod n,将第二随机数k2基于基{β|pr}用余数系统表示为k2=(k2,1,...,k2,t|k2,r),通过Sbox1进行混淆,然后将r和Sbox1(k2)=[sbox1(k2,1),sbox1(k2,2),...,sbox1(k2,t)|sbox1(k2,r)]发送给客户端;步骤3.8:客户端将第一随机数K1和r基于基{β|pr}用余数系统表示为k1=(k1,1,k1,2,...,k1,t|k1,r)和r=(r1,r2,...,rt|rr);步骤3.9:客户端使用第一私钥查找表Table1,i(i=1,...,t,r)计算中间值ui=sbox2(k1,i×sbox1‑1(sbox1(k2,i))modpi);步骤4.0:客户端使用第二私钥查找表Table2,i(i=1,...,t,r)计算si=di×(sbox2‑1(ui)‑ri×dA,i)modpi,其中私钥dA隐藏在第二私钥查找表Table2,i中;步骤4.1:客户端利用中国剩余定理恢复出s;步骤4.3:客户端计算s′=s mod n,s′即为第二部分签名值;步骤五:输出消息M和签名。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611202646.3/,转载请声明来源钻瓜专利网。