CN111756537B - 基于sm2标准的两方协同解密方法、系统及存储介质 - Google Patents

基于sm2标准的两方协同解密方法、系统及存储介质 Download PDF

Info

Publication number
CN111756537B
CN111756537B CN202010668303.6A CN202010668303A CN111756537B CN 111756537 B CN111756537 B CN 111756537B CN 202010668303 A CN202010668303 A CN 202010668303A CN 111756537 B CN111756537 B CN 111756537B
Authority
CN
China
Prior art keywords
decryption
user
key
certificate
server
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
CN202010668303.6A
Other languages
English (en)
Other versions
CN111756537A (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.)
Guangzhou Anyan Information Technology Co ltd
Original Assignee
Guangzhou Anyan Information Technology 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 Guangzhou Anyan Information Technology Co ltd filed Critical Guangzhou Anyan Information Technology Co ltd
Priority to CN202010668303.6A priority Critical patent/CN111756537B/zh
Publication of CN111756537A publication Critical patent/CN111756537A/zh
Application granted granted Critical
Publication of CN111756537B publication Critical patent/CN111756537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold 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/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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于SM2标准的两方协同解密方法、系统及存储介质,方法包括下述步骤:生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书;采用Diffie‑Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密。本发明采用客户‑服务器结合的形式为商密标准SM2加密算法设计了一个两方协同解密方案(以下简称TPSM2Dec)。TPSM2Dec方案对SM2解密密钥信息进行分片保护,使得客户端与服务器端无需采用传统的密钥托管的形式,实现了较高的安全强度。

Description

