CN106603246A - 一种sm2数字签名分割生成方法及系统 - Google Patents
一种sm2数字签名分割生成方法及系统 Download PDFInfo
- Publication number
- CN106603246A CN106603246A CN201710056996.1A CN201710056996A CN106603246A CN 106603246 A CN106603246 A CN 106603246A CN 201710056996 A CN201710056996 A CN 201710056996A CN 106603246 A CN106603246 A CN 106603246A
- Authority
- CN
- China
- Prior art keywords
- mod
- interval
- digital signature
- calculated
- integer
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3252—Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
发明涉及SM2数字签名分割生成方法:装置1、装置2有秘密d1、d2且(1+dA)‑1=d1d2 mod n,dA是用户的SM2私钥;当针对消息M生成数字签名时,两个装置通过交互计算出Q=[b(k1+k2)]G,r=(e+x1)mod n,其中k1、k2分别是装置1、2在[1,n‑1]中任选的整数,b是装置1仅知的整数常数或在[1,n‑1]中任选的整数,G是SM2点群的基点,(x1,y1)=Q,e是消息M的杂凑值;装置1将计算的w1=d1b mod n,s1=(k1+(b)‑1r)mod n发送给装置2;装置2计算s=(d2w1(k2+s1)‑r)mod n;则(r,s)是消息M的数字签名。
Description
技术领域
本发明属于信息安全技术领域,特别是一种SM2数字签名分割生成方法及系统。
背景技术
在公开密钥密码体制中,为了保障用户私钥的安全性,用户的私钥通常是存储在专门的密码硬件中使用,如存储在USB Key、SmartCard中使用,且私钥不能从密码硬件中导出。但是,在有些情况下,比如,由于成本的原因,或者由于没有合适的密码硬件(如移动通信终端),使得用户无法依赖密码硬件来存储私钥、以及使用私钥进行密码运算。对于这种情况,目前最常用的方法是使用纯软件的密码模块,并将用户私钥保存在用户计算装置本地的永久存储介质中(如个人电脑的磁盘、移动通信终端内的电子盘),并通过PIN(Personal Identification Number)码对私钥进行保护。当需要使用用户私钥时,软件密码模块从用户计算装置的永久存储介质读取用户私钥(必要时要求用户输入PIN码),然后进行密码运算。这种采用纯软件密码模、将用户私钥保存在用户计算装置本地的方式存在用户私钥泄露的风险,比如,攻击者通过木马窃取保存在用户计算装置中的用户私钥,破解用户保护私钥的PIN码,从而获得用户私钥;而且这种采用纯软件密码模块的方式,用户私钥最终需以明文形式导入到内存中使用,这样攻击者有可能通过一定的攻击方式,窃取存放在内存中的用户私钥。如何在不采用密码硬件的情况下,安全存储和使用用户私钥具有现实的需求,对此问题的解决具有很好的实际应用意义。
对此问题常见的解决方案是,将用户私钥通过一定的方式分割成多份,每份称为秘密份额,然后将每份秘密份额存储到不同的计算装置中,尤其是将部分秘密份额存放在安全保护措施到位、安全条件好的专业的密码服务机构的在线密码服务系统中;当密码应用程序、系统需要使用用户私钥进行密码运算时,如进行数字签名或数据解密时,多个计算装置分别使用自己的秘密份额进行密码运算,最后将各装置计算的结果合并,形成最后的、使用用户私钥进行密码运算的结果(数字签名或数据解密的结果)。
SM2是由国家密码管理局颁布的一种椭圆曲线公钥密码算法(参见《SM2椭圆曲线公钥密码算法》规范,国家密码管理局,2010年12月),基于此算法能实现数字签名、密钥交换及数据加密。但是,由于SM2算法独特的数字签名运算方式,通常的秘密共享(分割)方式及对应的基于秘密共享的密码运算方式,无法适合于使用SM2私钥进行数字签名的情形。
发明内容
本发明的目的是提出一种基于秘密分割(或共享)的SM2数字签名生成方法,以满足没有密码硬件的情况下,安全使用用户SM2私钥进行数字签名的需求。
针对本发明的目的,本发明提出的技术方案是一种SM2数字签名的分割生成方法。
在以下对本发明技术方案的描述中,若P、Q是椭圆曲线点群中的元素(点),则P+Q表示P、Q的点加,[k]P表示k个椭圆曲线点P的点加,即P+P+...+P(共有k个P);省略号“...”,表示多个同样(类型)的数据项或多个同样的运算;c-1表示整数c的模n乘法逆(即cc-1mod n=1);多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化位3c;mod n表示模n运算(modulooperation),对应于《SM2椭圆曲线公钥密码算法》规范(国家密码管理局,2010年12月)中的modn;还有,模n运算的算子mod n的优先级是最低的,如a+b mod n等同于(a+b)mod n,a-bmod n等同于(a-b)mod n,ab mod n等同于(ab)mod n。
本发明的方法具体如下。
所述方法涉及两个分别称为装置1、装置2的装置;
装置1分配有秘密份额d1,装置2分配有秘密份额d2,其中d1、d2是[1,n-1]区间内的整数,而n是SM2密码运算所使用的椭圆曲线点群的阶,也即SM2密码运算所使用的椭圆曲线点群的基点G的阶(SM2密码运算所使用的椭圆曲线点群是指由基点G生成的循环群);
两个装置的秘密份额与用户的SM2私钥dA满足关系:
(1+dA)-1=d1d2mod n,其中,(1+dA)-1是(1+dA)的模n乘法逆(即(1+dA)-1(1+dA)modn=1);
(两个装置都不拥有dA;进行秘密分割、发放初始化操作的可以是一个专门的密钥管理系统,或者是用户计算装置中的一个密码模块、密钥管理工具);
当需要使用用户的SM2私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成(需要使用用户的SM2私钥dA、针对消息M进行数字签名的主体可以是调用这两个装置的密码应用程序、系统或密码模块,或者两个装置之一中的密码应用程序、系统):
首先,两个装置通过交互计算得到Q=[b(k1+k2)]G,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点),其中k1、k2是计算Q的过程中装置1、装置2分别在区间[1,n-1]中随机选择的整数,b是区间[1,n-1]中的只有装置1才知道的整数常数(秘密),或者b是计算Q的过程中装置1在区间[1,n-1]中随机选择的一个整数,G是SM2椭圆曲线点群的基点,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值(即散列值)(本发明中的b不是椭圆曲线方程的参数b;按SM2算法,e是从用户标识IDA等参数导出的杂凑值ZA同消息M合并后的数据的杂凑值,参见SM2规范);
之后,装置1计算w1=d1b mod n,s1=(k1+(b)-1r)mod n,然后将w1、s1发送给装置2;
最后,装置2接收到装置1的w1、s1后,计算s=(d2w1(k2+s1)-r)mod n;(r,s)就是生成的针对消息M的数字签名。
这里r是非保密数据,根据需要可在两个装置之间传递。
若b是区间[1,n-1]中的只有装置1才知道的整数常数(秘密),则在数字签名生成之前的初始化过程中,(由初始化工具或系统或用户计算装置中的密码模块或密钥管理工具)计算Gb=[b]G,装置1、装置2分别保存Gb;在针对消息M进行数字签名时,装置1和装置2分别从本地保存的数据中获得Gb;
若b是计算Q的过程中装置1在区间[1,n-1]中随机选择的一个整数,则在针对消息M进行数字签名时,装置1在区间[1,n-1]中随机选择一个整数b,计算得到Gb=[b]G,然后将Gb发送给装置2,由此装置1和装置2都获得Gb。
在针对消息M进行数字签名时,两个装置按如下方式,或者按与如下方式等同的方式,通过交互计算得到Q=[b(k1+k2)]G,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点):
首先,装置1和装置2分别从本地保存的数据中或通过实时计算和交换获得Gb,其中Gb=[b]G;
之后,装置1在区间[1,n-1]中随机选择一个整数k1,计算得到Q1=[k1]Gb;
装置2在区间[1,n-1]中随机选择一个整数k2,计算得到Q2=[k2]Gb,然后将Q2发送给装置1;
装置1接收到Q2后,计算Q=Q1+Q2,此时Q=[b(k1+k2)]G;
装置1检查Q是否是SM2椭圆曲线点群的零元(无穷远点),若是,则装置1重新选择k1,重新计算Q1=[k1]Gb,重新计算Q=Q1+Q2,重新判断Q是否是零元,重复此过程,直到Q不是零元为止;若Q不是零元,则装置1取(x1,y1)=Q,计算r=(e+x1)mod n;
若计算得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点),则Q、r的计算完成;否则,装置1重新在区间[1,n-1]中随机选择一个整数k1,然后重新计算Q1,Q=Q1+Q2,重新判断Q是否是零元,以及在Q不是零元时计算r,重复此过程,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点);
或者,若r=0或[r]G+Q是SM2椭圆曲线点群的零元(无穷远点),则两个装置一起从头重新进行Q、r的计算(即装置1和装置2重新得到Gb,装置1重新选择k1,装置2重新选择k2,然后计算Q=Q1+Q2,判断Q是否是零元,以及在Q不是零元时计算r=(e+x1)mod n),重复此过程,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点);
所述等同的方式,即同样能得到Q=[b(k1+k2)]G、并依据Q计算得到r,且使得r、Q满足r≠0且[r]G+Q不是SM2椭圆曲线点群的零元的方式。
若装置1在计算得到Q、r时,仅检查r是否为零,不检查[r]G+Q是否是SM2椭圆曲线点群的零元(无穷远点),且仅在r=0时重新进行Q、r的计算(只要r≠0就不重新进行Q、r计算),则:
装置2计算得到s后,若检查发现(s+r)mod n=0,则放弃计算得到的s,装置1重新在区间[1,n-1]中随机选择一个整数k1,重新计算Q1,Q=Q1+Q2,重新判断Q是否是零元,以及在Q不是零元时计算r=(e+x1)mod n,装置2重新计算s,重复此过程,直到(s+r)mod n≠0;
或者装置2计算得到s后,若检查发现(s+r)mod n=0,则两个装置一起从头重新进行Q、r的计算(即装置1和装置2重新得到Gb,装置1重新选择k1,计算Q1,装置2重新选择k2,计算Q2,然后装置1重新计算Q=Q1+Q2,判断Q是否是零元,以及在Q不是零元时计算r=(e+x1)mod n),装置2重新计算s,直到(s+r)mod n≠0。
在以上方案中,若b是计算Q的过程中装置1在区间[1,n-1]中随机选择的一个整数,则k1既可以是计算Q1时装置1在区间[1,n-1]中随机选择的一个整数,也可以是区间[1,n-1]中的只有装置1才知道的整数常数(每次计算Q1时都使用同一个k1)。
在本发明的方案中,用户的公钥仍然是dAG,在进行秘密分割前计算并公开发布。
从以上发明内容可以看到,基于本发明的SM2数字签名的分割生成方法,当用户没有硬件密码装置存放SM2私钥时,可以将与用户的私钥dA相关的秘密数据(1+dA)-1分割成两份秘密份额,分别存放在不同密码服务机构的密码服务系统,在需要使用用户的SM2私钥对消息进行签名时,两个机构的密码服务系统分别使用各自具有的秘密份额,通过交互最后生成针对消息的数字签名;或者,两份秘密份额中的一份存放在一个密码服务机构的密码服务系统中,另一份存放到用户的计算装置中,当在需要使用用户的SM2私钥对消息进行签名时,用户的计算装置和密码服务机构的密码服务系统分别使用各自具有的秘密份额,通过交互最后生成针对消息的数字签名;由于攻击者同时获得在两个不同密码服务机构的密码服务系统中的秘密份额,或者同时获得在用户计算装置和密码服务机构的密码服务系统中的秘密份额的可能性极低,这就大大提高了在没有密码硬件的情况下,用户SM2私钥使用的安全性。
附图说明
无。
具体实施方式
下面结合实施例对本发明作进一步的描述。以下实施例不作为对本发明的限定。
将秘密(1+dA)-1分割为d1、d2,且(1+dA)-1=d1d2mod n是很容易的:在[1,n-1]中随机选择一个整数作为d1,之后,计算d2=(d1)-1(1+dA)-1mod n即可。
实施例1、
在此实施例中,用户的计算装置(如个人电脑、移动通信终端)是本发明的SM2数字签名分割生成方法中的两个装置中的一个(装置1或装置2),另一个装置是一个密码服务系统中的密码服务器(作为装置2或装置1);用户的计算装置和密码服务器都不保存用户的SM2私钥dA、(1+dA)-1;(1+dA)-1的秘密份额d1、d2,一份保存在用户计算装置中,另一份保存在密码服务器中;当用户计算装置中的密码应用程序或系统要使用用户的SM2私钥dA对消息进行签名时,用户计算装置(实际上,通常是用户计算装置中的密码模块)与密码服务器交互,应用本发明的方法、使用秘密份额d1、d2生成消息的数字签名。
实施例2、
在此实施例中,本发明的SM2数字签名分割生成方法中的一个装置是一个机构的密码服务系统中的密码服务器,另一个装置是另一个机构的密码服务系统中的密码服务器;用户计算装置以及两个密码服务机构的密码服务器都不保存用户的SM2私钥dA、(1+dA)-1;(1+dA)-1的两份秘密份额d1、d2,分别保存在两个密码服务系统的密码服务器中;当用户计算装置中的密码应用程序或系统要使用用户的SM2私钥dA对消息进行签名时,用户计算装置(通常是用户计算装置中的密码模块)将请求发送到一个密码服务系统,之后两个密码服务系统的密码服务器通过交互,应用本发明的方法、使用秘密份额d1、d2生成消息的数字签名,然后将生成的签名被返回给用户计算装置;在数字签名生成过程中,分属两个密码服务系统的两个密码服务器中的任一个可以都作为本发明的数字签名生成方法中的装置1,另一个作为装置2。
基于本发明的方法,很容易构建实施本发明方法的系统。
基于本发明的方法构建的SM2数字签名分割生成系统包括两个装置,其中,一个装置是用户计算装置,另一个是密钥服务系统的密码服务器,或者两个装置都是密钥服务系统的密码服务器;两个装置按所述SM2数字签名分割生成方法,生成使用用户SM2私钥dA对消息M的数字签名。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。
Claims (6)
1.一种SM2数字签名分割生成方法,其特征是:
所述方法涉及两个分别称为第一装置、第二装置的装置;
第一装置分配有秘密份额d1,第二装置分配有秘密份额d2,其中d1、d2是[1,n-1]区间内的整数,而n是SM2密码运算所使用的椭圆曲线点群的阶,也即SM2密码运算所使用的椭圆曲线点群的基点G的阶;
两个装置的秘密份额与用户的SM2私钥dA满足关系:
(1+dA)-1=d1d2mod n,其中,(1+dA)-1是(1+dA)的模n乘法逆;
当需要使用用户的SM2私钥dA针对消息M进行数字签名时,两个装置按如下方式进行数字签名的生成:
首先,两个装置通过交互计算得到Q=[b(k1+k2)]G,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元,其中k1、k2是计算Q的过程中第一装置、第二装置分别在区间[1,n-1]中随机选择的整数,b是区间[1,n-1]中的只有第一装置才知道的整数常数,或者b是计算Q的过程中第一装置在区间[1,n-1]中随机选择的一个整数,G是SM2椭圆曲线点群的基点,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值;
之后,第一装置计算w1=d1b mod n,s1=(k1+(b)-1r)mod n,然后将w1、s1发送给第二装置;
最后,第二装置接收到第一装置的w1、s1后,计算s=(d2w1(k2+s1)-r)mod n;(r,s)就是生成的针对消息M的数字签名。
2.根据权利要求1所述的SM2数字签名分割生成方法,其特征是:
若b是区间[1,n-1]中的只有第一装置才知道的整数常数,则在数字签名生成之前的初始化过程中,计算Gb=[b]G,第一装置、第二装置分别保存Gb;在针对消息M进行数字签名时,第一装置和第二装置分别从本地保存的数据中获得Gb;
若b是计算Q的过程中第一装置在区间[1,n-1]中随机选择的一个整数,则在针对消息M进行数字签名时,第一装置在区间[1,n-1]中随机选择一个整数b,计算得到Gb=[b]G,然后将Gb发送给第二装置,由此第一装置和第二装置都获得Gb。
3.根据权利要求2所述的SM2数字签名分割生成方法,其特征是:
在针对消息M进行数字签名时,两个装置按如下方式,或者按与如下方式等同的方式,通过交互计算得到Q=[b(k1+k2)]G,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元:
首先,第一装置和第二装置从本地保存的数据中或通过实时计算和交换获得Gb,其中Gb=[b]G;
之后,第一装置在区间[1,n-1]中随机选择一个整数k1,计算得到Q1=[k1]Gb;
第二装置在区间[1,n-1]中随机选择一个整数k2,计算得到Q2=[k2]Gb,然后将Q2发送给第一装置;
第一装置接收到Q2后,计算Q=Q1+Q2,此时Q=[b(k1+k2)]G;
第一装置检查Q是否是SM2椭圆曲线点群的零元,若是,则第一装置重新选择k1,重新计算Q1=[k1]Gb,重新计算Q=Q1+Q2,重新判断Q是否是零元,重复此过程,直到Q不是零元为止;若Q不是零元,则第一装置取(x1,y1)=Q,计算r=(e+x1)mod n;
若计算得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元,则Q、r的计算完成;否则,第一装置重新在区间[1,n-1]中随机选择一个整数k1,然后重新计算Q1,Q=Q1+Q2,重新判断Q是否是零元,以及在Q不是零元时计算r,重复此过程,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元;
或者,若r=0或[r]G+Q是SM2椭圆曲线点群的零元,则两个装置一起从头重新进行Q、r的计算,重复此过程,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元;
所述等同的方式,即同样能得到Q=[b(k1+k2)]G、并依据Q计算得到r,且使得r、Q满足r≠0且[r]G+Q不是SM2椭圆曲线点群的零元的方式。
4.根据权利要求3所述的SM2数字签名分割生成方法,其特征是:
若第一装置在计算得到Q、r时,仅检查r是否为零,不检查[r]G+Q是否是SM2椭圆曲线点群的零元,且仅在r=0时重新进行Q、r的计算,则:
第二装置计算得到s后,若检查发现(s+r)mod n=0,则放弃计算得到的s,第一装置重新在区间[1,n-1]中随机选择一个整数k1,重新计算Q1,Q=Q1+Q2,重新判断Q是否是零元,以及在Q不是零元时计算r=(e+x1)mod n,第二装置重新计算s,重复此过程,直到(s+r)mod n≠0;
或者第二装置计算得到s后,若检查发现(s+r)mod n=0,则两个装置一起从头重新进行Q、r的计算,第二装置重新计算s,直到(s+r)mod n≠0。
5.根据权利要求4所述的SM2数字签名分割生成方法,其特征是:
若b是计算Q的过程中第一装置在区间[1,n-1]中随机选择的一个整数,则k1是计算Q1时第一装置在区间[1,n-1]中随机选择的一个整数,或者是区间[1,n-1]中的只有第一装置才知道的整数常数。
6.一种基于权利要求1-5中任一项的SM2数字签名生成系统,其特征是:
所述系统包括两个装置,其中,一个装置是用户计算装置,另一个是密钥服务系统的密码服务器,或者两个装置都是密钥服务系统的密码服务器;两个装置中的一个作为所述SM2数字签名分割生成方法中的第一装置,另一个作为所述SM2数字签名分割生成方法中的第二装置;两个装置按所述SM2数字签名分割生成方法,生成使用用户SM2私钥dA对消息M的数字签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710056996.1A CN106603246B (zh) | 2017-01-22 | 2017-01-22 | 一种sm2数字签名分割生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710056996.1A CN106603246B (zh) | 2017-01-22 | 2017-01-22 | 一种sm2数字签名分割生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106603246A true CN106603246A (zh) | 2017-04-26 |
CN106603246B CN106603246B (zh) | 2019-05-24 |
Family
ID=58586551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710056996.1A Active CN106603246B (zh) | 2017-01-22 | 2017-01-22 | 一种sm2数字签名分割生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106603246B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483191A (zh) * | 2017-08-16 | 2017-12-15 | 济南浪潮高新科技投资发展有限公司 | 一种sm2算法密钥分割签名系统及方法 |
CN107528696A (zh) * | 2017-09-27 | 2017-12-29 | 武汉理工大学 | 一种隐藏私钥秘密的数字签名生成方法及系统 |
CN107623570A (zh) * | 2017-11-03 | 2018-01-23 | 北京无字天书科技有限公司 | 一种基于加法密钥分割的sm2签名方法 |
CN107634836A (zh) * | 2017-09-05 | 2018-01-26 | 何德彪 | 一种sm2数字签名生成方法及系统 |
CN107968710A (zh) * | 2017-11-27 | 2018-04-27 | 武汉理工大学 | Sm9数字签名分离交互生成方法及系统 |
CN108055136A (zh) * | 2017-12-22 | 2018-05-18 | 上海众人网络安全技术有限公司 | 基于椭圆曲线的签名方法、装置、计算机设备及存储介质 |
CN108964923A (zh) * | 2018-06-22 | 2018-12-07 | 成都卫士通信息产业股份有限公司 | 隐藏私钥的交互式sm2签名方法、系统和终端 |
CN108989047A (zh) * | 2018-07-19 | 2018-12-11 | 郑州信大捷安信息技术股份有限公司 | 一种基于sm2算法的通信双方协同签名方法与系统 |
CN109257176A (zh) * | 2018-10-18 | 2019-01-22 | 天津海泰方圆科技有限公司 | 基于sm2算法的解密密钥分割及解密方法、装置和介质 |
CN109600224A (zh) * | 2018-11-06 | 2019-04-09 | 卓望数码技术(深圳)有限公司 | 一种sm2密钥生成、签名方法、终端、服务器和存储介质 |
CN112737778A (zh) * | 2020-12-30 | 2021-04-30 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 数字签名生成、验证方法及装置、电子设备及存储介质 |
CN114070564A (zh) * | 2020-07-31 | 2022-02-18 | 华为技术有限公司 | 数字签名的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296072A (zh) * | 2007-04-29 | 2008-10-29 | 四川虹微技术有限公司 | 一种椭圆曲线上的共享密钥产生方法 |
CN102025491A (zh) * | 2010-12-15 | 2011-04-20 | 北京联合智华微电子科技有限公司 | 双矩阵组合公钥的生成方法 |
US20140211938A1 (en) * | 2013-01-29 | 2014-07-31 | Certicom Corp. | Modified elliptic curve signature algorithm for message recovery |
CN104202163A (zh) * | 2014-08-19 | 2014-12-10 | 武汉理工大学 | 一种基于移动终端的密码系统 |
CN106301770A (zh) * | 2016-08-22 | 2017-01-04 | 大唐微电子技术有限公司 | 一种Java卡SM2数字签名验证或信息加密的方法及装置 |
-
2017
- 2017-01-22 CN CN201710056996.1A patent/CN106603246B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296072A (zh) * | 2007-04-29 | 2008-10-29 | 四川虹微技术有限公司 | 一种椭圆曲线上的共享密钥产生方法 |
CN102025491A (zh) * | 2010-12-15 | 2011-04-20 | 北京联合智华微电子科技有限公司 | 双矩阵组合公钥的生成方法 |
US20140211938A1 (en) * | 2013-01-29 | 2014-07-31 | Certicom Corp. | Modified elliptic curve signature algorithm for message recovery |
CN104202163A (zh) * | 2014-08-19 | 2014-12-10 | 武汉理工大学 | 一种基于移动终端的密码系统 |
CN106301770A (zh) * | 2016-08-22 | 2017-01-04 | 大唐微电子技术有限公司 | 一种Java卡SM2数字签名验证或信息加密的方法及装置 |
Non-Patent Citations (1)
Title |
---|
汪朝晖等: "SM2椭圆曲线公钥密码算法综述", 《信息安全研究》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483191B (zh) * | 2017-08-16 | 2020-04-14 | 浪潮集团有限公司 | 一种sm2算法密钥分割签名系统及方法 |
CN107483191A (zh) * | 2017-08-16 | 2017-12-15 | 济南浪潮高新科技投资发展有限公司 | 一种sm2算法密钥分割签名系统及方法 |
CN107634836A (zh) * | 2017-09-05 | 2018-01-26 | 何德彪 | 一种sm2数字签名生成方法及系统 |
CN107528696A (zh) * | 2017-09-27 | 2017-12-29 | 武汉理工大学 | 一种隐藏私钥秘密的数字签名生成方法及系统 |
CN107623570A (zh) * | 2017-11-03 | 2018-01-23 | 北京无字天书科技有限公司 | 一种基于加法密钥分割的sm2签名方法 |
CN107623570B (zh) * | 2017-11-03 | 2020-12-04 | 北京无字天书科技有限公司 | 一种基于加法密钥分割的sm2签名方法 |
CN107968710A (zh) * | 2017-11-27 | 2018-04-27 | 武汉理工大学 | Sm9数字签名分离交互生成方法及系统 |
CN107968710B (zh) * | 2017-11-27 | 2020-08-25 | 武汉理工大学 | Sm9数字签名分离交互生成方法及系统 |
CN108055136A (zh) * | 2017-12-22 | 2018-05-18 | 上海众人网络安全技术有限公司 | 基于椭圆曲线的签名方法、装置、计算机设备及存储介质 |
CN108964923A (zh) * | 2018-06-22 | 2018-12-07 | 成都卫士通信息产业股份有限公司 | 隐藏私钥的交互式sm2签名方法、系统和终端 |
CN108964923B (zh) * | 2018-06-22 | 2021-07-20 | 成都卫士通信息产业股份有限公司 | 隐藏私钥的交互式sm2签名方法、系统和终端 |
CN108989047A (zh) * | 2018-07-19 | 2018-12-11 | 郑州信大捷安信息技术股份有限公司 | 一种基于sm2算法的通信双方协同签名方法与系统 |
CN108989047B (zh) * | 2018-07-19 | 2021-03-02 | 郑州信大捷安信息技术股份有限公司 | 一种基于sm2算法的通信双方协同签名方法与系统 |
CN109257176A (zh) * | 2018-10-18 | 2019-01-22 | 天津海泰方圆科技有限公司 | 基于sm2算法的解密密钥分割及解密方法、装置和介质 |
CN109600224A (zh) * | 2018-11-06 | 2019-04-09 | 卓望数码技术(深圳)有限公司 | 一种sm2密钥生成、签名方法、终端、服务器和存储介质 |
CN114070564A (zh) * | 2020-07-31 | 2022-02-18 | 华为技术有限公司 | 数字签名的方法和装置 |
CN112737778A (zh) * | 2020-12-30 | 2021-04-30 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 数字签名生成、验证方法及装置、电子设备及存储介质 |
CN112737778B (zh) * | 2020-12-30 | 2022-08-12 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 数字签名生成、验证方法及装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106603246B (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106603246B (zh) | 一种sm2数字签名分割生成方法及系统 | |
CN106549770B (zh) | Sm2数字签名生成方法及系统 | |
CN106548345B (zh) | 基于密钥分割实现区块链私钥保护的方法及系统 | |
CN106850229B (zh) | 基于乘积秘密分割的sm2数字签名生成方法及系统 | |
US10027654B2 (en) | Method for authenticating a client device to a server using a secret element | |
CN106850198B (zh) | 基于多装置协同的sm2数字签名生成方法及系统 | |
CN1270471C (zh) | 秘密的新随机数的管理、获得与使用方法及服务器系统 | |
CN106603231B (zh) | 基于去秘密化的分布式sm2数字签名生成方法及系统 | |
CN106656512B (zh) | 支持门限密码的sm2数字签名生成方法及系统 | |
CN107104793B (zh) | 一种数字签名生成方法及系统 | |
US20190140819A1 (en) | System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures | |
CN106712942B (zh) | 基于秘密共享的sm2数字签名生成方法及系统 | |
CN107872322A (zh) | 基于同态加密的数字签名协同生成方法及系统 | |
US20150288527A1 (en) | Verifiable Implicit Certificates | |
CN106130716A (zh) | 基于认证信息的密钥交换系统及方法 | |
CN112118113B (zh) | 一种基于sm2算法的多方协同群签名方法及装置、系统、介质 | |
CN107968710A (zh) | Sm9数字签名分离交互生成方法及系统 | |
CN105721153A (zh) | 基于认证信息的密钥交换系统及方法 | |
CN109361519B (zh) | 一种改进的包含秘密的数的生成方法及系统 | |
CN109905229B (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统 | |
CN110213057A (zh) | 具有乘积r参数的SM9数字签名协同生成方法及系统 | |
EP4062299A1 (en) | Multi-party and multi-use quantum resistant signatures and key establishment | |
CN110166235B (zh) | 增强安全的sm9数字签名协同生成方法及系统 | |
CN104734847A (zh) | 面向公钥密码应用的共享对称密钥数据加密和解密方法 | |
US9292671B1 (en) | Multi-server authentication using personalized proactivization |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |