CN106656512B - 支持门限密码的sm2数字签名生成方法及系统 - Google Patents

支持门限密码的sm2数字签名生成方法及系统 Download PDF

Info

Publication number
CN106656512B
CN106656512B CN201710035548.3A CN201710035548A CN106656512B CN 106656512 B CN106656512 B CN 106656512B CN 201710035548 A CN201710035548 A CN 201710035548A CN 106656512 B CN106656512 B CN 106656512B
Authority
CN
China
Prior art keywords
mod
digital signature
calculated
elliptic curve
point group
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.)
Active
Application number
CN201710035548.3A
Other languages
English (en)
Other versions
CN106656512A (zh
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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201710035548.3A priority Critical patent/CN106656512B/zh
Publication of CN106656512A publication Critical patent/CN106656512A/zh
Application granted granted Critical
Publication of CN106656512B publication Critical patent/CN106656512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • H04L9/3252Cryptographic 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
    • 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

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)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及SM2数字签名生成方法:在[1,n‑1]中任选整数b、h;计算Gb=[h(1+dA)‑dAb]G、c=(1+dA)‑1dAb mod n;将Gb、h、c给m个装置,m≥2;m个装置分别有秘密g1、g2、…、gm且b‑1=(g1+g2+…+gm)mod n;需使用SM2私钥dA对消息数字签名时,m个装置通过交互计算出r=(e+x1)mod n,其中(x1,y1)=[k1+k2+…+km]Gb,ki是装置i在[1,n‑1]中任选的整数,e是消息杂凑值;每个装置计算si=(hki‑c(ki+gir))mod n;由一装置计算s=(s1+s2+…+sm)mod n;(r,s)为数字签名。

Description