基于SM2标准的两方协同解密方法、系统及存储介质
技术领域
本发明属于信息安全的技术领域,具体涉及一种基于SM2标准的两方协同解密方法。
背景技术
SM2算法是国家密码SM2算法是国家密码管理局于2010年12月发布的椭圆曲线公钥密码算法,并已成为《GM/T 0003-2012 SM2椭圆曲线公钥密码算法》标准。SM2椭圆曲线公钥密码算法包括数字签名算法、密钥交换协议以及公钥加密算法,其安全性基于求解有限域上椭圆曲线离散对数问题的困难性。SM2算法在国内电子商务、身份认证等应用中发挥了重要的安全保障作用。
Diffie-Hellman密钥交换协议是由Whitfield Diffie和Martin Hellman于1976年提出的一种密钥交换算法。这种密钥交换协议可让双方在没有对方任何信息的前提条件下,在非受信信道建立一个共享密钥,此密钥可用于对后续通讯信息进行加密或者进行进一步密钥管理等。Diffie-Hellman密钥交换算法的安全性依赖于计算离散对数问题的困难性。
SM2数据加密算法主要存在以下不足:
在SM2公钥加密算法的使用过程中,若私钥完全存放在用户设备当中,那么存在泄露的风险,攻击者获取到私钥后,可以伪造通信甚至签名。因此,在许多应用场景中,私钥需要被互不信任的双方分别保存,且只有在双方合作的情况下才能完成解密,任何一方都无法独立完成解密。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于SM2标准的两方协同解密方法、系统及存储介质,采用信息隐藏和密钥拆分的方式保护SM2标准的密钥生成算法和公钥加密算法流程中的密钥信息。
为了达到上述目的,本发明采用以下技术方案:
本发明提供的一种基于SM2标准的两方协同解密方法,包括下述步骤:
生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书;
采用Diffie-Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密。
作为优选的技术方案,所述生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书的步骤,具体为:
用户A通过随机数发生器产生随机整数kA
kA∈[1,n-1]
并计算椭圆曲线上的点WA
WA=[kA]G,
然后发送证书生成请求(request,IDA,WA)给服务器,其中request为请求标识;
服务器收到证书申请请求后,通过随机数发生器产生随机整数kS,dA,eS
kS,dA,eS∈[1,n-1]
并计算
WS=[kS]G
eA=dA-eS mod n
(x,y)←[kS]WA
k←KDF(x||y,|n|)
Figure BDA0002581339560000031
PA=[dA]G
其中WS为椭圆曲线上的点,整数eA为用户A解密密钥分片,k为临时会话密钥,PA为用户A的公钥,eS为服务器端用来参与用户A的两方协同解密的密钥片;
为用户A生成解密证书DecCertA,其中A的公钥为PA,然后发送c,WS和DecCertA给用户A;
最后,用户A计算
(x′,y′)←[kA]WS
k′←KDF(x′||y′,|n|)
Figure BDA0002581339560000032
其中,临时会话密钥k′与服务器的临时会话密钥k一致。
作为优选的技术方案,所述生成解密证书,用户A输出其解密证书DecCertA,对应的公钥为PA,并秘密保存解密密钥分片eA,并从内存销毁kA,eA,x′,y′和k′;服务器端S保存用户密钥信息(IDA,DecCertA,eS)于用户信息表UT中,并可把密钥送密钥托管服务器进行托管;然后从内存销毁kS,eA,eS,x′,y′和k。
作为优选的技术方案,用户A拥有的解密密钥片为eA;服务器端用来参与用户A的两方协同解密的密钥片为eS
作为优选的技术方案,两方协同解密的方法为:
用户和服务器先执行身份认证协议,待服务器对用户身份进行认证成功后再执行协同解密协议,其描述如下:
两方解密协议
用户端A的输入:待解密的密文C、密钥信息eA,、椭圆曲线系统参数Par、ZA、用户身份认证信息;
服务器端的输入:椭圆曲线系统参数Par、ZA、用户身份验证信息、用户密钥信息(IDA,DecCertA,eS);
解密SM2密文C=(C1,C2,C3),用户A和服务器S执行用户解密协议。
作为优选的技术方案,所述解密协议具体为:
1)第一轮用户A的操作:
AD1:用户A把C1、他的身份IDA发给服务器S;
2)第一轮服务器端S的操作:
SD1:服务器首先验证IDA已被认证通过,然后利用IDA查找对应的hdS,并对消息C1进行部分解封装,相关计算如下:
CS1=[eS]C1
然后发送CS1给用户A;
当用户A收到CS1后,进行如下解密:
AD2:先计算(x1,y1)=[eA]C1+CS1,然后恢复消息
Figure BDA0002581339560000041
AD3:计算v=Hash(x1||M||y1),如果v=C3,则输出消息M,否则输出解密失败。
本发明还提供了一种基于SM2标准的两方协同解密系统,包括数字证书生成模块和两方解密模块,
所述数字证书生成模块,用于生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书;
所述两方解密模块,采用Diffie-Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密。
本发明还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现基于SM2标准的两方协同解密方法。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明采用多方安全计算的思想,用户和服务器端都只拥有解密私钥的部分密钥片,只有在两方协同的前提下才能完成解密,保证了攻击者在入侵任何一方的情况下,都不能够获取完整的解密私钥,从而提升了攻击者窃取私钥的难度,提升了解密私钥的安全性。
附图说明
图1是本发明TPSM2Dec方案组成示意图;
图2是本发明解密证书生成协议的示意图;
图3是本发明两方解密方法的示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本发明中用到的符号及其含义与商密标准SM2中的完全一样,相关参量的含义解释如下:
·A,B:使用公钥密码系统的两个用户。
·mod n:模n运算。例如,23 mod 7=2。
·Fq:包含q个元素的有限域。
·q:有限域Fq中元素的数目。
·a,b:Fq中的元素,它们定义Fq上的一条椭圆曲线E。
·E(Fq):Fq上椭圆曲线E的所有有理点(包括无穷远点0)组成的集合。
·G:椭圆曲线的一个基点,其阶为素数。
·#E(Fq):E(Fq)上点的数目,称为椭圆曲线E(Fq)的阶。
·n:基点G的阶(n是#E(Fq)的素因子)。
·|n|:把n表示为二进制数的比特数目。
·h:n的余因子,即h=#E(Fq)/n。
·Par:椭圆曲线系统参数。
·0:椭圆曲线上的一个特殊点,称为无穷远点或零点,是椭圆曲线加法群的单位元。
·[k]P:椭圆曲线上点P的k倍点,即,[k]P=P+P+…+P,k是正整数。
·[x,y]:大于或等于x且小于或等于y的整数的集合。
·e:密码杂凑函数作用于消息M的输出值。
·e′:密码杂凑函数作用于消息M′的输出值。
·Hv():消息摘要长度为v比特的密码杂凑函数。
·IDA:用户A的可辨别标识。
·x||y:x与y的拼接,其中x、y可以是比特串或字节串。
·ZA:关于用户A的可辨别标识、部分椭圆曲线系统参数和用户A公钥的杂凑值。
·PA:用户A的公钥。
·dA:用户A的私钥。
·M:待签名或加密的消息。
·M′:待验证消息。
·(r,s):发送的签名。
·(r′,s′):收到的签名。
·C:SM2公钥加密算法的输出密文。
·KDF:SM2公钥加密算法中的临时密钥导出函数。
本申请基于SM2标准的两方协同解密方法,采用信息隐藏和密钥拆分的方式保护SM2标准的密钥生成算法和公钥加密算法流程中的密钥信息。为了保证拆分后的密钥片仍然可以解密(只有在服务器的配合下才能完成),本申请采用两方安全计算的方式来实现这一目标。为了使方案具有较好的可读性和可扩展性,把一套SM2公私钥对安全地拆分成两套SM2公私钥对,服务器和用户各保存一套。然后,采用Diffie-Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密,使方案变得更安全。
如图1所示,TPSM2Dec由两个模块组成,分别是数字证书生成模块TPSM2CertGen和两方解密方案TPDec。
解密证书生成方案(TPSM2CertGen)
假设用户A已通过RA的审核,通过以下密钥生成协议(请参见图2)直接产生用户A的SM2公钥PA及对应的解密证书。
方案:TPSM2CertGen
输入:椭圆曲线参数
TPSM2CG1:用户A通过随机数发生器产生随机整数kA
kA∈[1,n-1]
并计算椭圆曲线上的点WA
WA=[kA]G,
然后发送证书生成请求(request,IDA,WA)给服务器,其中request为请求标识;
服务器收到证书申请请求后,通过随机数发生器产生随机整数kS,dA,eS
kS,dA,eS∈[1,n-1]
并计算
WS=[kS]G
eA=dA-eS mod n
(x,y)←[kS]WA
k←KDF(x||y,|n|)
Figure BDA0002581339560000081
PA=[dA]G
其中WS为椭圆曲线上的点,整数eA为用户A解密密钥分片,k为临时会话密钥,PA为用户A的公钥,eS为服务器端用来参与用户A的两方协同解密的密钥片;
为用户A生成解密证书DecCertA,其中A的公钥为PA,然后发送c,WS和DecCertA给用户A;
TPSM2CG2:最后,用户A计算
(x′,y′)←[kA]WS
k′←KDF(x′||y′,|n|)
Figure BDA0002581339560000082
其中,临时会话密钥k′与服务器的临时会话密钥k一致;
输出:用户A输出其解密证书DecCertA,对应的公钥为PA,并秘密保存解密密钥分片eA,并从内存销毁kA,eA,x′,y′和k′;服务器端S保存用户密钥信息(IDA,DecCertA,eS)于用户信息表UT中,并可把密钥送密钥托管服务器进行托管;然后从内存销毁kS,eA,eS,x′,y′和k。
注:用户A拥有的解密密钥片为eA;服务器端用来参与用户A的两方协同解密的密钥片为eS
两方SM2协同解密方案(TPDec)
4.1加密算法
同SM2标准的公钥加密算法。
4.2两方协同解密方案
假设用户和服务器先执行身份认证协议,待服务器对用户身份进行认证成功后再执行协同解密协议。其描述如下:
4.2.1两方解密协议
用户端A的输入:待解密的密文C、密钥信息eA,、椭圆曲线系统参数Par、ZA、用户身份认证信息。
服务器端的输入:椭圆曲线系统参数Par、ZA、用户身份验证信息、用户密钥信息(IDA,DecCertA,eS)。
为了解密SM2密文C=(C1,C2,C3),用户A和服务器S执行如下协议(请参见图3)。
用户解密协议:
1)第一轮用户A的操作:
AD1:用户A把C1、他的身份IDA发给服务器S;
2)第一轮服务器端S的操作:
SD1:服务器首先验证IDA已被认证通过,然后利用IDA查找对应的hdS,并对消息C1进行部分解封装,相关计算如下:
CS1=[eS]C1
然后发送CS1给用户A。
当用户A收到CS1后,进行如下解密:
AD2:先计算(x1,y1)=[eA]C1+CS1,然后恢复消息
Figure BDA0002581339560000101
AD3:计算v=Hash(x1||M||y1),如果v=C3,则输出消息M,否则输出解密失败。
在本发明的另一个实施例中,还提供了基于SM2标准的两方协同解密系统,包括数字证书生成模块和两方解密模块,
所述数字证书生成模块,用于生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书;
所述两方解密模块,采用Diffie-Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密。
在本发明的另一个实施例中,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现下述方法:
生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书;
采用Diffie-Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密。
在本说明书的描述中,参考术语“实施例”、“一个实施例”、“另一个实施例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (6)

