CN109600224A - 一种sm2密钥生成、签名方法、终端、服务器和存储介质 - Google Patents

一种sm2密钥生成、签名方法、终端、服务器和存储介质 Download PDF

Info

Publication number
CN109600224A
CN109600224A CN201811310717.0A CN201811310717A CN109600224A CN 109600224 A CN109600224 A CN 109600224A CN 201811310717 A CN201811310717 A CN 201811310717A CN 109600224 A CN109600224 A CN 109600224A
Authority
CN
China
Prior art keywords
key
factor
signature
private
private key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811310717.0A
Other languages
English (en)
Inventor
陈松林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aspire Digital Technologies Shenzhen Co Ltd
Original Assignee
Aspire Digital Technologies Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aspire Digital Technologies Shenzhen Co Ltd filed Critical Aspire Digital Technologies Shenzhen Co Ltd
Priority to CN201811310717.0A priority Critical patent/CN109600224A/zh
Publication of CN109600224A publication Critical patent/CN109600224A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明公开了一种SM2密钥生成、签名方法、终端、服务器和存储介质,涉及信息安全领域。本发明通过由预设数量私钥因子组成私钥,私钥因子分别存储在不同的设备中,所述设备包括终端和服务器,有效的解决了私钥文件易被窃取的问题,将私钥因子分散存储在终端和服务器上,攻击者无法从终端上获得完整的私钥。同时,签名计算过程需要在终端设备和服务端分步进行,私钥不会完整的出现在终端设备内存中,有效的解决了私钥文件以明文的方式出现在终端内存中易泄露的问题,使得私钥的存储更加安全。

Description