支持门限密码的SM2数字签名生成方法及系统
技术领域
本发明属于信息安全技术领域,特别是支持门限密码的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乘法逆(即c(c)-1modn=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。
本发明的方案一如下。
生成SM2数字签名时有m个装置参与,其中m大于或等于2;m个装置分别被称为装置1,装置2,…,装置m;
在生成数字签名前,针对参与数字签名生成的m个装置进行如下初始化操作:
在区间[1,n-1]中随机选择两个整数b、h,且b≠(dA)-1h(1+dA)mod n,其中保密b,h不保密(故通常h取1即可),dA是用户的SM2私钥,(dA)-1是dA的模n乘法逆(即dA(dA)-1mod n=1),n是SM2密码运算所使用的椭圆曲线点群的阶,也即SM2密码运算所使用的椭圆曲线点群的基点G的阶(SM2密码运算所使用的椭圆曲线点群是指由基点G生成的循环群;本发明中的b不是椭圆曲线方程的参数b);
给m个装置中的每个装置分配1份秘密份额,其中装置i的秘密份额或者从装置i的秘密份额导出的秘密数是gi,i=1,2,…,m;gi是区间[1,n-1]内的整数(对于普通秘密共享,gi就是秘密份额;对于门限秘密共享,gi是从秘密份额导出的秘密数);
m个装置的秘密份额或者从秘密份额导出的秘密数与b满足关系:
b-1=(g1+g2+…+gm)mod n,其中b-1是b的模n乘法逆(即bb-1mod n=1)(这里b-1是被共享的秘密,对b-1的秘密分割可以是普通秘密分割,也可以是门限秘密分割);
计算c=(1+dA)-1dAb mod n,其中(1+dA)-1是(1+dA)的模n乘法逆(即(1+dA)-1(1+dA)mod n=1);
计算Gb=[h(1+dA)-dAb]G,其中G是SM2椭圆曲线点群的基点;
将h、c、Gb分发给所有m个装置;
(m个装置都不保存dA、b;进行这些初始化操作的可以是一个专门的密钥管理系统,或用户计算装置中的一个密码模块、密钥管理工具)
当需要使用用户的SM2私钥dA针对消息M进行数字签名时,m个装置按如下方式进行数字签名的生成(需要使用用户的SM2私钥dA针对消息M进行数字签名的主体可以是调用这些装置的密码应用程序、系统或密码模块,或其中一个装置中的密码应用程序、系统):
首先,m个装置通过交互,计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点),其中ki是计算Q的过程中装置i在区间[1,n-1]中随机选择的一个整数,i=1,2,…,m,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值(即散列值)(按SM2算法,e是从用户标识IDA等参数导出的杂凑值ZA同消息M合并后的数据的杂凑值,参见SM2规范);
之后,每个装置计算si=(hki-c(ki+gir))mod n,其中i=1,2,…,m,si对应装置i所进行的计算;
最后,m个装置中的一个装置(任一个)计算得到s=(s1+s2+…+sm)mod n;则(r,s)即为使用用户的SM2私钥dA对消息M的数字签名。
在上述数字签名生成过程中,r、e、si,i=1,2,…,m,根据计算的需要在m个装置之间传送(如通过网络传送)。
在上述方案中,在针对消息M进行数字签名时,m个装置按如下方式,或者按与如下方式等同的方式,通过交互计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点):
m个装置中的每个装置在区间[1,n-1]中随机选择一个整数ki,计算得到Qi=[ki]Gb,其中,i=1,2,…,m,分别表示装置i随机选择的整数ki,所进行的计算及计算得到的Qi
之后,由m个装置中的一个装置(任一个装置)计算Q=Q1+Q2+…+Qm,此时,Q=[k1+k2+…+km]Gb(计算过程中Q1,Q2,…,Qm可在装置间传递);
若进行Q=Q1+Q2+…+Qm计算的是装置j,其中j=1,或2,…,或m,则在完成Q的计算后,装置j检查Q是否是SM2椭圆曲线点群的零元(无穷远点),若是,则装置j重新选择kj,重新计算Qj,重新计算Q=Q1+Q2+…+Qm,重新判断Q是否是零元,重复此过程,直到Q不是零元;若Q不是零元,则装置j取(x1,y1)=Q,计算r=(e+x1)mod n;
若计算得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点),则Q、r的计算完成;否则,装置j重新在区间[1,n-1]中随机选择一个整数kj,然后重新计算Qj、Q=Q1+Q2+…+Qm,重新判断Q是否是零元,以及在Q不是零元时重新计算r=(e+x1)mod n,重复此过程,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点);
或者,若r=0或[r]G+Q是SM2椭圆曲线点群的零元(无穷远点),则所有m个装置一起从头重新进行Q、r的计算(即每个装置重新选择ki,计算Qi=[ki]Gb,其中i=1,2,…,m,表示装置i的Qi和ki,其中一个装置重新计算Q=Q1+Q2+…+Qm、重新判断Q是否是零元,以及在Q不是零元时重新计算r=(e+x1)mod n),直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点);
所述等同的方式,即同样能得到Q=[k1+k2+…+km]Gb、并在Q不是SM2椭圆曲线点群的零元时依据Q计算得到r,且使得r、Q满足r≠0且[r]G+Q不是SM2椭圆曲线点群的零元的方式。
计算Q、r时,若计算Q=Q1+Q2+…+Qm、r=(e+x1)mod n的装置(即前面的所述装置j),在计算得到Q、r后,仅检查r是否为零,不检查[r]G+Q是否是SM2椭圆曲线点群的零元(无穷远点),且仅在r=0时重新进行Q、r计算(只要r≠0就不重新进行Q、r计算),则:
根据s1,s2,…,sm计算s的装置(m个装置中的一个装置),若检查发现(s+r)mod n=0,则放弃计算得到的s,数字签名生成过程中计算Q、r的装置j,其中j=1,或2,…,或m,重新在区间[1,n-1]中随机选择一个整数kj,重新计算Qj,重新计算Q=Q1+Q2+…+Qm,重新判断Q是否是零元,以及在Q不是零元时重新计算r=(e+x1)mod n,之后每个装置i重新计算si,i=1,2,…m,然后由一个装置根据s1,s2,…,sm计算s,重复此过程,直到最后计算得到的s满足(s+r)mod n≠0;
或者根据s1,s2,…,sm计算s的装置,若检查发现(s+r)mod n=0,则所有m个装置一起从头重新进行Q、r的计算(每个装置重新选择ki、计算Qi=[ki]Gb,其中i=1,2,…,m,分别表示装置i选择的ki和计算的Qi,然后其中的一个装置重新计算Q=Q1+Q2+…+Qm、确定Q是否为零元、以及在Q不是零元时重新计算r=(e+x1)mod n,之后每个装置i重新计算si,i=1,2,…m,然后由一个装置根据s1,s2,…,sm计算s),直到最后计算得到的s满足(s+r)mod n≠0。
以上所述方案一中,用户的公钥仍然是[dA]G,在进行秘密分割前计算得到,并公开发布。
本发明的方案二如下。
同样地,生成SM2数字签名时有m个装置参与,其中m大于或等于2;m个装置分别被称为装置1,装置2,…,装置m;
相应地,在生成数字签名前,针对参与数字签名生成的m个装置要进行如下初始化操作:
在区间[1,n-1]中随机选择两个整数b、h,且b≠(dA)-1h(1+dA)mod n,其中b保密,h不保密(故通常h取1即可),dA是用户的SM2私钥,(dA)-1是dA的模n乘法逆(即dA(dA)-1mod n=1),n是SM2密码运算所使用的椭圆曲线点群的阶,也即SM2密码运算所使用的椭圆曲线点群的基点G的阶(本发明中的b不是椭圆曲线方程的参数b);
给m个装置中的每个装置分配1份秘密份额,其中装置i的秘密份额或者从装置i的秘密份额导出的秘密数是gi,i=1,2,…,m,gi是区间[1,n-1]内的整数(对于普通秘密共享,gi就是秘密份额;对于门限秘密共享,gi是从秘密份额导出的秘密数);
m个装置的秘密份额或者从秘密份额导出的秘密数与用户的SM2私钥dA满足关系:
(1+dA)-1dA mod n=(g1+g2+…+gm)mod n(这里(1+dA)-1dA mod n是被共享的秘密,对(1+dA)-1dA mod n的秘密分割可以是普通秘密分割,也可以是门限秘密共享分割);
计算c=(1+dA)-1dAb mod n,其中dA是用户的SM2私钥,(1+dA)-1是(1+dA)的模n乘法逆(即(1+dA)-1(1+dA)mod n=1);
计算Gb=[h(1+dA)-dAb]G,其中G是SM2椭圆曲线点群的基点;
将h、c、Gb分发给所有m个装置;
(m个装置都不保留dA、b;进行以上初始化操作的可以是一个专门的密钥管理系统,或用户计算装置中的一个密码模块、密钥管理工具)
当需要使用用户的SM2私钥dA针对消息M进行数字签名时,m个装置通过如下方式进行数字签名的生成(需要使用用户的SM2私钥dA针对消息M进行数字签名的主体可以是调用这些装置的密码应用程序、系统或密码模块,或其中一个装置中的密码应用程序、系统):
首先,m个装置通过交互,计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点),其中ki是计算Q的过程中装置i在区间[1,n-1]中随机选择的一个整数,i=1,2,…,m,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值(即散列值)(按SM2算法,e是从用户标识IDA等参数导出的杂凑值ZA同消息M合并后的数据的杂凑值,参见SM2规范);
之后,每个装置计算si=(hki-(cki+gir))mod n,其中i=1,2,…,m,si对应装置i所进行的计算;
最后,m个装置中的一个装置(任一个)计算得到s=(s1+s2+…+sm)mod n;则(r,s)即为使用用户的SM2私钥dA对消息M的数字签名。
在上述数字签名生成过程中,r、e、si,i=1,2,…,m,根据计算的需要在m个装置之间传送(如通过网络传送)。
在上述方案二中,在针对消息M进行数字签名时,m个装置按与方案一同样的方式,通过交互计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且使得得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元(无穷远点)。
在上述方案二中,用户的公钥仍然是[dA]G,在进行秘密分割前计算得到,并公开发布。
从以上发明内容并结合实施例可以看到,基于本发明的SM2数字签名生成方法,当用户没有硬件密码装置存放SM2私钥时,可以将与用户的私钥dA相关的秘密数据,分别存放在不同装置中,如用户的计算装置(如个人电脑、移动终端)、一个或多个密码服务系统的密码服务器中;在需要使用用户的SM2私钥对消息进行数字签名时,多个装置使用各自拥有的秘密数据(秘密份额或秘密份额的导出的数据)进行运算,通过交互生成最终的数字签名,而且在交互过程中,每个装置都不泄露自己的秘密;除非攻击者能同时获得分布在不同装置中的足够数量的秘密份额,否则,攻击者无法恢复用户私钥;由于攻击者要同时获得分布在不同装置中的、足够数量的秘密份额的可能性非常低,或者几乎不可能,比如攻击者很难获得专业密码服务机构的密码服务系统中的秘密份额,这就大大提高了在没有密码硬件的情况下,用户SM2私钥使用的安全性。
与现有的技术方案相比,本发明的方法简单,不但适合于两方共享秘密,而且适合于多方共享秘密,不但适合于普通的秘密共享(分割),而且适合于门限秘密共享(分割)。本发明的巧妙之处在于,引入了一个与用户SM2私钥无关的随机数b!
具体实施方式
下面结合实施例对本发明作进一步的描述。以下实施例只表示本发明几种可能的实施方式,不是全部可能的实施方式,不作为对本发明的限定。
对于本发明的方案一,要分割、共享的秘密是[1,n-1]中随机选择的一个整数b的模n乘法逆b-1。对b-1的秘密分割有普通秘密分割和门限秘密共享分割。若是普通秘密分割,则很简单。若有m个装置,则在区间[1,n-1]中随机选择m-1个整数,g1,g2,…,gm-1,计算gm=(b-1-(g1+g2+…+gm-1))mod n,若gm≠0,则g1,g2,…,gm即是所需的秘密分割,若gm=0,则重新选择g1,g2,…,gm-1,直到gm≠0。
实际上,对于普通秘密分割,还有一种选择b并实现b-1秘密分割的方法,这就是在区间[1,n-1]中随机选择m个整数g1,g2,…,gm,若(g1+g2+,…,+gm)mod n≠0,则令b=((g1+g2+,…,+gm)mod n)-1,g1,g2,…,gm就是b-1的秘密分割,否则,重新选择g1,g2,…,gm,直到(g1+g2+,…,+gm)mod n≠0,然后得到b。
若采用门限秘密共享分割,则可以采用Shamir或拉格朗日秘密共享方案。此时,本发明中进行数字签名操作处理的m个装置,仅是全部p个装置中的m个(p≥m),即采用(m,p)的门限方案;初始化时,按门限秘密共享算法,将秘密b-1在所有p个装置中分享;而在应用本发明的方法时,m个装置的秘密数据g1,g2,…,gm是参与数字签名生成的m个装置中的每个装置,依据自身的门限秘密(秘密份额),针对此时的m个装置计算得到的秘密数(若p>m,那么,针对不同的m个装置,每个装置依据门限秘密份额进行恢复秘密的操作时,每个装置依据秘密份额计算得到的秘密数是不同的,它取决于恢复秘密时参与的装置是哪m个,对于熟悉Shamir或拉格朗日秘密共享方案的人而言,这些是很容易理解的)。
以上秘密分割方法,只是对b-1分割的几种可能方案,不是全部的方案。
对于本发明的方案二,要分割、共享的秘密是(1+dA)-1dA mod n。对(1+dA)-1dA modn进行普通秘密分割或门限秘密分割的方法与方案一中对b-1进行秘密分割的方法一样,仅仅是秘密不同而已。
以下是本发明的一些实施例,以下实施例同时适用于本发明的两个方案(方法)。
实施例1、
在此实施例中,m=2,采用普通秘密共享方案,用户的计算装置(如个人电脑、移动通信终端)是本发明的SM2数字签名生成方法中的两个装置中的一个(装置1或装置2),本发明方法中的另一个装置是密码服务系统中的密码服务器(作为装置2或装置1);用户的计算装置和密码服务器都不保存用户的SM2私钥dA;b-1或(1+dA)-1dA mod n的秘密份额g1、g2,一份保存在用户计算装置中,另一份保存在密码服务器中;当用户计算装置中的密码应用程序或系统要使用用户的SM2私钥dA对消息进行签名时,用户计算装置(实际上通常是用户计算装置中的密码模块)与密码服务系统的密码服务器交互,应用本发明的方法、使用秘密份额g1、g2生成消息的数字签名。
实施例2、
在此实施例中,m=2,采用普通秘密共享,两个装置中一个装置是一个机构的密码服务系统中的密码服务器,另一个装置是另一个机构的密码服务系统中的密码服务器;用户计算装置(如个人电脑、移动终端)以及两个机构的密码服务器都不保存用户的SM2私钥dA;b-1或(1+dA)-1dA mod n的两份秘密份额g1、g2,分别保存在两个机构的密码服务系统的密码服务器中;当用户计算装置中的密码应用程序或系统要使用用户的SM2私钥dA对消息进行签名时,用户计算装置(实际上通常是用户计算装置中的密码模块)将请求发送到一个密码服务系统,之后两个密码服务系统的密码服务器通过交互,应用本发明的方法、使用秘密份额g1、g2生成消息的数字签名,然后将生成的签名被返回给用户计算装置;在数字签名生成过程中,分属两个机构的密码服务系统中的密码服务器中的任一个可以都作为本发明的数字签名生成方法中的装置1,而另一个作为装置2。
实施例3、
在此实施例中,m=3,采用普通秘密共享,其中一个装置是一个机构的密码服务系统中的密码服务器A,另一个装置是另一个机构的密码服务系统中的密码服务器B,还有一个装置是用户的计算装置(如个人电脑、移动终端);密码服务器A、B和用户计算装置中的任一个可作为装置1、装置2或3;用户计算装置以及两个机构的密码服务系统的密码服务器都不保存用户的SM2私钥dA;b-1或(1+dA)-1dA mod n的3份秘密份额g1、g2、g3,被分别保存在密码服务器A、B,以及用户计算装置中;当用户计算装置中的密码应用程序要使用用户的SM2私钥dA对消息进行签名时,用户计算装置、密码服务器A、密码服务器B通过交互,应用本发明的方法、使用秘密份额g1、g2、g3生成消息的数字签名。
实施例4、
在此实施例中,采用(2,3)的门限秘密共享,共三个装置,三个装置中的任两个装置可以使用本发明的方法进行数字签名的生成,故应用本发明的方法进行数字签名生成时,对应本发明的m=2。
三个装置的一个是密码服务系统中的密码服务器,另两个装置,一个是用户的个人电脑,另一个是用户的移动终端;b-1或(1+dA)-1dA mod n的按门限秘密共享算法生成的3份秘密份额(门限秘密)被分别分配给了密码服务器、用户的个人电脑、用户的移动终端;在应用本发明的方法时,假设本发明中的装置1始终是密码服务器,而本发明中的装置2或者是用户的个人电脑,或者是用户的移动终端,取决于用户的哪个装置参与数字签名的生成过程。
当用户的个人电脑要使用用户的SM2私钥进行数字签名时,密码服务器、用户的个人电脑(中的密码模块)根据它们各自拥有的门限秘密及门限算法,分别算出各自此时的g1、g2,然后使用g1、g2生成消息的数字签名;当用户的移动终端要使用用户的SM2私钥进行数字签名时,密码服务器、用户的移动终端(中的密码模块)根据它们各自拥有的门限秘密及门限算法,分别算出各自此时的g1、g2(或者g1、g2已预先算好、保存,下同),使用g1、g2生成消息的数字签名(对于门限秘密共享,恢复秘密时的参与方不同,由门限秘密算出的相应的秘密数是不同的)。
实施例5、
在此实施例中,采用(2,3)的门限秘密共享,共三个装置,三个装置中的任两个装置可以使用本发明的方法进行数字签名的生成,故应用本发明的方法进行数字签名生成时,对应本发明的m=2。
三个装置中的一个是一个机构的密码服务系统的密码服务器A,一个是另一个机构的密码服务系统的密码服务器B,再有一个是用户的计算装置(如个人电脑、移动终端);b-1或(1+dA)-1dA mod n的按门限秘密共享算法生成的3份秘密份额(门限秘密)被分别分配给了密码服务器A、密码服务器B和用户的计算装置;在应用本发明的方法时,假设本发明中的装置1始终是用户的计算装置,而本发明中的装置2或者是密码服务器A,或者是密码服务器B,取决于哪个密码服务器参与数字签名的生成。
当用户的计算装置要使用用户的SM2私钥进行数字签名时,用户计算装置先尝试与密码服务器A建立连接,若无法与密码服务器A建立连接,则尝试与密码服务器B建立连接。若用户计算装置与密码服务器A成功建立连接,则密码服务器A、用户的计算装置(中的密码模块)根据它们各自拥有的门限秘密(秘密份额)及门限算法,分别算出各自此时的g1、g2,然后使用g1、g2生成消息的数字签名;若用户计算装置与密码服务器A无法建立连接,但之后与密码服务器B成功建立连接,则密码服务器B、用户的计算装置(中的密码模块)根据它们各自拥有的门限秘密及门限算法,分别算出各自此时的g1、g2,使用g1、g2生成消息的数字签名。
实施例6、
在此实施例中,采用(2,3)的门限秘密共享,共三个装置,三个装置中的任两个装置可以使用本发明的方法进行数字签名的生成,故应用本发明的方法进行数字签名生成时,对应本发明的m=2。
三个装置分别是分属三个机构的密码服务系统的密码服务器A、密码服务器B、密码服务器C;b-1或(1+dA)-1dA mod n的按门限秘密共享算法生成的3份秘密份额(门限秘密)被分别分配给了密码服务器A、密码服务器B、密码服务器C;在应用本发明的方法时,参与数字签名生成的两个服务器分别对应本发明中的装置1、装置2。
当用户的计算装置要使用用户的SM2私钥进行数字签名时,三个密码服务器中的两个(至于如何选择其中的两个,取决于实施者的方案),根据它们各自拥有的门限秘密及门限算法,分别算出各自此时的g1、g2,然后使用g1、g2生成消息的数字签名。
实施例7、
在此实施例中,采用(3,4)的门限秘密共享,共四个装置,其中任意三个装置可以使用本发明的方法进行数字签名的生成,故应用本发明的方法进行数字签名生成时,对应本发明的m=3。
四个装置中的两个是属于同一个机构的密码服务系统的密码服务器A、B,或者分属是不同机构的密码服务系统的密码服务器A、B,四个装置中的另两个装置,一个是用户的个人电脑,一个是用户的移动终端,用户的两个装置只有一个参与数字签名的生成。b-1或(1+dA)-1dA mod n的按门限秘密共享算法生成的4份秘密份额(门限秘密)被分别分配给了密码服务器A、密码服务器B、以及用户的个人电脑、移动终端。假定密码服务器A、B是本发明中的装置1、装置2,而生成数字签名时,参与数字签名生成过程的用户装置假定是本发明的装置3。
当用户的一个装置,如个人电脑或移动终端,需要使用用户的SM2私钥生成针对消息的数字签名时,密码服务器A、密码服务器B、用户的装置各自根据自己拥有的门限秘密和门限算法,分别算出针对此时三个装置的秘密数g1、g2、g3,然后通过交互应用本发明方法、使用各自的秘密数g1、g2、g3生成数字签名。
基于本发明的方法,很容易构建实施本发明方法的系统。
基于本发明的SM2数字签名生成方法(包括方案一、方案二)构建的SM2数字签名生成系统包括m个装置,其中m大于或等于2;m个装置中的每个装置是一个密码服务器或一个用户计算装置;m个装置按本发明的数字签名生成方法,生成使用用户的SM2私钥dA针对消息M的数字签名。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。