1.基于SM2标准的两方协同解密方法,其特征在于,包括下述步骤:生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书;
采用Diffie-Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密;
所述生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书的步骤,具体为:
用户A通过随机数发生器产生随机整数kA
kA∈[1,n-1]
并计算椭圆曲线上的点WA
WA=[kA]G,
然后发送证书生成请求(request,IDA,WA)给服务器,其中request为请求标识,IDA为用户A的身份;
服务器收到证书申请请求后,通过随机数发生器产生随机整数kS,dA,eS
kS,dA,eS∈[1,n-1]
并计算
WS=[kS]G
eA=dA-eS mod n
(x,y)←[kS]WA
k←KDF(x||y,|n|)
Figure FDA0003851275630000011
PA=[dA]G
其中WS为椭圆曲线上的点,整数eA为用户A解密密钥分片,k为临时会话密钥,PA为用户A的公钥,eS为服务器端用来参与用户A的两方协同解密的密钥片;
为用户A生成解密证书DecCertA,然后发送c,WS和DecCertA给用户A;
最后,用户A计算
(x′,y′)←[kA]WS
k′←KDF(x′||y′,|n|)
Figure FDA0003851275630000021
其中,临时会话密钥k′与服务器的临时会话密钥k一致。
2.根据权利要求1所述基于SM2标准的两方协同解密方法,其特征在于,所述生成解密证书,用户A输出其解密证书DecCertA,对应的公钥为PA,并秘密保存解密密钥分片eA,并从内存销毁kA,eA,x′,y′和k′;服务器端S保存用户密钥信息(IDA,DecCertA,eS)于用户信息表UT中,并可把密钥送密钥托管服务器进行托管;然后从内存销毁kS,eA,eS,x′,y′和k。
3.根据权利要求1所述基于SM2标准的两方协同解密方法,其特征在于,两方协同解密的方法为:
用户和服务器先执行身份认证协议,待服务器对用户身份进行认证成功后再执行协同解密协议,其描述如下:
两方解密协议:
用户端A的输入:待解密的密文C、eA、椭圆曲线系统参数Par、ZA、用户身份认证信息;
服务器端的输入:椭圆曲线系统参数Par、ZA、用户身份验证信息、用户密钥信息(IDA,DecCertA,eS);
解密SM2密文C=(C1,C2,C3),用户A和服务器S执行用户解密协议。
4.根据权利要求3所述基于SM2标准的两方协同解密方法,其特征在于,所述用户解密协议具体为:
1)第一轮用户A的操作:
AD1:用户A把C1、他的身份IDA发给服务器S;
2)第一轮服务器端S的操作:
SD1:服务器首先验证IDA已被认证通过,然后利用IDA查找对应的eS,并对消息C1进行部分解封装,相关计算如下:
CS1=[eS]C1
然后发送CS1给用户A;
当用户A收到CS1后,进行如下解密:
AD2:先计算(x1,y1)=[eA]C1+CS1,然后恢复消息
Figure FDA0003851275630000031
AD3:计算v=Hash(x1||M||y1),如果v=C3,则输出消息M,否则输出解密失败。
5.基于SM2标准的两方协同解密系统,其特征在于,包括数字证书生成模块和两方解密模块,
所述数字证书生成模块,用于生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书;所述生成解密证书,通过密钥生成协议直接产生用户A的SM2公钥PA及对应的解密证书的步骤,具体为:
用户A通过随机数发生器产生随机整数kA
kA∈[1,n-1]
并计算椭圆曲线上的点WA
WA=[kA]G,
然后发送证书生成请求(request,IDA,WA)给服务器,其中request为请求标识,IDA为用户A的身份;
服务器收到证书申请请求后,通过随机数发生器产生随机整数kS,dA,eS
kS,dA,eS∈[1,n-1]
并计算
WS=[kS]G
eA=dA-eS mod n
(x,y)←[kS]WA
k←KDF(x||y,|n|)
Figure FDA0003851275630000032
PA=[dA]G
其中WS为椭圆曲线上的点,整数eA为用户A解密密钥分片,k为临时会话密钥,PA为用户A的公钥,eS为服务器端用来参与用户A的两方协同解密的密钥片;
为用户A生成解密证书DecCertA,然后发送c,WS和DecCertA给用户A;
最后,用户A计算
(x′,y′)←[kA]WS
k′←KDF(x′||y′,|n|)
Figure FDA0003851275630000041
其中,临时会话密钥k′与服务器的临时会话密钥k一致;
所述两方解密模块,采用Diffie-Hellman密钥交换技术来生成用户的SM2公钥密码证书,采用门限解密的方式来完成SM2密文的解密。
6.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-4任一项所述的基于SM2标准的两方协同解密方法。
CN202010668303.6A 2020-07-13 2020-07-13 基于sm2标准的两方协同解密方法、系统及存储介质 Active CN111756537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010668303.6A CN111756537B (zh) 2020-07-13 2020-07-13 基于sm2标准的两方协同解密方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010668303.6A CN111756537B (zh) 2020-07-13 2020-07-13 基于sm2标准的两方协同解密方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111756537A CN111756537A (zh) 2020-10-09
CN111756537B true CN111756537B (zh) 2022-11-29

