CN109039611B - 基于sm9算法的解密密钥分割及解密方法、装置、介质 - Google Patents

基于sm9算法的解密密钥分割及解密方法、装置、介质 Download PDF

Info

Publication number
CN109039611B
CN109039611B CN201811012327.5A CN201811012327A CN109039611B CN 109039611 B CN109039611 B CN 109039611B CN 201811012327 A CN201811012327 A CN 201811012327A CN 109039611 B CN109039611 B CN 109039611B
Authority
CN
China
Prior art keywords
private key
key component
bilinear map
map value
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
CN201811012327.5A
Other languages
English (en)
Other versions
CN109039611A (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.)
Beijing Haitai Fangyuan High Technology Co Ltd
Original Assignee
Beijing Haitai Fangyuan High 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 Beijing Haitai Fangyuan High Technology Co Ltd filed Critical Beijing Haitai Fangyuan High Technology Co Ltd
Priority to CN201811012327.5A priority Critical patent/CN109039611B/zh
Publication of CN109039611A publication Critical patent/CN109039611A/zh
Application granted granted Critical
Publication of CN109039611B publication Critical patent/CN109039611B/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/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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种基于SM9算法的解密密钥分割及解密方法、装置、介质,涉及信息处理技术领域,用以解决如何保证私钥及密文数据安全性的问题。本申请中,私钥等同于解密密钥。该方法中,将SM9私钥在群G2中分割为n个私钥分量;将n个私钥分量,发送给不同的密钥管理设备存储。解密时,密钥管理设备只需提供所持私钥分量的双线性对计算值即可,解密设备根据私钥分量的双线性对值计算私钥的双线性对值,后续根据国密标准SM9解密算法解密得到明文。这样,密钥管理设备只能获取私钥分量而不能获取完整的密钥,而解密设备也不能获取到完整的私钥以及所有的私钥分量,从而保证了私钥的安全,也就保护了用户需要加密的数据的安全。

Description