一种SM2密钥生成、签名方法、终端、服务器和存储介质
技术领域
本发明涉及信息安全领域,尤其是一种SM2密钥生成、签名方法、终端、服务器和存储介质。
背景技术
SM2椭圆曲线公钥密码算法(简称SM2算法)于2010年12月首次公开发布,2012年成为中国商用密码标准(标准号为GM/T 0003—2012),2016年成为中国国家密码标准(标准号为GB/T 32918—2016)。对于SM2软证书及私钥的安全管理和使用,主要通过对SM2私钥进行加密保护。即SM2私钥以文件的方式保存在终端设备的存储器中,以一个固定的加密密钥进行加密,在需要访问私钥时,则使用加密密钥对该密钥文件进行解密后得到SM2私钥,加密密钥可以是一个预先设置的字符串、设备信息、用户PIN码等。
然而,现有的SM2软证书存在加密密钥易泄露、加密密钥和加密后的SM2私钥文件易被窃取、在进行签名/加解密计算的过程中,私钥都会以明文的方式出现在设备的内存中,攻击者也可能通过相关手段(如内存监听、通过调试器运行等)直接获取设备内存中的私钥明文,导致私钥泄露的问题,因为有必要发明一种方法以解决上述问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种安全性高、防止泄露的一种SM2密钥生成方法。
本发明的第二个目的是提供一种安全性高、防止泄露SM2密钥签名方法。
本发明的第三个目的是提供一种安全性高、防止密钥泄露的智能终端。
本发明的第四个目的是提供一种安全性高、防止密钥泄露的终端。
本发明的第五个目的是提供一种用于存储安全性高、防止泄露SM2密钥生成和签名方法的计算机可读存储介质。
本发明所采用的技术方案是:
第一方面,本发明提供一种SM2密钥生成方法,由预设数量私钥因子组成私钥,所述私钥因子分别存储在不同的设备中,所述设备包括终端和服务器。
进一步地,所述私钥因子包括第一私钥因子d1和第二私钥因子d2,所述方法还包括如下步骤:
接收密钥生成指令,生成第一私钥因子d1和第一临时私钥变量tKey1,其中,tKey1=[d1]G,G为SM2椭圆曲线公钥密码算法,其阶为素数,[d1]G为椭圆曲线上点G的k倍点;
发送密钥对生成请求和所述第一临时私钥变量tKey1到服务器;
接收服务器发送的公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2
验证所述公钥(x,y),若通过,则存储所述第一私钥因子d1、所述公钥(x,y)、所述第一密钥分散因子W1和所述第二密钥分散因子W2
进一步地,包括如下步骤:
包括如下步骤:
接收终端发送的密钥对生成请求和第一临时私钥变量tKey1,并对所述密钥对进行合法性校验;
校验通过后,生成第二私钥d2,根据第一临时私钥变量tKey1计算出公钥(x,y)、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2
存储所述第二私钥d2、随机数t2和公钥(x,y);
向终端发送所述公钥(x,y)、所述第一密钥分散因子W1和所述第二密钥分散因子W2
进一步地,所述步骤校验通过后,生成第二私钥d2,并生成随机数t2,根据第一临时私钥变量tKey1计算出公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2具体包括:
生成第二私钥d2
计算公钥(x,y)=[d1]G+[d2]G,G为SM2椭圆曲线公钥密码算法。
计算第一分散因子W1,其中W1=t1 -1,t1=t-t2,t=(1+d1+d2)-1,t2为随机数;
计算第二分散因子W2,其中W2=d1t1
第二方面,本发明提供一种密钥签名方法,具体包括如下步骤:
终端接收发送签名请求和签名原文e;
终端通过第一私钥因子d1对所述签名原文e进行预签名得到预签名的值tSigndata,tSigndata=F[K,KW1,r(W2+W1W2)],其中;r=(e+x1)mod n,(x1,y1)=[k]G,F为线性函数,k为随机数,n为正整数,mod为取模运算。
终端将签名请求、所述签名原文e和所述预签名的值tSigndata发送到服务器;
服务器验证所述签名请求,通过第二私钥因子对所述预签名值tSigndata进行签名操作得到签名值signdata,其中signdata=r||s,r=(e+x1)mod n,mod指取模运算,s=K+t2k-r(d2t2+W2+W3+t2W1W2),K为,r||s指r与s的拼接;
服务器将所述签名值signdata发送回终端。
第三方面,本发明提供一种终端,包括:
第一SM2密钥生成模块,用于生成第一私钥因子d1和第一临时私钥变量tKey1,并将所述第一临时私钥变量tKey1发送给服务器;用于接收服务器发送的公钥(x,y)和第二临时私钥变量tKey2、第一密钥分散因子W1和第二密钥分散因子W2
第一SM2密钥存储模块,用于存储第一私钥因子d1、公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2
第一SM2密钥运算模块,用于执行通过第一私钥因子d1对签名原文e进行预签名操作;并将签名原文e和预签名值tSigndata发送给服务器;负责接收服务器发送的签名值。
第四方面,本发明提供一种服务器,包括第二SM2密钥生成模块,用于接收终端发送的第一临时私钥变量tKey1,并对其合法性进行校验;用于生成第二私钥d2,根据临时第一临时私钥变量tKey1计算出公钥(x,y)、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2
第二SM2密钥存储模块,用于存储第二私钥d2、随机数t2和公钥(x,y);
第二SM2密钥运算模块,用于接收终端发送的签名原文e和预签名值tSigndata并进行合法性校验,通过第二私钥因子对所述预签名值进行签名操作得到签名值。
第五方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的方法。
本发明的有益效果是:
本发明通过由预设数量私钥因子组成私钥,私钥因子分别存储在不同的设备中,所述设备包括终端和服务器,有效的解决了私钥文件易被窃取的问题,将私钥因子分散存储在终端和服务器上,攻击者无法从终端上获得完整的私钥。同时,签名计算过程需要在终端设备和服务端分步进行,私钥不会完整的出现在终端设备内存中,有效的解决了私钥文件以明文的方式出现在终端内存中易泄露的问题,使得私钥的存储更加安全。
附图说明
图1是本发明中一种SM2密钥生成方法一具体实施例的流程图;
图2是本发明中一种SM2密钥生成方法一具体实施例的时序图;
图3是本发明中一种SM2密钥生成方法又一具体实施例的流程图;
图4是本发明中一种SM2密钥生成方法一具体实施例中公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2的生成过程流程图;
图5是本发明中一种SM2密钥签名方法又一具体实施例的时序图;
图6是本发明中一种SM2密钥签名方法一具体实施例的流程图;
图7是本发明中一种终端的一具体实施例的结构原理框图;
图8是本发明中一种服务器的一具体实施例的结构原理框图;
图9是本发明中一种服务器和一种终端的一具体实施例的通信示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明公开了一种SM2密钥生成方法,由预设数量私钥因子组成私钥,所述私钥因子分别存储在不同的设备中,所述设备包括终端和服务器。
根据国家密码管理局公布的《SM2椭圆曲线公钥密码算法》,标准SM2算法包含如下要素:
1)私钥:dA
2)公钥:(x,y)=[dA]G
标准SM2签名算法包含如下步骤:
1)接收签名原文e;
2)产生随机数k,计算(x1,y1)=[k]G;
3)计算r=(e+x1)mod n,若r=0或r+k=n,重新产生随机数;
4)计算s=((1+dA)-1(k-rdA))mod n,若s=0,重新产生随机数;
5)签名值:sig=r||s;
本发明采用SM2密钥分散算法,基于密钥拆分的原理,是对上述标准SM2算法流程复杂化的一种表现形式,通过将算法执行过程中参与运算的数值、变量进行拆分、非线性变化和重组,确保完整的私钥数据在运算中以及存储中都不会在用户终端设备上完整出现,从而起到隐藏用户私钥数据的作用,提高内存分析等攻击手段获取用户私钥的难度。
一个具体的实施例包括如下步骤:
1)将dA拆分为两个私钥因子相加,即dA=d1+d2,计算公钥(x,y)=[d1]G+[d2]G=[dA]G。
2)令t=(1+dA)-1,生成随机数t2,计算t1=t-t2
3)计算第一密钥分散因子W1=t1 -1,计算第二密钥分散因子W2=d1t1
4)分开存储公钥(x,y)、d1、d2、t2、W1和W2
采用SM2密钥分散算法进行签名的过程包括如下步骤:
签名原文为e,签名过程如下:
1)产生随机数K,计算k=kW1,即,K=t1k。
2)计算(x1,y1)=[k]G。
3)计算r=(e+x1)modn,若r=0或r+k=n,重新产生随机数K。
4)计算W3=d2t1=d2Kk-1
5)计算s=K+t2k-r(d2t2+W2+W3+t2W1W2)=((1+dA)-1(k-rdA))modn,若s=0,重新产生随机数K。
6)签名值:sig=r||s
标准SM2算法和SM2密钥分散算法的签名值均由r和s两部分组成,对于r部分,标准SM2算法和SM2密钥分散算的计算方式相同,因此,对于相同的签名原文e,计算得到的r的结果相同,对于s部分,SM2密钥分散算法的计算结果s=K+t2k-r(d2t2+W2+W3+t2W1W2)=((1+dA)-1(k-rdA))modn=标准SM2算法的计算结果,因此对于相同的签名原文e,标准SM2算法和SM2密钥分散算法的签名结果相同。
另一方面,将第一私钥d1、第二私钥d2、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2分散存储,如在终端存储第一私钥d1、第一密钥分散因子W1和第二密钥分散因子W2,在服务器存储第二私钥d2、随机数t2。在SM2密钥分散算法密钥生成的过程中,终端产生第一临时私钥变量tKey1,服务器产生第二临时私钥变量tKey2,攻击者仅攻击终端或服务器的情况下无法得到完整的私钥,极大的提高了安全性。
在签名计算过程中,终端设备产生预签名值tSigndata,tSigndata=F[K,KW1,r(W2+W1W2)],F为线性函数,而参数由K,r,W1和W2经过非线性计算得到,其中,K是临时产生的随机因子,r是根据输入e和W1经过非线性计算得到,W1和W2是由d1和t1经过非线性计算得到,在不知道服务端第二私钥d2和服务端随机数t2的情况下,攻击者也是无法推导计算出完整私钥dA的,即,在SM2分散算法签名计算的过程中,攻击者从终端设备产生的临时中间变量tSigndata中是无法推导计算出完整私钥dA,解决了密钥明文存储安全性差的问题。
如图1和图2所示,在一个具体的实施例中,私钥因子包括所述私钥因子包括第一私钥因子d1和第二私钥因子d2,生成私钥因子具体包括如下步骤:
S1,接收密钥生成指令,生成第一私钥因子d1和第一临时私钥变量tKey1,其中,tKey1=[d1]G,G为SM2椭圆曲线公钥密码算法;
S2,发送密钥对生成请求和所述第一临时私钥变量tKey1到服务器;
S3,接收服务器发送的公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2
S4,验证所述公钥(x,y),若通过,则存储所述第一私钥因子d1、所述公钥(x,y)、所述第一密钥分散因子W1和所述第二密钥分散因子W2
终端仅生成第一私钥因子,无法构成完整的密钥,同时,终端并不会将第一私钥因子发送给服务器,也仅能接收到服务器发送的第一密钥分散因子W1和所述第二密钥分散因子W2无法推测出服务器的第二私钥因子,确保了密钥的安全。
如图3和图5所示,在一个具体实施例子中,服务器生成私钥因子包括如下步骤:
Step1,接收终端发送的密钥对生成请求和第一临时私钥变量tKey1,并对所述密钥对进行合法性校验;
Step2,校验通过后,生成第二私钥d2,根据第一临时私钥变量tKey1计算出公钥(x,y)、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2
Step3,存储所述第二私钥d2、随机数t2和公钥(x,y);
Step4,向终端发送所述公钥(x,y)、所述第一密钥分散因子W1和所述第二密钥分散因子W2
服务器仅接收终端发送的第一私钥临时变量,无法得到终端的第一私钥因子,确保了密钥的安全。
如图4所示,上述步骤Step2,校验通过后,生成第二私钥d2,根据第一临时私钥变量tKey1计算出公钥(x,y)、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2具体包括如下步骤:
Step20,生成第二私钥d2
Step21,计算公钥(x,y),其中(x,y)=[d1]G+[d2]G,其中G为SM2椭圆曲线公钥密码算法;
Step22,计算第一分散因子W1,其中W1=t1 -1,t1=t-t2,t=(1+d1+d2)-1,t2为随机数;
Step23,计算第二分散因子W2,其中W2=d1t1
如图6所示,在一个具体实施例中,SM2密钥签名方法包括如下步骤:
110,终端接收签名请求和签名原文e;
120,终端通过第一私钥因子d1对所述签名原文e进行预签名得到预签名的值tSigndata,tSigndata=F[K,KW1,r(W2+W1W2)],其中:r=(e+x1)mod n,(x1,y1)=[k]G,F为线性函数,k为随机数,n为正整数,mod为取模运算;
130,终端将签名请求、所述签名原文e和所述预签名的值tSigndata发送到服务器;
140,服务器验证所述签名请求,通过第二私钥因子对所述预签名值tSigndata进行签名操作得到签名值signdata,其中signdata=r||s,r=(e+x1)mod n,mod指取模运算,s=K+t2k-r(d2t2+W2+W3+t2W1W2),K为随机数,k=kW1,r||s指r与s的拼接;
150,服务器将所述签名值signdata发送回终端。
本实施例中,签名过程分别在终端和服务器中共同完成,终端和服务器互相验证对方签名的合法性,防止了一方遭到攻击而导致签名泄露的问题,确保了签名的安全。
如图7和图9所示,本发明还公开了一种终端,包括:
第一SM2密钥生成模块,用于生成第一私钥因子d1和第一临时私钥变量tKey1,并将所述第一临时私钥变量tKey1发送给服务器的第二密钥生成模块;用于接收服务器发送的公钥(x,y)和第二临时私钥变量tKey2、第一密钥分散因子W1和第二密钥分散因子W2
第一SM2密钥存储模块,用于存储第一私钥因子d1、公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2
第一SM2密钥运算模块,用于执行通过第一私钥因子d1对所述签名原文e进行预签名操作;并将签名原文和预签名值发送给服务器的第二密钥运算模块;负责接收服务器发送的签名值。
如图8和图9所示,本发明还公开了一种服务器,包括:
第二SM2密钥生成模块,用于接收终端的第一密钥生成模块发送的第一临时私钥变量tKey1,并对其合法性进行校验;用于生成第二私钥d2,根据临时第一临时私钥变量tKey1计算出公钥(x,y)、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2
第二SM2密钥存储模块,用于存储第二私钥d2、随机数t2和公钥(x,y);
第二SM2密钥运算模块,用于接收终端第一密钥运算模块发送的签名原文e和预签名值tSigndata并进行合法性校验,通过第二私钥因子对所述预签名值tSigndata进行签名操作得到签名值signdata。
本发明中还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的方法。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (8)

