The invention provides a method for realizing SM2 white box digital signature based on remainder system. The method for the key is not in the trusted environment safety, of a malicious attacker can obtain the system key through the white box attack means, split by using residue number systems to achieve large numbers, thereby reducing the size of the table key; through the use of scrambling to ensure the intermediate results for the attacker not confused by the random factor using cloud visible; to ensure that the unknown terminal key operation relations, realizes terminal signature operation in the process of signature private key security, also can use the standard SM2 signature verification algorithm is verified. The invention has the advantages of small storage space, high calculation efficiency, good safety and strong practicability.
【技术实现步骤摘要】
本专利技术涉及信息安全
,特别是涉及一种基于余数系统的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],通过余数系统将其 ...
【技术保护点】
一种基于余数系统的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和余数系统生成第二私钥 ...
【技术特征摘要】
1.一种基于余数系统的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...
【专利技术属性】
技术研发人员:白健,周洁,安红章,
申请(专利权)人:中国电子科技集团公司第三十研究所,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。