Family

ID=72711485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010668303.6A Active CN111756537B (zh) 2020-07-13 2020-07-13 基于sm2标准的两方协同解密方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111756537B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742670B (zh) * 2021-08-30 2023-06-06 建信金融科技有限责任公司 多方协同解密方法和装置
CN113541972B (zh) * 2021-09-17 2021-12-17 杭州天谷信息科技有限公司 一种数字证书生成方法及电子签名方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109246129A (zh) * 2018-10-12 2019-01-18 天津赢达信科技有限公司 一种可验证客户端身份的sm2协同签名方法及系统
CN109474422A (zh) * 2018-11-19 2019-03-15 武汉大学 一种多方协同产生sm2数字签名的方法
CN109547212A (zh) * 2018-12-04 2019-03-29 中国电子科技集团公司第三十研究所 一种基于sm2签名算法的门限签名方法
CN110278088A (zh) * 2019-07-18 2019-09-24 广州安研信息科技有限公司 一种sm2协同签名方法
CN110958114A (zh) * 2019-10-25 2020-04-03 武汉大学 一种两方协同sm2密钥生成、密文解密方法与介质
CN111049650A (zh) * 2019-12-27 2020-04-21 上海市数字证书认证中心有限公司 一种基于sm2算法的协同解密方法及装置、系统、介质
CN111130804A (zh) * 2019-12-27 2020-05-08 上海市数字证书认证中心有限公司 一种基于sm2算法的协同签名方法及装置、系统、介质
CN111314089A (zh) * 2020-02-18 2020-06-19 数据通信科学技术研究所 一种基于sm2的两方协同签名方法及解密方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109246129A (zh) * 2018-10-12 2019-01-18 天津赢达信科技有限公司 一种可验证客户端身份的sm2协同签名方法及系统
CN109474422A (zh) * 2018-11-19 2019-03-15 武汉大学 一种多方协同产生sm2数字签名的方法
CN109547212A (zh) * 2018-12-04 2019-03-29 中国电子科技集团公司第三十研究所 一种基于sm2签名算法的门限签名方法
CN110278088A (zh) * 2019-07-18 2019-09-24 广州安研信息科技有限公司 一种sm2协同签名方法
CN110958114A (zh) * 2019-10-25 2020-04-03 武汉大学 一种两方协同sm2密钥生成、密文解密方法与介质
CN111049650A (zh) * 2019-12-27 2020-04-21 上海市数字证书认证中心有限公司 一种基于sm2算法的协同解密方法及装置、系统、介质
CN111130804A (zh) * 2019-12-27 2020-05-08 上海市数字证书认证中心有限公司 一种基于sm2算法的协同签名方法及装置、系统、介质
CN111314089A (zh) * 2020-02-18 2020-06-19 数据通信科学技术研究所 一种基于sm2的两方协同签名方法及解密方法