Claims (8)

1.一种支持门限密码的SM2数字签名生成方法,其特征是:
生成SM2数字签名时有m个装置参与,其中m大于或等于2;m个装置分别被称为装置1,装置2,…,装置m;
在生成数字签名前,针对参与数字签名生成的m个装置进行如下初始化操作:
在区间[1,n-1]中随机选择两个整数b、h,且b≠(dA)-1h(1+dA)mod n,其中b保密,h不保密,dA是用户的SM2私钥,(dA)-1是dA的模n乘法逆,n是SM2密码运算所使用的椭圆曲线点群的阶,也即SM2密码运算所使用的椭圆曲线点群的基点G的阶;
给m个装置中的每个装置分配1份秘密份额,其中装置i的秘密份额或者从装置i的秘密份额导出的秘密数是gi,i=1,2,…,m,gi是区间[1,n-1]内的整数;
m个装置的秘密份额或者从秘密份额导出的秘密数与b满足关系:
b-1=(g1+g2+…+gm)mod n,其中b-1是b的模n乘法逆;
计算c=(1+dA)-1dAb mod n,其中(1+dA)-1是(1+dA)的模n乘法逆;
计算Gb=[h(1+dA)-dAb]G,其中G是SM2椭圆曲线点群的基点;
将h、c、Gb分发给所有m个装置;
当需要使用用户的SM2私钥dA针对消息M进行数字签名时,m个装置通过如下方式进行数字签名的生成:
首先,m个装置通过交互,计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元,其中ki是计算Q的过程中装置i在区间[1,n-1]中随机选择的一个整数,i=1,2,…,m,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值;
之后,每个装置计算si=(hki-c(ki+gir))mod n,其中i=1,2,…,m,si对应装置i所进行的计算;
最后,m个装置中的一个装置计算得到s=(s1+s2+…+sm)mod n;则(r,s)即为使用用户的SM2私钥dA对消息M的数字签名。
2.根据权利要求1所述的支持门限密码的SM2数字签名生成方法,其特征是:
在针对消息M进行数字签名时,m个装置按如下方式,或者按与如下方式等同的方式,通过交互计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元:
首先,m个装置进行如下操作处理:
装置i在区间[1,n-1]中随机选择一个整数ki,计算得到Qi=[ki]Gb,i=1,2,…,m;
之后,由m个装置中的一个装置计算Q=Q1+Q2+…+Qm,此时,Q=[k1+k2+…+km]Gb
若进行Q=Q1+Q2+…+Qm计算的是装置j,其中j=1,或2,…,或m,则在完成Q的计算后,装置j检查Q是否是SM2椭圆曲线点群的零元,若是,则装置j重新选择kj,重新计算Qj,重新计算Q=Q1+Q2+…+Qm,重新判断Q是否是零元,重复此过程,直到Q不是零元;若Q不是零元,则装置j取(x1,y1)=Q,计算r=(e+x1)mod n;
若计算得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元,则Q、r的计算完成;否则,装置j重新在区间[1,n-1]中随机选择一个整数kj,然后重新计算Qj、Q=Q1+Q2+…+Qm,重新判断Q是否是零元,以及在Q不是零元时重新计算r=(e+x1)mod n,重复此过程,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元;
或者,若r=0或[r]G+Q是SM2椭圆曲线点群的零元,则所有m个装置一起从头重新进行Q、r的计算,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元;
所述等同的方式,即同样能得到Q=[k1+k2+…+km]Gb、并在Q不是SM2椭圆曲线点群的零元时依据Q计算得到r,且使得r、Q满足r≠0且[r]G+Q不是SM2椭圆曲线点群的零元的方式。
3.根据权利要求2所述的支持门限密码的SM2数字签名生成方法,其特征是:
若计算Q=Q1+Q2+…+Qm、r=(e+x1)mod n的装置,在计算得到Q、r后,仅检查r是否为零,不检查[r]G+Q是否是SM2椭圆曲线点群的零元,且仅在r=0时重新进行Q、r计算,则:
根据s1,s2,…,sm计算s的装置,若检查发现(s+r)mod n=0,则放弃计算得到的s,数字签名生成过程中计算Q、r的装置j,其中j=1,或2,…,或m,重新在区间[1,n-1]中随机选择一个整数kj,重新计算Qj,重新计算Q=Q1+Q2+…+Qm,重新判断Q是否是零元,以及在Q不是零元时重新计算r=(e+x1)mod n,之后每个装置i重新计算si,i=1,2,…m,然后由一个装置根据s1,s2,…,sm计算s,重复此过程,直到最后计算得到的s满足(s+r)mod n≠0;
或者根据s1,s2,…,sm计算s的装置,若检查发现(s+r)mod n=0,则所有m个装置一起从头重新进行Q、r的计算,直到最后计算得到的s满足(s+r)mod n≠0。
4.一种基于权利要求1-3中任一项所述的支持门限密码的SM2数字签名生成方法的SM2数字签名生成系统,其特征是:
所述SM2数字签名生成系统包括m个装置,其中m大于或等于2;所述m个装置中的每个装置是一个密码服务器或一个用户计算装置;所述m个装置按所述数字签名生成方法,生成使用用户的SM2私钥dA针对消息M的数字签名。
5.一种支持门限密码的SM2数字签名生成方法,其特征是:
生成SM2数字签名时有m个装置参与,其中m大于或等于2;m个装置分别被称为装置1,装置2,…,装置m;
在生成数字签名前,针对参与数字签名生成的m个装置进行如下初始化操作:
在区间[1,n-1]中随机选择两个整数b、h,且b≠(dA)-1h(1+dA)mod n,其中b保密,h不保密,dA是用户的SM2私钥,(dA)-1是dA的模n乘法逆,n是SM2密码运算所使用的椭圆曲线点群的阶,也即SM2密码运算所使用的椭圆曲线点群的基点G的阶;
给m个装置中的每个装置分配1份秘密份额,其中装置i的秘密份额或者从装置i的秘密份额导出的秘密数是gi,i=1,2,…,m,gi是区间[1,n-1]内的整数;
m个装置的秘密份额或者从秘密份额导出的秘密数与用户的SM2私钥dA满足关系:(1+dA)-1dA mod n=(g1+g2+…+gm)mod n;
计算c=(1+dA)-1dAb mod n,(1+dA)-1是(1+dA)的模n乘法逆;
计算Gb=[h(1+dA)-dAb]G,其中G是SM2椭圆曲线点群的基点;
将h、c、Gb分发给所有m个装置;
当需要使用用户的SM2私钥dA针对消息M进行数字签名时,m个装置通过如下方式进行数字签名的生成:
首先,m个装置通过交互,计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元,其中ki是计算Q的过程中装置i在区间[1,n-1]中随机选择的一个整数,i=1,2,…,m,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值;
之后,每个装置计算si=(hki-(cki+gir))mod n,其中i=1,2,…,m,si对应装置i所进行的计算;
最后,m个装置中的一个装置计算得到s=(s1+s2+…+sm)mod n;则(r,s)即为使用用户的SM2私钥dA对消息M的数字签名。
6.根据权利要求5所述的支持门限密码的SM2数字签名生成方法,其特征是:
在针对消息M进行数字签名时,m个装置按如下方式,或者按与如下方式等同的方式,通过交互计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元:
首先,m个装置进行如下操作处理:
装置i在区间[1,n-1]中随机选择一个整数ki,计算得到Qi=[ki]Gb,i=1,2,…,m;
之后,由m个装置中的一个装置计算Q=Q1+Q2+…+Qm,此时,Q=[k1+k2+…+km]Gb
若进行Q=Q1+Q2+…+Qm计算的是装置j,其中j=1,或2,…,或m,则在完成Q的计算后,装置j检查Q是否是SM2椭圆曲线点群的零元,若是,则装置j重新选择kj,重新计算Qj,重新计算Q=Q1+Q2+…+Qm,重新判断Q是否是零元,重复此过程,直到Q不是零元;若Q不是零元,则装置j取(x1,y1)=Q,计算r=(e+x1)mod n;
若计算得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元,则Q、r的计算完成;否则,装置j重新在区间[1,n-1]中随机选择一个整数kj,然后重新计算Qj、Q=Q1+Q2+…+Qm,重新判断Q是否是零元,以及在Q不是零元时重新计算r=(e+x1)mod n,重复此过程,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元;
或者,若r=0或[r]G+Q是SM2椭圆曲线点群的零元,则所有m个装置一起从头重新进行Q、r的计算,直到r≠0且[r]G+Q不是SM2椭圆曲线点群的零元;
所述等同的方式,即同样能得到Q=[k1+k2+…+km]Gb、并在Q不是SM2椭圆曲线点群的零元时依据Q计算得到r,且使得r、Q满足r≠0且[r]G+Q不是SM2椭圆曲线点群的零元的方式。
7.根据权利要求6所述的支持门限密码的SM2数字签名生成方法,其特征是:
若计算Q=Q1+Q2+…+Qm、r=(e+x1)mod n的装置,在计算得到Q、r后,仅检查r是否为零,不检查[r]G+Q是否是SM2椭圆曲线点群的零元,且仅在r=0时重新进行Q、r计算,则:
根据s1,s2,…,sm计算s的装置,若检查发现(s+r)mod n=0,则放弃计算得到的s,数字签名生成过程中计算Q、r的装置j,其中j=1,或2,…,或m,重新在区间[1,n-1]中随机选择一个整数kj,重新计算Qj,重新计算Q=Q1+Q2+…+Qm,重新判断Q是否是零元,以及在Q不是零元时重新计算r=(e+x1)mod n,之后每个装置i重新计算si,i=1,2,…m,然后由一个装置根据s1,s2,…,sm计算s,重复此过程,直到最后计算得到的s满足(s+r)mod n≠0;
或者根据s1,s2,…,sm计算s的装置,若检查发现(s+r)mod n=0,则所有m个装置一起从头重新进行Q、r的计算,直到最后计算得到的s满足(s+r)mod n≠0。
8.一种基于权利要求5-7中任一项所述的支持门限密码的SM2数字签名生成方法的SM2数字签名生成系统,其特征是:
所述SM2数字签名生成系统包括m个装置,其中m大于或等于2;所述m个装置中的每个装置是一个密码服务器或一个用户计算装置;所述m个装置按所述数字签名生成方法,生成使用用户的SM2私钥dA针对消息M的数字签名。
CN201710035548.3A 2017-01-17 2017-01-17 支持门限密码的sm2数字签名生成方法及系统 Active CN106656512B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710035548.3A CN106656512B (zh) 2017-01-17 2017-01-17 支持门限密码的sm2数字签名生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710035548.3A CN106656512B (zh) 2017-01-17 2017-01-17 支持门限密码的sm2数字签名生成方法及系统

