CN108418686A - 一种多分布式的sm9解密方法与介质及密钥生成方法 - Google Patents
一种多分布式的sm9解密方法与介质及密钥生成方法 Download PDFInfo
- Publication number
- CN108418686A CN108418686A CN201711183120.XA CN201711183120A CN108418686A CN 108418686 A CN108418686 A CN 108418686A CN 201711183120 A CN201711183120 A CN 201711183120A CN 108418686 A CN108418686 A CN 108418686A
- Authority
- CN
- China
- Prior art keywords
- key
- communication party
- calculated
- len
- encryption 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.)
- 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/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
- H04L9/3073—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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3033—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
Abstract
本发明公开了一种多分布式的SM9解密方法与介质及密钥生成方法,多个通信方在不泄漏自己的部分加密密钥,无法获得完整的加密密钥的情况下共同完成对消息的解密过程。其技术方案为:密钥生成中心(KGC)为参与SM9解密系统的通信方生成对应的部分密钥。收到密钥后,第n通信方An计算第一个临时变量并返回给An‑1。An‑1收到w1后,计算第二个临时变量并返回给An‑2,如此继续下去,直到A1收到wn‑1后,计算第n个临时变量并按加密明文的方法分类进行解密计算,最终输出明文M′。
Description
技术领域
本发明涉及密码技术领域,尤其涉及基于多方共同产生SM9解密方法及介质。
背景技术
随着科学技术的飞速发展,物联网等网络平台为大数据的存储和传输提供了强大的计算平台,也为人们的日常生活提供了便利。但是,数据的安全和隐私问题成为人们高度关注的问题。在大数据环境中,既能实现消息安全存储、传输以及使用,又能防止消息泄漏、保证消息的完整性、保密性是一个巨大的挑战。
基于公钥密码学的数字签名和加解密技术是实现消息机密性、完整性和不可否认性的关键技术,已经广泛应用于网络通信、电子商务和电子政务等领域。但是其安全性主要取决于对密钥的保护,一旦密钥泄露则安全性无从谈起。秘密共享为解决密钥管理问题提供了一个崭新的思路,在秘密数据的安全存储及传输中起着关键作用。秘密共享采用一种算法将秘密分割成若干份额,只有将一定数量的份额放在一起,秘密才可以通过一定的算法重构出来,而少于这个数量的份额无法重构秘密,这个数量被称作门限。在(t,n)门限签名方案中,秘密被分割成n份,即使攻击者窃取了t-1个份额,也无法生成有效签名。
但是,上述算法的实现通常需要大量的双线性对和指数运算,而这些运算对于资源受限的用户而言将是一个巨大的计算负担。
因此,现有的密钥分割大多数安全防护性较差,而现有的解密方案往往交互次数较多,用户的计算复杂度比较高,不能满足大数据环境中要求的低延时、少交互的应用需求。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种多分布式的SM9解密方法与介质及密钥生成方法,多个通信方在不泄漏自己的部分加密密钥,无法获得完整的加密密钥的情况下共同完成对消息的解密过程。
本发明的技术方案为:本发明揭示了一种密钥生成方法,包括:
步骤1:密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的加密密钥,否则计算第二个临时变量其中表示t1模q的逆元,即其中ke表示主私钥,hid是密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符,q是循环群的阶且q>2191为素数,ID是用户的身份标识符,H1()表示由密码杂凑函数派生的密码函数;
步骤2:密钥生成中心随机选择d1,d2,...,dn-1∈[1,q-1],计算其中表示di模q的逆元,即其中[1,q-1]表示不小于1且不大于q-1的整数的集合;
步骤3:密钥生成中心设置第一部分加密密钥第二部分加密密钥以此类推,第n-1部分加密密钥第n部分加密密钥其中P2表示阶为素数q的加法循环群G2的生成元,[dn]P2是生成元P2的dn倍;
步骤4:用户把存储到设备Ai中。
根据本发明的密钥生成方法的一实施例,在步骤1之前还包括系统初始化阶段:
密钥生成中心选择选择随机数ke∈[1,q-1]作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥,密钥生成中心秘密保存主私钥ke,公开Ppub-e,且密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符hid,其中P1是阶为素数q的加法循环群G1的生成元,[ke]P1是生成元P1的ke倍。
本发明还揭示了一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序执行以下的步骤:
步骤1:密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的加密密钥,否则计算第二个临时变量其中表示t1模q的逆元,即其中ke表示主私钥,hid是密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符,q是循环群的阶且q>2191为素数,ID是用户的身份标识符,H1()表示由密码杂凑函数派生的密码函数;
步骤2:密钥生成中心随机选择d1,d2,...,dn-1∈[1,q-1],计算其中表示di模q的逆元,即其中[1,q-1]表示不小于1且不大于q-1的整数的集合;
步骤3:密钥生成中心设置第一部分加密密钥第二部分加密密钥以此类推,第n-1部分加密密钥第n部分加密密钥其中P2表示阶为素数q的加法循环群G2的生成元,[dn]P2是生成元P2的dn倍;
步骤4:用户把存储到设备Ai中。
根据本发明的计算机存储介质的一实施例,运行计算机程序执行的步骤还包括在步骤1之前的系统初始化阶段:
密钥生成中心选择选择随机数ke∈[1,q-1]作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥,密钥生成中心秘密保存主私钥ke,公开Ppub-e,且密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符hid,其中P1是阶为素数q的加法循环群G1的生成元,[ke]P1是生成元P1的ke倍。
本发明还揭示了一种多分布式的SM9解密方法,包括:
步骤1:第n通信方An从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,An计算第一个临时变量并将w1发送给An-1,其中密文C=C1||C3||C2,C1、C2、C3为比特串,G1为阶q为素数的加法循环群,为密钥生成中心设置的第n部分加密密钥,e(·,·)表示G1×G2→GT的双线性映射,G1,G2为阶是素数q的加法循环群,GT为阶是素数q的乘法循环群;
步骤2:第n-1通信方An-1收到w1后,计算第二个临时变量并将w2发送给第n-2通信方An-2,其中为密钥生成中心设置的第n-1部分加密密钥,表示w1的次幂,即
步骤3:第n-2通信方An-2收到w2后,计算第三个临时变量并将w3发送给第n-3通信方An-3,其中为密钥生成中心设置的第n-2部分加密密钥;
步骤4:以此类推,第2通信方A2收到wn-2后,计算第n-1个临时变量并将wn-1发送给第1通信方A1,其中为密钥生成中心设置的第2部分加密密钥;
步骤5:第1通信方A1收到wn-1后,计算第n个临时变量并将wn的数据类型转换为比特串,第1通信方A1按加密明文的方法分类进行解密计算。
根据本发明的多分布式的SM9解密方法的一实施例,步骤5的按加密明文的方法分类进行解密计算进一步包括:
若加密明文的方法是基于密钥派生函数KDF(·)的序列密码算法,则计算klen=mlen+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算其中mlen是密文C的比特长度,K2_len是消息认证码函数MAC(K2,Z)中密钥K2的比特长度,ID表示作为解密者的用户的标识,可以唯一确定用户的公钥,Z表示待求取消息认证码的消息数据比特串;
若加密明文的方法是基于密钥派生函数KDF(·)的分组密码算法,则计算klen=K1_len+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算M′=Dec(K1′,C2),其中K1_len是分组密码算法Dec(·)中密钥K1的比特长度,klen表示输出的比特串长度,取值为预先设定;
之后计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出,否则输出明文M′。
本发明还揭示了一种计算机存储介质,存储有计算机程序,运行计算机程序后执行如下的步骤:
步骤1:第n通信方An从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,An计算第一个临时变量并将w1发送给An-1,其中密文C=C1||C3||C2,C1、C2、C3为比特串,G1为阶q为素数的加法循环群,为密钥生成中心设置的第n部分加密密钥,e(·,·)表示G1×G2→GT的双线性映射,G1,G2为阶是素数q的加法循环群,GT为阶是素数q的乘法循环群;
步骤2:第n-1通信方An-1收到w1后,计算第二个临时变量并将w2发送给第n-2通信方An-2,其中为密钥生成中心设置的第n-1部分加密密钥,表示w1的次幂,即
步骤3:第n-2通信方An-2收到w2后,计算第三个临时变量并将w3发送给第n-3通信方An-3,其中为密钥生成中心设置的第n-2部分加密密钥;
步骤4:以此类推,第2通信方A2收到wn-2后,计算第n-1个临时变量并将wn-1发送给第1通信方A1,其中为密钥生成中心设置的第2部分加密密钥;
步骤5:第1通信方A1收到wn-1后,计算第n个临时变量并将wn的数据类型转换为比特串,第1通信方A1按加密明文的方法分类进行解密计算。
根据本发明的计算机存储介质的一实施例,运行计算机程序执行的步骤5的按加密明文的方法分类进行解密计算进一步包括:
若加密明文的方法是基于密钥派生函数KDF(·)的序列密码算法,则计算klen=mlen+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算其中mlen是密文C的比特长度,K2_len是消息认证码函数MAC(K2,Z)中密钥K2的比特长度,ID表示作为解密者的用户的标识,可以唯一确定用户的公钥,Z表示待求取消息认证码的消息数据比特串;
若加密明文的方法是基于密钥派生函数KDF(·)的分组密码算法,则计算klen=K1_len+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算M′=Dec(K1′,C2),其中K1_len是分组密码算法Dec(·)中密钥K1的比特长度,klen表示输出的比特串长度,取值为预先设定;
计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出,否则输出明文M′。
本发明对比现有技术有如下的有益效果:SM9标识密码算法是一种基于双线性对的标识密码算法,它可以把用户的身份标识用以生成用户的公、私密钥对。SM9的应用与管理不需要数字证书、证书库或密钥库,主要用于数字签名、数据加密、密钥交换以及身份认证等,该算法于2015年发布为国家密码行业标准(GM/T 0044-2016)。基于SM9标识密码算法,本发明中的密钥生成中心(KGC)为参与SM9解密系统的通信方生成对应的部分密钥。收到密钥后,第n通信方An计算第一个临时变量并返回给An-1。An-1收到w1后,计算第二个临时变量并返回给An-2,如此继续下去,直到A1收到wn-1后,计算第n个临时变量并按加密明文的方法分类进行解密计算,最终输出明文M′。
因此,本发明设计了一种多方分布式SM9解密方法与系统,假设有n个通信方,此方案必须在n个通信方协同利用自己的部分私钥共同协作解密,才能的到最终的计算结果,同时保证了私钥的安全性。相较于现有技术,本发明不仅降低了用户的计算复杂度,同时提高了密钥的安全性。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了本发明的密钥生成方法的一实施例的流程图。
图2示出了本发明的多分布式的SM9解密方法的一实施例的流程图。
图3示出了本发明的多分布式的SM9解密方法的一实施例的示意图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
在开始描述本发明的实施例的技术方案之前,先列出在下述描述中会出现的符号及其定义。
KGC:密钥生成中心。是一个可信机构,主要负责生成系统参数、主私钥以及加密密钥。
KDF(·):密钥派生函数。
MAC(·):消息认证码函数。
G1,G2:阶为素数q的加法循环群。
GT:阶为素数q的乘法循环群。
e:从G1×G2到GT的双线性对。
gu:乘法群GT中g的u次幂,即其中u是正整数。
H1(·),H2(·):由{0,1}*到的密码杂凑函数。
IDC:通信方C的标识,可以唯一确定通信方C的公钥。
通信方C的加密密钥。
modq:模q运算。例如,27(mod5)≡2。
q:循环群G1,G2和GT的阶,且q>2191为素数。
P1,P2:分别是群G1和G2的生成元。
[u]P:加法群G1,G2中元素P的u倍。
x||y:x与y的拼接,其中x和y是比特串或字节串。
[x,y]:不小于x且不大于y的整数的集合。
本发明的密钥生成方法的实施例如图1所示,以下是对密钥生成方法的各步骤的详细描述。
步骤S11:KGC计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的加密密钥;否则,计算第二个临时变量其中表示t1模q的逆元,即
其中在步骤S11之前的系统初始化阶段,KGC选择随机数ke∈[1,q-1]作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥。KGC秘密保存ke,公开Ppub-e。KGC选择并公开用一个字节表示的加密密钥生成函数识别符hid。
步骤S12:KGC随机选择d1,d2,...,dn-1∈[1,q-1],计算其中表示di模q的逆元,即
步骤S13:KGC设置第一部分加密密钥第二部分加密密钥以此类推,第n-1部分加密密钥第n部分加密密钥
步骤S14:用户把存储到设备Ai中。
此外,本发明还揭示了一种计算机存储介质,其上存有计算机程序,运行计算机程序以执行如前述实施例所述的密钥生成方法的各步骤。由于执行的步骤和前述实施例的相同,在此不再赘述。
本发明的多分布式的SM9解密方法的一实施例的流程如图2和图3所示,以下是对SM9解密方法的各步骤的详细描述。设密文C=C1||C3||C2的比特长度为mlen,分组密码算法中密钥K1的比特长度为K1_len,函数MAC(K2,Z)中密钥K2的比特长度为K2_len。为了对密文C解密,n个通信方进行如下交互。
步骤S21:第n通信方An从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,An计算第一个临时变量并将w1发送给An-1。
步骤S22:An-1收到w1后,计算第二个临时变量并将w2发送给An-2。
步骤S23:An-2收到w2后,计算第三个临时变量并将w3发送给An-3。
步骤S24:以此类推,A2收到wn-2后,计算第n-1个临时变量并将wn-1发送给A1。
步骤S25:A1收到wn-1后,计算第n个临时变量并将wn的数据类型转换为比特串。A1按加密明文的方法分类进行解密计算。
A1按加密明文的方法分类进行解密计算的具体方式如下。
a)若加密明文的方法是基于密钥派生函数的序列密码算法,则
i.计算klen=mlen+K2_len,然后计算K'=KDF(C1||wn||ID,klen)。设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
ii.否则,计算
b)若加密明文的方法是基于密钥派生函数的分组密码算法,则
i.计算klen=K1_len+K2_len,然后计算K'=KDF(C1||wn||ID,klen)。设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
ii.否则,计算M′=Dec(K1′,C2),其中Dec(·)为分组解密算法。
c)计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出;
d)否则,输出明文M′。
此外,本发明还揭示了一种计算机存储介质,其上存有计算机程序,运行计算机程序以执行如前述实施例所述的多分布式的SM9解密方法的各步骤。由于执行的步骤和前述实施例的相同,在此不再赘述。
本发明具有安全性高、通信代价小等优点,通信方在不泄漏各自密钥的前提下,必须共同参与才能完成对消息的完整解密。在基本操作运算中,双线性映射计算代价比较大,因此在本发明的方案中,双线性操作是由一个通信方来完成的,从而降低其他通信方的计算代价并减少了交互次数。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (8)
1.一种密钥生成方法,其特征在于,包括:
步骤1:密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的加密密钥,否则计算第二个临时变量其中表示t1模q的逆元,即其中ke表示主私钥,hid是密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符,q是循环群的阶且q>2191为素数,ID是用户的身份标识符,H1()表示由密码杂凑函数派生的密码函数;
步骤2:密钥生成中心随机选择d1,d2,...,dn-1∈[1,q-1],计算其中表示di模q的逆元,即其中[1,q-1]表示不小于1且不大于q-1的整数的集合;
步骤3:密钥生成中心设置第一部分加密密钥第二部分加密密钥以此类推,第n-1部分加密密钥第n部分加密密钥其中P2表示阶为素数q的加法循环群G2的生成元,[dn]P2是生成元P2的dn倍;
步骤4:用户把存储到设备Ai中。
2.根据权利要求1所述的密钥生成方法,其特征在于,在步骤1之前还包括系统初始化阶段:
密钥生成中心选择选择随机数ke∈[1,q-1]作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥,密钥生成中心秘密保存主私钥ke,公开Ppub-e,且密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符hid,其中P1是阶为素数q的加法循环群G1的生成元,[ke]P1是生成元P1的ke倍。
3.一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序执行以下的步骤:
步骤1:密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的加密密钥,否则计算第二个临时变量其中表示t1模q的逆元,即其中ke表示主私钥,hid是密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符,q是循环群的阶且q>2191为素数,ID是用户的身份标识符,H1()表示由密码杂凑函数派生的密码函数;
步骤2:密钥生成中心随机选择d1,d2,...,dn-1∈[1,q-1],计算其中表示di模q的逆元,即其中[1,q-1]表示不小于1且不大于q-1的整数的集合;
步骤3:密钥生成中心设置第一部分加密密钥第二部分加密密钥以此类推,第n-1部分加密密钥第n部分加密密钥其中P2表示阶为素数q的加法循环群G2的生成元,[dn]P2是生成元P2的dn倍;
步骤4:用户把存储到设备Ai中。
4.根据权利要求3所述的计算机存储介质,其特征在于,运行计算机程序执行的步骤还包括在步骤1之前的系统初始化阶段:
密钥生成中心选择选择随机数ke∈[1,q-1]作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥,密钥生成中心秘密保存主私钥ke,公开Ppub-e,且密钥生成中心选择公开用一个字节表示的加密密钥生成函数识别符hid,其中P1是阶为素数q的加法循环群G1的生成元,[ke]P1是生成元P1的ke倍。
5.一种多分布式的SM9解密方法,其特征在于,包括:
步骤1:第n通信方An从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,An计算第一个临时变量并将w1发送给An-1,其中密文C=C1||C3||C2,C1、C2、C3为比特串,G1为阶q为素数的加法循环群,为密钥生成中心设置的第n部分加密密钥,e(·,·)表示G1×G2→GT的双线性映射,G1,G2为阶是素数q的加法循环群,GT为阶是素数q的乘法循环群;
步骤2:第n-1通信方An-1收到w1后,计算第二个临时变量并将w2发送给第n-2通信方An-2,其中为密钥生成中心设置的第n-1部分加密密钥,表示w1的次幂,即
步骤3:第n-2通信方An-2收到w2后,计算第三个临时变量并将w3发送给第n-3通信方An-3,其中为密钥生成中心设置的第n-2部分加密密钥;
步骤4:以此类推,第2通信方A2收到wn-2后,计算第n-1个临时变量并将wn-1发送给第1通信方A1,其中为密钥生成中心设置的第2部分加密密钥;
步骤5:第1通信方A1收到wn-1后,计算第n个临时变量并将wn的数据类型转换为比特串,第1通信方A1按加密明文的方法分类进行解密计算。
6.根据权利要求5所述的多分布式的SM9解密方法,其特征在于,步骤5的按加密明文的方法分类进行解密计算进一步包括:
若加密明文的方法是基于密钥派生函数KDF(·)的序列密码算法,则计算klen=mlen+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算其中mlen是密文C的比特长度,K2_len是消息认证码函数MAC(K2,Z)中密钥K2的比特长度,ID表示作为解密者的用户的标识,可以唯一确定用户的公钥,Z表示待求取消息认证码的消息数据比特串;
若加密明文的方法是基于密钥派生函数KDF(·)的分组密码算法,则计算klen=K1_len+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算M′=Dec(K1′,C2),其中K1_len是分组密码算法Dec(·)中密钥K1的比特长度,klen表示输出的比特串长度,取值为预先设定;
之后计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出,否则输出明文M′。
7.一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序后执行如下的步骤:
步骤1:第n通信方An从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,An计算第一个临时变量并将w1发送给An-1,其中密文C=C1||C3||C2,C1、C2、C3为比特串,G1为阶q为素数的加法循环群,为密钥生成中心设置的第n部分加密密钥,e(·,·)表示G1×G2→GT的双线性映射,G1,G2为阶是素数q的加法循环群,GT为阶是素数q的乘法循环群;
步骤2:第n-1通信方An-1收到w1后,计算第二个临时变量并将w2发送给第n-2通信方An-2,其中为密钥生成中心设置的第n-1部分加密密钥,表示w1的次幂,即
步骤3:第n-2通信方An-2收到w2后,计算第三个临时变量并将w3发送给第n-3通信方An-3,其中为密钥生成中心设置的第n-2部分加密密钥;
步骤4:以此类推,第2通信方A2收到wn-2后,计算第n-1个临时变量并将wn-1发送给第1通信方A1,其中为密钥生成中心设置的第2部分加密密钥;
步骤5:第1通信方A1收到wn-1后,计算第n个临时变量并将wn的数据类型转换为比特串,第1通信方A1按加密明文的方法分类进行解密计算。
8.根据权利要求7所述的计算机存储介质,其特征在于,运行计算机程序执行的步骤5的按加密明文的方法分类进行解密计算进一步包括:
若加密明文的方法是基于密钥派生函数KDF(·)的序列密码算法,则计算klen=mlen+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算其中mlen是密文C的比特长度,K2_len是消息认证码函数MAC(K2,Z)中密钥K2的比特长度,ID表示作为解密者的用户的标识,可以唯一确定用户的公钥,Z表示待求取消息认证码的消息数据比特串;
若加密明文的方法是基于密钥派生函数KDF(·)的分组密码算法,则计算klen=K1_len+K2_len,然后计算K'=KDF(C1||wn||ID,klen),设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出,否则计算M′=Dec(K1′,C2),其中K1_len是分组密码算法Dec(·)中密钥K1的比特长度,klen表示输出的比特串长度,取值为预先设定;
计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出,否则输出明文M′。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711183120.XA CN108418686B (zh) | 2017-11-23 | 2017-11-23 | 一种多分布式的sm9解密方法与介质及密钥生成方法与介质 |
PCT/CN2018/116941 WO2019101134A1 (zh) | 2017-11-23 | 2018-11-22 | 一种多分布式的sm9解密方法与介质及密钥生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711183120.XA CN108418686B (zh) | 2017-11-23 | 2017-11-23 | 一种多分布式的sm9解密方法与介质及密钥生成方法与介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108418686A true CN108418686A (zh) | 2018-08-17 |
CN108418686B CN108418686B (zh) | 2021-03-19 |
Family
ID=63125356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711183120.XA Active CN108418686B (zh) | 2017-11-23 | 2017-11-23 | 一种多分布式的sm9解密方法与介质及密钥生成方法与介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108418686B (zh) |
WO (1) | WO2019101134A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194478A (zh) * | 2018-11-19 | 2019-01-11 | 武汉大学 | 一种非对称环境下多方联合生成sm9数字签名的方法 |
CN109600225A (zh) * | 2018-12-04 | 2019-04-09 | 北京海泰方圆科技股份有限公司 | 一种密钥交换方法、装置和存储介质 |
WO2019101134A1 (zh) * | 2017-11-23 | 2019-05-31 | 云图有限公司 | 一种多分布式的sm9解密方法与介质及密钥生成方法 |
CN110166239A (zh) * | 2019-06-04 | 2019-08-23 | 成都卫士通信息产业股份有限公司 | 用户私钥生成方法、系统、可读存储介质及电子设备 |
CN110247759A (zh) * | 2019-06-03 | 2019-09-17 | 武汉理工大学 | 一种sm9私钥生成和使用方法及系统 |
CN110855425A (zh) * | 2019-10-25 | 2020-02-28 | 武汉大学 | 一种轻量级多方协同sm9密钥生成、密文解密方法与介质 |
CN111010276A (zh) * | 2019-10-25 | 2020-04-14 | 武汉大学 | 一种多方联合sm9密钥生成、密文解密方法与介质 |
CN111030801A (zh) * | 2019-10-25 | 2020-04-17 | 武汉大学 | 一种多方分布式的sm9密钥生成、密文解密方法与介质 |
CN111106936A (zh) * | 2019-11-27 | 2020-05-05 | 国家电网有限公司 | 一种基于sm9的属性加密方法与系统 |
CN111314080A (zh) * | 2019-12-13 | 2020-06-19 | 北京海泰方圆科技股份有限公司 | 一种基于sm9算法的协同签名方法、装置、介质 |
CN111585759A (zh) * | 2020-05-12 | 2020-08-25 | 北京华大信安科技有限公司 | 一种高效的基于sm9公钥加密算法的线上线下加密方法 |
CN112926075A (zh) * | 2021-03-26 | 2021-06-08 | 成都卫士通信息产业股份有限公司 | 一种sm9密钥生成方法、装置、设备及存储介质 |
CN113141248A (zh) * | 2021-04-25 | 2021-07-20 | 重庆都会信息科技有限公司 | 基于同态加密的门限解密方法、系统及可读存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600948B (zh) * | 2020-05-14 | 2022-11-18 | 北京安御道合科技有限公司 | 基于标识密码的云平台应用和数据安全处理方法、系统、存储介质、程序 |
CN112769557B (zh) * | 2020-12-30 | 2022-10-18 | 北京宏思电子技术有限责任公司 | 嵌入式系统中加快sm9双线性对运算的实现方法及装置 |
CN112769556B (zh) * | 2020-12-30 | 2022-08-19 | 北京宏思电子技术有限责任公司 | 嵌入式系统中加快sm9双线性对运算的实现方法及装置 |
CN113904768B (zh) * | 2021-11-10 | 2023-05-05 | 福建师范大学 | 基于sm9密钥封装机制的在线离线解密方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100241848A1 (en) * | 2009-02-27 | 2010-09-23 | Certicom Corp. | System and method for securely communicating with electronic meters |
CN102171701A (zh) * | 2008-10-29 | 2011-08-31 | 国际商业机器公司 | 用于访问加密驱动器的sid管理 |
CN102523086A (zh) * | 2011-12-07 | 2012-06-27 | 上海交通大学 | 一种隐私保护云存储系统中的密钥恢复方法 |
CN103250441A (zh) * | 2010-12-07 | 2013-08-14 | 瑞典爱立信有限公司 | 使用密钥共享方案来提供临时标识模块的方法和装置 |
CN105025024A (zh) * | 2015-07-22 | 2015-11-04 | 河海大学 | 一种基于无证书条件代理重加密系统与方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523093B (zh) * | 2011-12-16 | 2014-08-06 | 河海大学 | 一种带标签的基于证书密钥封装方法及系统 |
CN108418686B (zh) * | 2017-11-23 | 2021-03-19 | 矩阵元技术(深圳)有限公司 | 一种多分布式的sm9解密方法与介质及密钥生成方法与介质 |
-
2017
- 2017-11-23 CN CN201711183120.XA patent/CN108418686B/zh active Active
-
2018
- 2018-11-22 WO PCT/CN2018/116941 patent/WO2019101134A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102171701A (zh) * | 2008-10-29 | 2011-08-31 | 国际商业机器公司 | 用于访问加密驱动器的sid管理 |
US20100241848A1 (en) * | 2009-02-27 | 2010-09-23 | Certicom Corp. | System and method for securely communicating with electronic meters |
CN103250441A (zh) * | 2010-12-07 | 2013-08-14 | 瑞典爱立信有限公司 | 使用密钥共享方案来提供临时标识模块的方法和装置 |
CN102523086A (zh) * | 2011-12-07 | 2012-06-27 | 上海交通大学 | 一种隐私保护云存储系统中的密钥恢复方法 |
CN105025024A (zh) * | 2015-07-22 | 2015-11-04 | 河海大学 | 一种基于无证书条件代理重加密系统与方法 |
Non-Patent Citations (1)
Title |
---|
马米米 等: "大数据环境下支持多关键字的可搜索公钥加密方案", 《南京信息工程大学学报(自然科学版)》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019101134A1 (zh) * | 2017-11-23 | 2019-05-31 | 云图有限公司 | 一种多分布式的sm9解密方法与介质及密钥生成方法 |
CN109194478A (zh) * | 2018-11-19 | 2019-01-11 | 武汉大学 | 一种非对称环境下多方联合生成sm9数字签名的方法 |
CN109194478B (zh) * | 2018-11-19 | 2021-12-07 | 武汉大学 | 一种非对称环境下多方联合生成sm9数字签名的方法 |
CN109600225A (zh) * | 2018-12-04 | 2019-04-09 | 北京海泰方圆科技股份有限公司 | 一种密钥交换方法、装置和存储介质 |
CN109600225B (zh) * | 2018-12-04 | 2019-10-15 | 北京海泰方圆科技股份有限公司 | 一种密钥交换方法、装置和存储介质 |
CN110247759A (zh) * | 2019-06-03 | 2019-09-17 | 武汉理工大学 | 一种sm9私钥生成和使用方法及系统 |
CN110247759B (zh) * | 2019-06-03 | 2020-07-10 | 武汉理工大学 | 一种sm9私钥生成和使用方法及系统 |
CN110166239A (zh) * | 2019-06-04 | 2019-08-23 | 成都卫士通信息产业股份有限公司 | 用户私钥生成方法、系统、可读存储介质及电子设备 |
CN110166239B (zh) * | 2019-06-04 | 2023-01-06 | 成都卫士通信息产业股份有限公司 | 用户私钥生成方法、系统、可读存储介质及电子设备 |
CN110855425A (zh) * | 2019-10-25 | 2020-02-28 | 武汉大学 | 一种轻量级多方协同sm9密钥生成、密文解密方法与介质 |
CN111030801A (zh) * | 2019-10-25 | 2020-04-17 | 武汉大学 | 一种多方分布式的sm9密钥生成、密文解密方法与介质 |
CN111010276A (zh) * | 2019-10-25 | 2020-04-14 | 武汉大学 | 一种多方联合sm9密钥生成、密文解密方法与介质 |
CN111106936A (zh) * | 2019-11-27 | 2020-05-05 | 国家电网有限公司 | 一种基于sm9的属性加密方法与系统 |
CN111106936B (zh) * | 2019-11-27 | 2023-04-21 | 国家电网有限公司 | 一种基于sm9的属性加密方法与系统 |
CN111314080A (zh) * | 2019-12-13 | 2020-06-19 | 北京海泰方圆科技股份有限公司 | 一种基于sm9算法的协同签名方法、装置、介质 |
CN111314080B (zh) * | 2019-12-13 | 2021-04-13 | 北京海泰方圆科技股份有限公司 | 一种基于sm9算法的协同签名方法、装置、介质 |
CN111585759A (zh) * | 2020-05-12 | 2020-08-25 | 北京华大信安科技有限公司 | 一种高效的基于sm9公钥加密算法的线上线下加密方法 |
CN112926075A (zh) * | 2021-03-26 | 2021-06-08 | 成都卫士通信息产业股份有限公司 | 一种sm9密钥生成方法、装置、设备及存储介质 |
CN113141248A (zh) * | 2021-04-25 | 2021-07-20 | 重庆都会信息科技有限公司 | 基于同态加密的门限解密方法、系统及可读存储介质 |
CN113141248B (zh) * | 2021-04-25 | 2023-06-16 | 重庆都会信息科技有限公司 | 基于同态加密的门限解密方法、系统及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019101134A1 (zh) | 2019-05-31 |
CN108418686B (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418686A (zh) | 一种多分布式的sm9解密方法与介质及密钥生成方法 | |
CN110740033B (zh) | 一种基于秘密共享技术的区块链多方数据共享方法 | |
JP6515246B2 (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 | |
CN106961336B (zh) | 一种基于sm2算法的密钥分量托管方法和系统 | |
US9246674B2 (en) | Generation of cryptographic keys | |
JP4527358B2 (ja) | 鍵供託を使用しない、認証された個別暗号システム | |
CN108282329B (zh) | 一种双向身份认证方法及装置 | |
CN109831297A (zh) | 一种支持门限解密的多身份全同态加密方法 | |
TWI760546B (zh) | 用於高安全性高速資料加密及傳輸的電腦實施系統與方法 | |
CN110959163A (zh) | 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法 | |
CN112804205A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN111162912B (zh) | 一种适用于区块链的验证方法、装置及存储介质 | |
US20190044922A1 (en) | Symmetric key identity systems and methods | |
CN104158880A (zh) | 一种用户端云数据共享解决方法 | |
CN113704736A (zh) | 基于ibc体系的电力物联网设备轻量级接入认证方法及系统 | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
Win et al. | Privacy enabled digital rights management without trusted third party assumption | |
CN112039883A (zh) | 一种区块链的数据分享方法及装置 | |
CN111030821B (zh) | 一种基于双线性映射技术的联盟链的加密方法 | |
CN109831305A (zh) | 基于非对称密钥池的抗量子计算签密方法和系统 | |
CN110048852A (zh) | 基于非对称密钥池的量子通信服务站数字签密方法和系统 | |
CN108933659A (zh) | 一种智能电网的身份验证系统及验证方法 | |
Siva et al. | Hybrid cryptography security in public cloud using TwoFish and ECC algorithm | |
CN109787773A (zh) | 基于私钥池和Elgamal的抗量子计算签密方法和系统 | |
CN113746829B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230411 Address after: 518054 201, building a, No.1 Qianwan 1st Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen City, Guangdong Province Patentee after: JUZIX TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: WUHAN University Address before: Building 201, Building A, No.1 Qianwan 1st Road, Qianhai Shenzhen Hong Kong Cooperation Zone, Shenzhen City, Guangdong Province, 518054 Patentee before: JUZIX TECHNOLOGY (SHENZHEN) Co.,Ltd. |