基于SM9算法的解密密钥分割及解密方法、装置、介质
技术领域
本申请涉及信息处理技术领域,尤其涉及SM9算法解密密钥分割及解密方法、装置、介质。
背景技术
得益于加解密技术,敏感信息能够在网络中安全的传输。国家研发了一系列国密标准的密钥算法,使得国内的敏感信息有了自己的密钥算法进行加密。
在公钥密码体制中,加密所用的公钥是公开的,任何人都可以利用公钥对数据进行加密运算。解密时采用公钥对应的私钥进行解密。但是私钥并非每个人都可以获取,只有私钥的拥有者才能解密数据。因此,如何保护私钥的安全性成为业内关注的问题。
发明内容
本申请实施例提供一种基于SM9算法的解密密钥分割及解密方法、装置、介质,用于保证私钥及密文数据的安全性。
第一方面,本申请实施例提供一种基于SM9算法的解密密钥分割方法,该方法包括:
在SM9私钥所在的群G2中选取n-1个平凡点;其中,群G2为一个阶为素数N的加法循环群;n为大于等于2的正整数;
根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量;
将n个私钥分量,发送给不同的密钥管理设备存储。
进一步的,根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量,具体包括:
将选取的每个平凡点确定为一个私钥分量,得到n-1个私钥分量;
将SM9私钥在所述G2中的点减去所述n-1个私钥分量,得到第n个私钥分量。
进一步的,本申请实施例提供一种基于SM9算法的解密方法,该方法包括:
获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;群GT是阶为素数N的乘法循环群;
计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;
依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到所述密文的明文。
进一步的,获取各私钥分量的双线性对值,具体包括:
获取各私钥分量的密钥管理设备计算的私钥分量的双线性对值。
进一步的,该方法包括:
在需要对基于SM9算法的公钥加密后的密文进行解密时,验证所述密文中的C1∈G1是否成立;其中,G1是一个阶为素数N且不同于G2的加法循环群;
若不成立,结束解密操作;
若成立,则计算所持私钥分量的双线性对值;其中,所述私钥分量为SM9私钥在群G2中分割得到的平凡点;
发送计算的私钥分量的双线性对值给解密设备。
本申请实施例还提供一种基于SM9算法的解密密钥分割装置,该装置包括:
选点模块,用于在SM9私钥所在的群G2中选取n-1个平凡点;其中,群G2为一个阶为素数N的加法循环群;n为大于等于2的正整数;
分割模块,用于根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量;
第一发送模块,用于将n个私钥分量,发送给不同的密钥管理设备存储。
进一步的,本申请实施例提供一种基于SM9算法的解密装置,该装置包括:
获取模块,用于获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;群GT是阶为素数N的乘法循环群;
第一计算模块,用于计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;
解密模块,用于依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到所述密文的明文。
进一步的,该装置包括:
验证模块,用于在需要对基于SM9算法的公钥加密后的密文进行解密时,验证所述密文中的C1∈G1是否成立;其中,G1是一个阶为素数N且不同于G2的加法循环群;
结束模块,用于若不成立,结束解密操作;
第二计算模块,用于若成立,则计算所持私钥分量的双线性对值;其中,所述私钥分量为SM9私钥在群G2中分割得到的平凡点;
第二发送模块,用于发送计算的私钥分量的双线性对值给解密设备。
本申请另一实施例还提供了一种计算装置,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的任一基于SM9算法的解密密钥分割及解密方法。
本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的任一基于SM9算法的解密密钥分割及解密方法。
本申请实施例提供的基于SM9算法的解密密钥分割及解密方法、装置、介质,由于密钥管理设备只能获取私钥分量而不能获取完整的密钥,而解密设备也不能获取到完整的私钥以及所有的私钥分量,从而保证了私钥的安全,也就保护了用户需要加密的数据的安全。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的国密标准SM9解密算法流程示意图;
图2为本申请实施例中的应用场景的示意图;
图3为本申请实施例中的流程示意图;
图4为本申请实施例中椭圆曲线点群运算规则示意图;
图5为本申请实施例中的另一流程示意图;
图6为本申请实施例中的另一流程示意图;
图7为本申请实施例中SM9算法密钥存储装置示意图;
图8为本申请实施例中SM9算法密钥解密装置示意图;
图9为本申请实施例中另一SM9算法密钥解密装置示意图;
图10为根据本申请实施方式的计算装置的结构示意图。
具体实施方式
为了私钥与加密信息的安全,本申请实施例中提供一种SM9算法的解密密钥分割及解密方法、装置、介质。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:
为便于理解,这里先对SM9解密算法做简要说明,如图1所示,该算法包括以下步骤:设密文C=C1||C2||C3,其中,C1是对对称密钥的封装(注:该对称密钥与本申请方案中的私钥无关),C2是对消息的封装,C3用作消息认证。
步骤B1:验证C1∈G1是否成立;G1是一个阶为素数N的加法循环群;若成立则执行步骤B2,若不成立则执行步骤B7。
步骤B2:计算w’=e(C1,d);其中,d为SM9私钥,w’为私钥d的双线性对值,e表示双线性对映射:G1(C1所在的群)*G2(d所在的群)→GT,GT是阶为素数N的乘法循环群;
步骤B3:计算整数klen;
若加密明文的方法是基于密钥派生函数的流密码,则klen=mlen+K2_len;若加密明文的方法是结合密钥派生函数的分组密码算法,则klen=K1_len+K2_len。其中,mlen为密文中C2的比特长度,K1_len为对称密码算法中密钥的K1的比特长度,K2_len为函数MAC(K2,Z)中密钥K2的比特长度。这里的函数MAC(K2,Z)指消息认证码函数。
步骤B4:计算K’=KDF(C1||w’||ID,klen);KDF是密钥派生函数,ID表示用户标识。
若加密明文的方法是密钥派生函数的流密码,则K1’为K’最左边的mlen比特,K2’为K’剩下的K2_len的比特。若K1’为全0比特串,则执行步骤B7。若不是,则计算M’=C2⊕K1’。
若加密明文的方法是结合密钥派生函数的分组密码算法,则K1’为K’最左边的K1_len的比特,K2’为剩下的K2_len的比特。若K1’为全0比特串,则执行步骤B7。若不是,则计算M’=Dec(K1’,C2)。其中,Dec为分组密码解密算法。
步骤B5:计算u=MAC(K2’,C2)。若u≠C3,则执行步骤B7。若u=C3,则执行步骤B6。这里的函数MAC(K2’,C2)表示的是消息验证码函数。
步骤B6:输出明文;
步骤B7:报错并退出。
综上可知,解密过程中私钥的一个重要作用是得到私钥的双线性对值,有鉴于此,本申请实施例中,在SM9私钥所在的群G2中选取多个平凡点;根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量;然后将n个私钥分量发送给不同的密钥管理设备存储。在需要对基于SM9算法的密文进行解密时,通过图1所示的解密步骤可知,确定私钥的双线性对值是一个关键步骤,有了私钥的双线性对值就可以根据国密标准进行后续的解密。
解密时,本申请中可以先获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;其中,群GT为一个阶为素数N的乘法循环群;依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到所述密文的明文。本申请中,解密密钥即用户解密密钥等同于文中的私钥。这样,通过将私钥在群G2中分割为n个分量,密钥管理设备只能获取私钥分量而不能获取完整的密钥,而解密设备也不能获取到完整的私钥以及所有的私有分量,其仅能获取到私钥分量各自对应的双线性对计算值,从而保证了私钥的安全,也就保护了用户需要加密的数据的安全。
如图2所示,其为通过本申请实施例提供的方案来进行SM9密钥存储及解密的场景示意图。该场景中包括密钥管理设备10、密钥管理设备20、……直至密钥管理设备n0、服务器12以及密钥分割设备13。
首先密码分割设备13在SM9私钥所在的群G2中将SM9私钥分割为n份,并将n份私钥分量交由不同的密钥管理设备10、20、……直至n0保管,也即一个密钥管理设备存储一份私钥分量。当然具体实施时,密钥管理设备的数量可以大于2同时小于n,也就是允许一个密钥管理设备存储多份私钥分量,具体如何实施,可以根据实际需求确定,本申请实施例对此不作限定。
在需要对密文进行解密时,密钥管理设备10、20、……、n0根据国标的解密标准分别验证C1∈G1,是否成立;若不成立,结束解密操作;若成立,则计算所持私钥分量的双线性对值,并将计算的双线性对值发送给解密设备。
解密设备例如图2中的服务器12接收密钥管理设备发送的双线性对值,在群GT中计算各私钥分量的双线对值的乘积,得到SM9私钥的双线性对值。依照国密标准SM9公钥密码算法、根据计算的SM9私钥的双线对值进行后续解密处理,服务器12输出明文。
需要说明的是,解密设备可以由不同于密钥管理设备的第三方充当,也可以由密钥管理设备中的某一方兼任,本申请实施例对此不作限定。
其中,密钥管理设备和服务器可通过通信网络进行通信连接,该网络可以为局域网、广域网等,当然也可以通过无线连接。
下面结合参照附图对本申请实施例提供的密钥分割存储与私钥分量解密方法作进一步说明,如图3所示为本申请实施例提供的基于SM9算法的解密密钥分割方法的流程示意图,包括以下步骤:
步骤301:在SM9私钥所在的群G2中选取n-1个平凡点;其中,群G2为一个阶为素数N的加法循环群;n为大于等于2的正整数;
步骤302:根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量;
步骤303:将n个私钥分量,发送给不同的密钥管理设备存储。
具体实施时,分割的数量n原则上没有任何要求,但不宜太多,因为私钥分割太多,会增加私钥分量管理工作以及由管理问题带来的私钥分量被泄露的风险。如前所述,密钥管理设备可以与私钥分量的数量相同也可以与私钥分量的数量不同,只要密钥管理设备的数量大于等于两个即可。
通过上述实施例,将解密密文的SM9私钥在群G2中分割成n份,并将私钥分量交由不同的密钥管理设备存储,保证了私钥的安全性。
进一步的,根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量,具体包括:将选取的每个平凡点确定为一个私钥分量,得到n-1个私钥分量;将SM9私钥在G2中的点减去所n-1个私钥分量,得到第n个私钥分量。其中,第n个私钥分量是通过椭圆曲线上点群的运算规则得到的。例如,设SM9私钥为d,要将SM9私钥d分割为两个私钥分量。在群G2中选取一个点d1,则根据椭圆曲线上点群的运算规则,第二个私钥分量d2=d-d1。在群G2中选取平凡点可以随机选取。
下面结合图4对于椭圆曲线上点群的运算规则进行详细说明:
椭圆曲线上不同的两点P、Q满足P+Q=R,R的值是这样得到的:过P、Q两点的直线与椭圆曲线相交第三点R',然后找到R'以x轴为对称轴的点即为R;如果P、Q点相同,则直线为过P(Q)点的椭圆曲线的切线,该切线相交于椭圆曲线的另一点即为R',进而可以找到以x轴为对称轴的点R。
上述实施例中,由于SM9用户解密私钥为群G2的点,利用椭圆曲线上点群的运算规则,对私钥进行分割,分割方法简单、能够快速得到私钥分量的同时,简单的处理方法还能够节约处理资源。
相应的,基于相同的发明构思,这里对应相应的解密方法做进一步说明。如图5所示,为本申请实施例提供的基于SM9算法的解密方法的流程示意图,该方法包括以下步骤:
步骤501:获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;群GT是阶为素数N的乘法循环群;
步骤502:计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;
步骤503:依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到所述密文的明文。
其中国密标准SM9解密算法流程在图1中已给出。
本实施例中,在需要对密文进行解密操作时,获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;其中,群GT是阶为素数N的乘法循环群;依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到所述密文的明文。
进一步的,为了进一步保障私钥的安全性,各私钥分量的双线性对值是各密钥管理设备计算的。上述步骤501中的获取各私钥分量的双线性对值,可具体实施为:获取各私钥分量的密钥管理设备计算的私钥分量的双线性对值。
在该实施例中,解密设备和密钥管理设备,没有一个设备能够获得完整的私钥,即使在解密过程中,各设备能够得到的也只是各私钥分量的双线性对值。所以解密过程中私钥也没有重组,能够保证私钥的安全。
为便于进一步理解本申请实施例提供的技术方案,这里举例进行说明:
假设SM9私钥为d,将SM9私钥d分割为d1和d2两个分量,发送不同的密钥管理设备保管。私钥d1的双线性对值为w1=e(C1,d1),其中,e表示双线性对映射:G1(C1所在的群)*G2(d所在的群)→GT。群GT是阶为素数N的乘法循环群。私钥d2的双线性对值为w2=e(C2,d2)。有多个私钥分量时,原理以此类推,这里不再赘述。
根据各私钥分量的双线性对值,可以计算出私钥的双线性对值。双线性对具有以下性质:假设私钥d的双线性对值为w’、私钥分量d1的双线性对值为w1,私钥分量d2的双线性对值为w2。则,私钥的双线性对值和各私钥分量的双线性对值满足如式(1)所示的关系:
w’=e(C1,d)=e(C1,d1+d2)=e(C1,d1)*e(C1,d2)=w1*w2 (1)
通过上述实施例,解密时密钥管理设备只需提供所持私钥分量的双线性对计算值即可,无需提供所持的私钥分量。所以解密设备无法获得完整的SM9私钥,同时密钥管理设备也无法获得完整的SM9私钥,只能获得私钥分量。这样保证了SM9私钥的安全性,即保证了密文数据的安全性。
进一步的,基于相同的发明构思,下面参照图6对本申请实施例中密钥管理设备侧的基于SM9算法的解密方法做进一步说明,该方法包括以下步骤:
步骤601:验证C1∈G1是否成立;若成立则执行步骤602,若不成立则执行步骤604;
步骤602:计算所持私钥分量的双线性对值;其中,私钥分量为SM9私钥在群G2中分割得到的平凡点;
步骤603:发送计算的私钥分量的双线性对值给解密设备;
步骤604:报错并退出。
本实施例中,在需要对基于SM9算法的公钥加密后的密文进行解密时,验证所述密文中的C1∈G1是否成立;其中,G1是一个阶为素数N且不同于G2的加法循环群;若不成立,结束解密操作;若成立,则计算所持私钥分量的双线性对值;其中,私钥分量为SM9私钥在群G2中分割得到的平凡点。将计算的私钥分量的双线性对值发送给解密设备。
通过上述实施例,密钥管理设备在计算所持私钥分量的双线性对值时,首先验证C1∈G1是否成立,只有当C1∈G1成立时,才会计算私钥分量的双线性对值。将计算的私钥分量的双线性对值发送给解密设备。这样,密钥管理设备只能得到SM9私钥的私钥分量,再通过私钥分量计算双线性对值;解密设备只能得到私钥分量的双线性对值,再通过私钥分量的双线性对值,计算私钥的双线性对值。无论是密钥管理设备还是解密设备都无法获得SM9私钥,保证了SM9私钥和密文数据的安全性。
基于相同的发明构思,本申请实施例还提供一种基于SM9算法的解密密钥分割装置。如图7所示,图7为基于SM9算法的解密密钥分割装置示意图,包括:
选点模块1001,用于在SM9私钥所在的群G2中选取n-1个平凡点;其中,群G2为一个阶为素数N的加法循环群;n为大于等于2的正整数;
分割模块1002,用于根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量;
第一发送模块1003,用于将n个私钥分量,发送给不同的密钥管理设备存储。
进一步的,选点模块1001具体包括:
分量确定单元,用于将选取的每个平凡点确定为一个私钥分量,得到n-1个私钥分量;
计算单元,用于将SM9私钥在所述G2中的点减去所述n-1个私钥分量,得到第n个私钥分量。
进一步的,本发明还提供一种基于SM9算法的解密装置,该装置示意图如图8所示,包括:
获取模块2001,用于获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;群GT是阶为素数N的乘法循环群;
第一计算模块2002,用于计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;
解密模块2003,用于依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到所述密文的明文。
进一步的,获取模块2001具体包括:
获取单元,用于获取各私钥分量的密钥管理设备计算的私钥分量的双线性对值。
进一步的,本发明还提供另一种基于SM9算法的解密装置,该装置如图9所示,包括:
验证模块3001,用于在需要对基于SM9算法的公钥加密后的密文进行解密时,验证所述密文中的C1∈G1是否成立;其中,G1是一个阶为素数N且不同于G2的加法循环群;
结束模块3002,用于若不成立,结束解密操作;
第二计算模块3003,用于若成立,则计算所持私钥分量的双线性对值;其中,所述私钥分量为SM9私钥在群G2中分割得到的平凡点;
第二发送模块3004,用于发送计算的私钥分量的双线性对值给解密设备。
在介绍了本申请示例性实施方式的一种基于SM9算法的解密密钥分割及解密方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式SM9算法的解密密钥分割及解密中的步骤。例如,处理器可以执行如图3所示的步骤301-303、或者如图5中的步骤501-503、或者如图6中的步骤601-603。
下面参照图10来描述根据本申请的这种实施方式的计算装置130。图10显示的计算装置130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算装置130以通用计算装置的形式表现。计算装置130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置130交互的设备通信,和/或与使得该计算装置130能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,计算装置130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于计算装置130的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的基于SM9算法的解密密钥分割及解密方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的基于SM9算法的解密密钥分割及解密方法中的步骤,例如,计算机设备可以执行如图3所示的步骤301-303、或者如图5中步骤501-503、或者如图6中的步骤601-603。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于SM9算法的密钥存储及解密的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种基于SM9算法的解密密钥分割方法,其特征在于,所述方法包括:
在SM9私钥所在的群G2中选取n-1个平凡点;其中,群G2为一个阶为素数N的加法循环群;n为大于等于2的正整数;
根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量;
将n个私钥分量,发送给不同的密钥管理设备存储。
2.根据权利要求1所述的方法,其特征在于,根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量,具体包括:
将选取的每个平凡点确定为一个私钥分量,得到n-1个私钥分量;
将SM9私钥在所述G2中的点减去所述n-1个私钥分量,得到第n个私钥分量。
3.一种基于SM9算法的解密方法,其特征在于,所述方法包括:
获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;群GT是阶为素数N的乘法循环群;
计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;
依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到密文的明文。
4.根据权利要求3所述的方法,其特征在于,获取各私钥分量的双线性对值,具体包括:
获取各私钥分量的密钥管理设备计算的私钥分量的双线性对值。
5.一种基于SM9算法的解密方法,其特征在于,所述方法包括:
在需要对基于SM9算法的公钥加密后的密文进行解密时,验证所述密文中的C1∈G1是否成立,其中,G1是一个阶为素数N且不同于G2的加法循环群;
若不成立,结束解密操作;
若成立,则计算所持私钥分量的双线性对值;其中,所述私钥分量为SM9私钥在群G2中分割得到的平凡点;
发送计算的私钥分量的双线性对值给解密设备。
6.一种基于SM9算法的解密密钥分割装置,其特征在于,所述装置包括:
选点模块,用于在SM9私钥所在的群G2中选取n-1个平凡点;其中,群G2为一个阶为素数N的加法循环群;n为大于等于2的正整数;
分割模块,用于根据选取的平凡点,将SM9私钥在群G2中分割为n个私钥分量;
第一发送模块,用于将n个私钥分量,发送给不同的密钥管理设备存储。
7.根据权利要求6所述的装置,其特征在于,选点模块具体包括:
分量确定单元,用于将选取的每个平凡点确定为一个私钥分量,得到n-1个私钥分量;
计算单元,用于将SM9私钥在所述G2中的点减去所述n-1个私钥分量,得到第n个私钥分量。
8.一种基于SM9算法的解密装置,其特征在于,所述装置包括:
获取模块,用于获取各私钥分量的双线性对值;其中,私钥分量的双线性对值是群GT中的元素;群GT是阶为素数N的乘法循环群;
第一计算模块,用于计算各私钥分量的双线性对值的乘积,得到SM9私钥的双线性对值;
解密模块,用于依照国密标准SM9解密算法、根据计算的SM9私钥的双线性对值进行后续解密处理,得到密文的明文。
9.根据权利要求8所述的装置,其特征在于,获取模块具体包括:
获取单元,用于获取各私钥分量的密钥管理设备计算的私钥分量的双线性对值。
10.一种基于SM9算法的解密装置,其特征在于,所述装置包括:
验证模块,用于在需要对基于SM9算法的公钥加密后的密文进行解密时,验证所述密文中的C1∈G1是否成立,其中,G1是一个阶为素数N且不同于G2的加法循环群;
结束模块,用于若不成立,结束解密操作;
第二计算模块,用于若成立,则计算所持私钥分量的双线性对值;其中,所述私钥分量为SM9私钥在群G2中分割得到的平凡点;
第二发送模块,用于发送计算的私钥分量的双线性对值给解密设备。
11.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-5中任一权利要求所述的方法。
12.一种计算装置,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5中任一权利要求所述的方法。
CN201811012327.5A 2018-08-31 2018-08-31 基于sm9算法的解密密钥分割及解密方法、装置、介质 Active CN109039611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811012327.5A CN109039611B (zh) 2018-08-31 2018-08-31 基于sm9算法的解密密钥分割及解密方法、装置、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811012327.5A CN109039611B (zh) 2018-08-31 2018-08-31 基于sm9算法的解密密钥分割及解密方法、装置、介质