1.一种SM2密钥生成方法,其特征在于,由预设数量私钥因子组成私钥,所述私钥因子分别存储在不同的设备中,所述设备包括终端和/或服务器。
2.根据权利要求1所述的一种SM2密钥生成方法,其特征在于,所述私钥因子包括第一私钥因子d1和第二私钥因子d2,所述方法还包括如下步骤:
接收密钥生成指令,生成第一私钥因子d1和第一临时私钥变量tKey1,其中,tKey1=[d1]G,G为SM2椭圆曲线公钥密码算法;
发送密钥对生成请求和所述第一临时私钥变量tKey1到服务器;
接收服务器发送的公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2
验证所述公钥(x,y),若通过,则存储所述第一私钥因子d1、所述公钥(x,y)、所述第一密钥分散因子W1和所述第二密钥分散因子W2
3.根据权利要求2所述的一种SM2密钥生成方法,其特征在于,还包括如下步骤:
接收终端发送的密钥对生成请求和第一临时私钥变量tKey1,并对所述密钥对进行合法性校验;
校验通过后,生成第二私钥d2,根据第一临时私钥变量tKey1计算出公钥(x,y)、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2
存储所述第二私钥d2、随机数t2和所述公钥(x,y);
向终端发送所述公钥(x,y)、所述第一密钥分散因子W1和所述第二密钥分散因子W2
4.根据权利要求3所述的一种SM2密钥生成方法,其特征在于,所述步骤校验通过后,生成第二私钥d2,并生成随机数t2,根据第一临时私钥变量tKey1计算出公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2具体包括:
生成第二私钥d2
计算公钥(x,y),其中(x,y)=[d1]G+[d2]G,其中G为SM2椭圆曲线公钥密码算法;
计算第一分散因子W1,其中W1=t1 -1,t1=t-t2,t=(1+d1+d2)-1,t2为随机数;
计算第二分散因子W2,其中W2=d1t1
5.一种密钥签名方法,其特征在于,使用权利要求1至4任一项所述的密钥生成方法生成的密钥进行签名,具体包括如下步骤:
终端接收签名请求和签名原文e;
终端通过第一私钥因子d1对所述签名原文e进行预签名得到预签名的值tSigndata,tSigndata=F[K,KW1,r(W2+W1W2)],其中:r=(e+x1)mod n,(x1,y1)=[k]G,F为线性函数,k为随机数,n为正整数,mod为取模运算;
终端将签名请求、所述签名原文e和所述预签名的值tSigndata发送到服务器;
服务器验证所述签名请求,通过第二私钥因子对所述预签名值tSigndata进行签名操作得到签名值signdata,其中signdata=r||s,r=(e+x1)mod n,mod指取模运算,s=K+t2k-r(d2t2+W2+W3+t2W1W2),K为随机数,k=kW1,r||s指r与s的拼接;
服务器将所述签名值signdata发送回终端。
6.一种终端,其特征在于,包括:
第一SM2密钥生成模块,用于生成第一私钥因子d1和第一临时私钥变量tKey1,并将所述第一临时私钥变量tKey1发送给服务器;用于接收服务器发送的公钥(x,y)和第二临时私钥变量tKey2、第一密钥分散因子W1和第二密钥分散因子W2
第一SM2密钥存储模块,用于存储第一私钥因子d1、公钥(x,y)、第一密钥分散因子W1和第二密钥分散因子W2
第一SM2密钥运算模块,用于执行通过第一私钥因子d1对签名原文e进行预签名操作;并将签名原文e和预签名值tSigndata发送给服务器;负责接收服务器发送的签名值。
7.一种服务器,其特征在于,包括:
第二SM2密钥生成模块,用于接收终端发送的第一临时私钥变量tKey1,并对其合法性进行校验;用于生成第二私钥d2,根据临时第一临时私钥变量tKey1计算出公钥(x,y)、随机数t2、第一密钥分散因子W1和第二密钥分散因子W2
第二SM2密钥存储模块,用于存储第二私钥d2、随机数t2和公钥(x,y);
第二SM2密钥运算模块,用于接收终端发送的签名原文e和预签名值tSigndata并进行合法性校验,通过第二私钥因子对所述预签名值进行签名操作得到签名值。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的方法。
CN201811310717.0A 2018-11-06 2018-11-06 一种sm2密钥生成、签名方法、终端、服务器和存储介质 Pending CN109600224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811310717.0A CN109600224A (zh) 2018-11-06 2018-11-06 一种sm2密钥生成、签名方法、终端、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811310717.0A CN109600224A (zh) 2018-11-06 2018-11-06 一种sm2密钥生成、签名方法、终端、服务器和存储介质