Also Published As

Publication number Publication date
CN111756537A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN110011802B (zh) 一种高效的sm9两方协同生成数字签名的方法及系统
CN109088726B (zh) 基于sm2算法的通信双方协同签名及解密方法和系统
WO2021042685A1 (zh) 一种区块链的交易方法、装置及系统
CN111314089B (zh) 一种基于sm2的两方协同签名方法及解密方法
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
JP4527358B2 (ja) 鍵供託を使用しない、認証された個別暗号システム
CN104821880B (zh) 一种无证书广义代理签密方法
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和系统
CN111049647B (zh) 一种基于属性门限的非对称群组密钥协商方法
CN114726546B (zh) 数字身份认证方法、装置、设备和存储介质
CN111756537B (zh) 基于sm2标准的两方协同解密方法、系统及存储介质
Nose Security weaknesses of authenticated key agreement protocols
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
TW202025666A (zh) 用於共享公共秘密之電腦實施系統及方法
CN113972981A (zh) 一种基于sm2密码算法的高效门限签名方法
CN113765662A (zh) 一种基于sm2算法的签名及解密方法和系统
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
WO2020042023A1 (zh) 一种即时通信的数据加密方法及装置
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
CN110048852B (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
CN111953489A (zh) 基于sm2算法的发电单元采集业务的密钥交换设备及方法
Pal et al. Diffie-Hellman key exchange protocol with entities authentication
Oh et al. How to solve key escrow and identity revocation in identity-based encryption schemes
CN114978488A (zh) 一种基于sm2算法的协同签名方法及系统
CN109787773B (zh) 基于私钥池和Elgamal的抗量子计算签密方法和系统

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