Publications (2)

Publication Number Publication Date
CN109039611A CN109039611A (zh) 2018-12-18
CN109039611B true CN109039611B (zh) 2019-05-21

Family

ID=64622578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811012327.5A Active CN109039611B (zh) 2018-08-31 2018-08-31 基于sm9算法的解密密钥分割及解密方法、装置、介质

Country Status (1)

Country Link
CN (1) CN109039611B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981591B (zh) * 2019-02-28 2021-09-21 矩阵元技术(深圳)有限公司 单一客户端生成私钥的密钥管理方法、电子设备
CN110677238B (zh) * 2019-03-11 2022-08-05 深圳奥联信息安全技术有限公司 广播加密方法和装置
CN111262704A (zh) * 2020-01-15 2020-06-09 江苏芯盛智能科技有限公司 Sm9数字签名生成方法、装置、计算机设备和存储介质
CN113346997B (zh) * 2021-08-05 2021-11-02 北京紫光青藤微系统有限公司 用于物联网设备通信的方法及装置、物联网设备、服务器
CN113904808A (zh) * 2021-09-08 2022-01-07 北京信安世纪科技股份有限公司 一种私钥分发、解密方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统
CN107623570A (zh) * 2017-11-03 2018-01-23 北京无字天书科技有限公司 一种基于加法密钥分割的sm2签名方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统
CN107623570A (zh) * 2017-11-03 2018-01-23 北京无字天书科技有限公司 一种基于加法密钥分割的sm2签名方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于SM2 算法的密钥安全存储系统设计与实现";张乃千;《信息安全与技术》;20140730(第7期);全文
"基于SM4、MD5 密钥及业务全流程加解密技术的流量批发、转增解决方案";王琳;《产业与科技论坛》;20151130;第14卷(第20期);全文