Publications (1)

Publication Number Publication Date
CN109600224A true CN109600224A (zh) 2019-04-09

Family

ID=65957509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811310717.0A Pending CN109600224A (zh) 2018-11-06 2018-11-06 一种sm2密钥生成、签名方法、终端、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN109600224A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110391900A (zh) * 2019-07-04 2019-10-29 晋商博创(北京)科技有限公司 基于sm2算法的私钥处理方法、终端及密钥中心
CN110493233A (zh) * 2019-08-23 2019-11-22 广州华多网络科技有限公司 通信方法、装置、系统、计算机可读介质及设备
CN110635912A (zh) * 2019-08-20 2019-12-31 北京思源理想控股集团有限公司 数据处理方法及装置
CN111404696A (zh) * 2020-03-31 2020-07-10 中国建设银行股份有限公司 协同签名方法、安全服务中间件、相关平台及系统
US11121864B1 (en) 2020-03-13 2021-09-14 International Business Machines Corporation Secure private key distribution between endpoint instances

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162583A (zh) * 2015-07-15 2015-12-16 北京江南天安科技有限公司 一种单个、单级和多级密钥对分散方法及其系统
CN106603246A (zh) * 2017-01-22 2017-04-26 武汉理工大学 一种sm2数字签名分割生成方法及系统
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
CN107483191A (zh) * 2017-08-16 2017-12-15 济南浪潮高新科技投资发展有限公司 一种sm2算法密钥分割签名系统及方法
CN107707347A (zh) * 2017-10-27 2018-02-16 深圳市文鼎创数据科技有限公司 用户密钥的备份方法及装置、用户密钥的导入方法及装置
CN108667626A (zh) * 2018-07-20 2018-10-16 陕西师范大学 安全的两方协作sm2签名方法
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162583A (zh) * 2015-07-15 2015-12-16 北京江南天安科技有限公司 一种单个、单级和多级密钥对分散方法及其系统
CN106603246A (zh) * 2017-01-22 2017-04-26 武汉理工大学 一种sm2数字签名分割生成方法及系统
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
CN107483191A (zh) * 2017-08-16 2017-12-15 济南浪潮高新科技投资发展有限公司 一种sm2算法密钥分割签名系统及方法
CN107707347A (zh) * 2017-10-27 2018-02-16 深圳市文鼎创数据科技有限公司 用户密钥的备份方法及装置、用户密钥的导入方法及装置
CN108667626A (zh) * 2018-07-20 2018-10-16 陕西师范大学 安全的两方协作sm2签名方法
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110391900A (zh) * 2019-07-04 2019-10-29 晋商博创(北京)科技有限公司 基于sm2算法的私钥处理方法、终端及密钥中心
CN110391900B (zh) * 2019-07-04 2022-03-01 晋商博创(北京)科技有限公司 基于sm2算法的私钥处理方法、终端及密钥中心
CN110635912A (zh) * 2019-08-20 2019-12-31 北京思源理想控股集团有限公司 数据处理方法及装置
CN110635912B (zh) * 2019-08-20 2022-07-15 北京思源理想控股集团有限公司 数据处理方法及装置
CN110493233A (zh) * 2019-08-23 2019-11-22 广州华多网络科技有限公司 通信方法、装置、系统、计算机可读介质及设备
CN110493233B (zh) * 2019-08-23 2020-10-02 广州华多网络科技有限公司 通信方法、装置、系统、计算机可读介质及设备
US11121864B1 (en) 2020-03-13 2021-09-14 International Business Machines Corporation Secure private key distribution between endpoint instances
CN111404696A (zh) * 2020-03-31 2020-07-10 中国建设银行股份有限公司 协同签名方法、安全服务中间件、相关平台及系统
CN111404696B (zh) * 2020-03-31 2022-11-04 中国建设银行股份有限公司 协同签名方法、安全服务中间件、相关平台及系统