Publications (2)

Publication Number Publication Date
CN106656512A CN106656512A (zh) 2017-05-10
CN106656512B true CN106656512B (zh) 2019-07-09

Family

ID=58840603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710035548.3A Active CN106656512B (zh) 2017-01-17 2017-01-17 支持门限密码的sm2数字签名生成方法及系统

Country Status (1)

Country Link
CN (1) CN106656512B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921553A (zh) * 2018-06-21 2018-11-30 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种门限私钥生成方法、交易方法及相关装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107634836B (zh) * 2017-09-05 2020-09-08 何德彪 一种sm2数字签名生成方法及系统
CN107528696B (zh) * 2017-09-27 2020-01-14 武汉理工大学 一种隐藏私钥秘密的数字签名生成方法及系统
CN107483205B (zh) * 2017-09-28 2019-08-20 武汉理工大学 一种基于加密的私钥秘密的数字签名生成方法及系统
CN107872322B (zh) * 2017-11-02 2020-08-04 武汉理工大学 基于同态加密的数字签名协同生成方法及系统
CN107819585B (zh) * 2017-11-17 2020-08-25 武汉理工大学 Sm9数字签名协同生成方法及系统
CN109787767B (zh) * 2018-11-30 2022-03-15 晟安信息技术有限公司 Sm2协同数字签名方法及装置
CN110113165B (zh) * 2019-04-24 2020-09-04 武汉理工大学 支持混合秘密共享的sm2数字签名协同生成方法及系统
CN113630245B (zh) * 2021-07-20 2023-12-12 武汉理工大学 一种基于门限属性的数据加密方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1306749A2 (en) * 2001-10-25 2003-05-02 Matsushita Electric Industrial Co., Ltd. Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device
CN101236590A (zh) * 2008-03-07 2008-08-06 北京邮电大学 一种基于门限密码体制的软件分割保护的实现方法
CN101729554A (zh) * 2008-11-27 2010-06-09 北京大学 一种分布式计算中基于密码学的除法协议构造方法
CN102064946A (zh) * 2011-01-25 2011-05-18 南京邮电大学 一种基于身份加密的密钥共享方法
CN105071938A (zh) * 2015-07-14 2015-11-18 中国科学技术大学 一种基于门限秘密共享的组认证方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871538B (zh) * 2015-01-22 2019-04-12 阿里巴巴集团控股有限公司 量子密钥分发系统、量子密钥分发方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1306749A2 (en) * 2001-10-25 2003-05-02 Matsushita Electric Industrial Co., Ltd. Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device
CN101236590A (zh) * 2008-03-07 2008-08-06 北京邮电大学 一种基于门限密码体制的软件分割保护的实现方法
CN101729554A (zh) * 2008-11-27 2010-06-09 北京大学 一种分布式计算中基于密码学的除法协议构造方法
CN102064946A (zh) * 2011-01-25 2011-05-18 南京邮电大学 一种基于身份加密的密钥共享方法
CN105071938A (zh) * 2015-07-14 2015-11-18 中国科学技术大学 一种基于门限秘密共享的组认证方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
秘密共享体制及其在数字签名中的应用;吴岩;《中国优秀硕士学位论文全文数据库(电子期刊)(信息科技辑)》;20111215;I136-463
秘密共享及其应用;余华彬;《中国优秀硕士学位论文全文数据库(电子期刊)(信息科技辑)》;20070915;I136-286

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921553A (zh) * 2018-06-21 2018-11-30 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种门限私钥生成方法、交易方法及相关装置