Also Published As

Publication number Publication date
CN109039611A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109039611B (zh) 基于sm9算法的解密密钥分割及解密方法、装置、介质
US11784801B2 (en) Key management method and related device
US11374975B2 (en) TLS integration of post quantum cryptographic algorithms
CN107294709A (zh) 一种区块链数据处理方法、装置及系统
CN109246098B (zh) 一种支持备份服务器同步密文比较的方法
US10880100B2 (en) Apparatus and method for certificate enrollment
JP6067932B2 (ja) 鍵共有デバイス及び方法
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US11716206B2 (en) Certificate based security using post quantum cryptography
CN109257176A (zh) 基于sm2算法的解密密钥分割及解密方法、装置和介质
WO2013053058A1 (en) Generating implicit certificates
CN108632031B (zh) 密钥生成装置及方法、加密装置及方法
CN103152322A (zh) 数据加密保护方法及系统
US11632246B2 (en) Hybrid key derivation to secure data
CN110032874A (zh) 一种数据存储方法、装置及设备
US20210135851A1 (en) Encryption processing system and encryption processing method
KR101899130B1 (ko) 데이터의 암호화, 복호화 방법 및 이를 이용하는 장치
CN109600225A (zh) 一种密钥交换方法、装置和存储介质
CN106534077B (zh) 一种基于对称密码的可认证的代理重加密系统及方法
KR20220079522A (ko) 기하 대수 및 헨젤 코드들을 이용한 암호화를 위한 방법들 및 시스템들과 동형 암호화 시스템들
CN116633582A (zh) 安全通信方法、装置、电子设备及存储介质
CN115396179A (zh) 基于区块链的数据传输方法、装置、介质及设备
CN109361506A (zh) 信息处理方法
KR101133988B1 (ko) 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템
WO2021248227A1 (en) Methods and systems for encryption, decryption, signing and verification of digital messages

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Decryption key segmentation and decryption method, device and medium based on SM9 algorithm

Effective date of registration: 20210924

Granted publication date: 20190521

Pledgee: Haidian Beijing science and technology enterprise financing Company limited by guarantee

Pledgor: BEIJING HAITAI FANGYUAN HIGH TECHNOLOGY Co.,Ltd.

Registration number: Y2021990000874

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230914

Granted publication date: 20190521

Pledgee: Haidian Beijing science and technology enterprise financing Company limited by guarantee

Pledgor: BEIJING HAITAI FANGYUAN HIGH TECHNOLOGY Co.,Ltd.

Registration number: Y2021990000874

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Decryption key segmentation and decryption method, device, and medium based on SM9 algorithm

Effective date of registration: 20230919

Granted publication date: 20190521

Pledgee: Haidian Beijing science and technology enterprise financing Company limited by guarantee

Pledgor: BEIJING HAITAI FANGYUAN HIGH TECHNOLOGY Co.,Ltd.

Registration number: Y2023110000398