Similar Documents

Publication Publication Date Title
CN111130757B (zh) 一种基于区块链的多云cp-abe访问控制方法
CN107579819B (zh) 一种sm9数字签名生成方法及系统
CN105939191B (zh) 一种云存储中密文数据的客户端安全去重方法
CN109600224A (zh) 一种sm2密钥生成、签名方法、终端、服务器和存储介质
CN104753917B (zh) 基于id的密钥管理系统及方法
CN105553951B (zh) 数据传输方法和装置
CN103118027B (zh) 基于国密算法建立tls通道的方法
CN106161402B (zh) 基于云环境的加密机密钥注入系统、方法及装置
CN104219228B (zh) 一种用户注册、用户识别方法及系统
CN109274503A (zh) 分布式协同签名方法及分布式协同签名装置、软盾系统
CN105307165B (zh) 基于移动应用的通信方法、服务端和客户端
CN107197037B (zh) 一种基于云服务器的具有审计功能的数据存取方法及系统
CN107852404A (zh) 保密通信的相互认证
CN110474898A (zh) 数据加解密和密钥分布方法、装置、设备及可读存储介质
CN104967693B (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN108418686A (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法
CN103580855B (zh) 一种基于共享技术的UsbKey密钥管理方法
CN103795533A (zh) 基于标识符的加密、解密的方法及其执行装置
CN110050437A (zh) 分布式证书注册的装置和方法
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN109818741A (zh) 一种基于椭圆曲线的解密计算方法及装置
CN109194474A (zh) 一种数据传输方法及装置
CN109478214A (zh) 用于证书注册的装置和方法
CN109921902A (zh) 一种密钥管理方法、安全芯片、业务服务器及信息系统
CN109005184A (zh) 文件加密方法及装置、存储介质、终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190409