Also Published As

Publication number Publication date
CN106656512A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106549770B (zh) Sm2数字签名生成方法及系统
CN106656512B (zh) 支持门限密码的sm2数字签名生成方法及系统
CN106850198B (zh) 基于多装置协同的sm2数字签名生成方法及系统
CN106603231B (zh) 基于去秘密化的分布式sm2数字签名生成方法及系统
CN106603246B (zh) 一种sm2数字签名分割生成方法及系统
CN106712942B (zh) 基于秘密共享的sm2数字签名生成方法及系统
CN106850229B (zh) 基于乘积秘密分割的sm2数字签名生成方法及系统
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
CN107872322B (zh) 基于同态加密的数字签名协同生成方法及系统
US8429408B2 (en) Masking the output of random number generators in key generation protocols
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN107104793B (zh) 一种数字签名生成方法及系统
US20120278628A1 (en) Digital Signature Method and System
EP3005608A2 (en) Authentication
Guo et al. An authenticated group key distribution protocol based on the generalized Chinese remainder theorem
CN109274492B (zh) 自安全的紧耦合秘密共享方法
Lee et al. Secure key transfer protocol based on secret sharing for group communications
CN107483205B (zh) 一种基于加密的私钥秘密的数字签名生成方法及系统
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
CN110213057B (zh) 具有乘积r参数的SM9数字签名协同生成方法及系统
CN109495244A (zh) 基于对称密钥池的抗量子计算密钥协商方法
CN110519051B (zh) r参数和秘密双乘积的SM9签名协同生成方法及系统
CN107528696A (zh) 一种隐藏私钥秘密的数字签名生成方法及系统
US9292671B1 (en) Multi-server authentication using personalized proactivization
CN110166235A (zh) 增强安全的sm9数字签名协同生成方法及系统

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