[go: up one dir, main page]

CN111030801A - 一种多方分布式的sm9密钥生成、密文解密方法与介质 - Google Patents

一种多方分布式的sm9密钥生成、密文解密方法与介质 Download PDF

Info

Publication number
CN111030801A
CN111030801A CN201911023655.XA CN201911023655A CN111030801A CN 111030801 A CN111030801 A CN 111030801A CN 201911023655 A CN201911023655 A CN 201911023655A CN 111030801 A CN111030801 A CN 111030801A
Authority
CN
China
Prior art keywords
key
len
private key
decryption
calculate
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.)
Pending
Application number
CN201911023655.XA
Other languages
English (en)
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 WHU
Original Assignee
Wuhan University WHU
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 WHU filed Critical Wuhan University WHU
Priority to CN201911023655.XA priority Critical patent/CN111030801A/zh
Publication of CN111030801A publication Critical patent/CN111030801A/zh
Pending legal-status Critical Current

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
    • 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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

本发明涉及一种多方分布式的SM9密钥生成、密文解密方法与介质,通过以下技术方案实现:KGC为参与SM9解密系统的通信方生成对应的部分私钥。收到私钥后,第i(1<i≤n)个通信方Ui计算临时变量Ei=[ri]C1并发送给U1。U1收到n‑1个变量后,计算
Figure DDA0002248009640000011
并按SM9解密算法解密计算,最终输出明文M′。本发明具有安全性高、通信代价小等优点,通信方在不泄漏各自部分私钥的前提下,必须共同参与才能完成对消息的完整解密。在基本操作运算中,双线性映射计算代价比较大,本方案中,双线性操作是由一个通信方来完成的,从而降低其他通信方的计算代价并减少了交互次数。

Description

一种多方分布式的SM9密钥生成、密文解密方法与介质
技术领域
本发明涉及一种SM9密钥生成、密文解密方法与介质,尤其是涉及一种多方分布式的SM9密钥生成、密文解密方法与介质。
背景技术
随着科学技术的飞速发展,云计算、雾计算等平台为数据的存储和传输提供了强大的支撑平台。新的体系结构给数据的完整性、机密性、可用性带来了新的挑战,数据的安全和隐私已经成为热点话题。
公钥密码算法是实现消息机密性、完整性和不可否认性的关键技术,已经广泛应用于电子商务、电子政务等多个领域。这些算法的安全性取决于对密钥的安全存储和使用,一旦密钥泄露则无安全可言。(t,n)门限秘密共享将用户的私钥分割成n份,只有将t份放在一起,私钥才可以通过一定的算法重构出来,而少于这个数量的份额无法重构私钥,t被称作门限。在(t,n)门限秘密共享方案中,私钥会被其中一个参与方恢复,拥有原始私钥的参与方可以在其他参与方不知晓的情况下对密文进行解密。
针对这种情况,本专利设计了一种多方协同解密SM9密文的方案,此方案在多方协同解密的情况下,既能保证解密的正确执行,又能保证私钥不被泄露,且产生解密的过程中必须由多方同时参与。
SM9标识密码算法是一种基于双线性对的标识密码算法,在该算法中用户的身份标识是用户的公钥,用户的私钥由私钥生成中心KGC根据用户的身份产生。SM9算法该算法于2015年发布为国家密码行业标准(GM/T 0044-2016),主要包括数字签名、加密、密钥交换等内容。
发明内容
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种多方分布式SM9密钥的生成方法,其特征在于,包括:
步骤1、生成主私钥,具体是密钥生成中心在系统初始化时,选择随机数ke∈{1,...,q-1}作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥;密钥生成中心秘密保存ke,公开Ppub-e;密钥生成中心选择并公开用一个字节表示的解密私钥生成函数识别符hid;
步骤2、:生成私钥,具体是给定用户的身份ID,为产生用户的解密私钥,具体包括:
步骤1.1、密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的私钥;否则,计算第二个临时变量
Figure BDA0002248009620000021
其中
Figure BDA0002248009620000022
表示t1模q的逆元,即
Figure BDA0002248009620000023
步骤1.2、密钥生成中心随机选择r2,r3,...,rn∈{1,...,q-1},计算r1=(r2+r3+…+rn)-1t2mod q;
步骤1.3、密钥生成中心设置第1部分私钥
Figure BDA0002248009620000024
第2部分私钥
Figure BDA0002248009620000025
第n-1部分私钥
Figure BDA0002248009620000026
第n部分私钥
Figure BDA0002248009620000027
步骤1.4、密钥生成中心将部分私钥分别发给对应的每个通信方Ui
一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
步骤1、生成主私钥,具体是密钥生成中心在系统初始化时,选择随机数ke∈{1,...,q-1}作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥;密钥生成中心秘密保存ke,公开Ppub-e;密钥生成中心选择并公开用一个字节表示的解密私钥生成函数识别符hid;
步骤2、:生成私钥,具体是给定用户的身份ID,为产生用户的解密私钥,具体包括:
步骤1.1、密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的私钥;否则,计算第二个临时变量
Figure BDA0002248009620000028
其中
Figure BDA0002248009620000029
表示t1模q的逆元,即
Figure BDA00022480096200000210
步骤1.2、密钥生成中心随机选择r2,r3,...,rn∈{1,...,q-1},计算r1=(r2+r3+…+rn)-1t2mod q;
步骤1.3、密钥生成中心设置第1部分私钥
Figure BDA0002248009620000031
第2部分私钥
Figure BDA0002248009620000032
第n-1部分私钥
Figure BDA0002248009620000033
第n部分私钥
Figure BDA0002248009620000034
步骤1.4、密钥生成中心将部分私钥分别发给对应的每个通信方Ui
一种多方分布式SM9密文的解密方法,其特征在于,包括:定义密文C=C1||C3||C2的比特长度为mlen,分组密码算法中密钥K1的比特长度为K1_len,函数MAC(K2,Z)中密钥K2的比特长度为K2_len;对密文C解密时,n个通信方进行如下步骤的交互:
步骤1、第n个通信方Un从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈C1是否成立,如果不成立则报错并退出;否则,Un计算第一个临时变量En=[rn]C1,并将En发送给U1
步骤2、Un-1计算第二个临时变量En-1=[rn-1]C1,并将En-1发送给U1;...;U2计算第n-1个临时变量E2=[r2]C1,并将E2发送给U1
步骤3、U1收到来自U2到Un发送的n-1个临时变量后,计算第n个临时变量
Figure BDA0002248009620000035
并将wn的数据类型转换为比特串;U1使用SM9解密算法进行解密计算,具体包括:
步骤3.1、若加密明文的方法是基于密钥派生函数的序列密码算法,则
步骤3.11、计算klen=mlen+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.12、否则,计算
Figure BDA0002248009620000036
步骤3.2、若加密明文的方法是基于密钥派生函数的分组密码算法,则
步骤3.21、计算klen=K1_len+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.21、否则,计算M′=Dec(K1′,C2),其中Dec(·)为分组解密算法;
步骤3.3、计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出;
步骤3.4、否则,输出明文M′。
在上述的一种多方分布式SM9密文的解密方法,步骤2中,在每个通信方Ui发送Ei至U1的同时,为了达到更安全的级别,Ui可以产生并发送一个Ei的零知识证明,即证明Ei是关于ri的一个离散对数,同时验证Ei是G1中的元素。
一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
定义密文C=C1||C3||C2的比特长度为mlen,分组密码算法中密钥K1的比特长度为K1_len,函数MAC(K2,Z)中密钥K2的比特长度为K2_len;对密文C解密时,n个通信方进行如下步骤的交互:
步骤1、第n个通信方Un从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,Un计算第一个临时变量En=[rn]C1,并将En发送给U1
步骤2、Un-1计算第二个临时变量En-1=[rn-1]C1,并将En-1发送给U1;...;U2计算第n-1个临时变量E2=[r2]C1,并将E2发送给U1
步骤3、U1收到来自U2到Un发送的n-1个临时变量后,计算第n个临时变量
Figure BDA0002248009620000041
并将wn的数据类型转换为比特串;U1使用SM9解密算法进行解密计算,具体包括:
步骤3.1、若加密明文的方法是基于密钥派生函数的序列密码算法,则
步骤3.11、计算klen=mlen+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.12、否则,计算
Figure BDA0002248009620000042
步骤3.2、若加密明文的方法是基于密钥派生函数的分组密码算法,则
步骤3.21、计算klen=K1_len+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.21、否则,计算M′=Dec(K1′,C2),其中Dec(·)为分组解密算法;
步骤3.3、计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出;
步骤3.4、否则,输出明文M′。
在上述的一种计算机存储介质,运行计算机程序步骤2时,在每个通信方Ui发送Ei至U1的同时,为了达到更安全的级别,Ui可以产生并发送一个Ei的零知识证明,即证明Ei是关于ri的一个离散对数,同时验证Ei是G1中的元素。
因此,本发明具有如下优点:本发明具有安全性高、通信代价小等优点,通信方在不泄漏各自部分私钥的前提下,必须共同参与才能完成对消息的完整解密。在基本操作运算中,双线性映射计算代价比较大,本方案中,双线性操作是由一个通信方来完成的,从而降低其他通信方的计算代价并减少了交互次数。
附图说明
附图1是本发明的方法流程示意图。
具体实施方式
下面通过实施例,对本发明的技术方案作进一步具体的说明。
实施例:
在以下对本发明的描述中,密钥生成中心(KGC)是一个可信机构,它主要负责生成系统参数、主私钥以及解密私钥。
一、符号及定义
KDF(·):密钥派生函数。
MAC(·):消息认证码函数。
G1,G2:阶为素数q的加法循环群。
GT:阶为素数q的乘法循环群。
e:从G1×G2到GT的双线性对。
gu:乘法群GT中g的u次幂,即
Figure BDA0002248009620000051
其中u是正整数。
H1(·),H2(·):由{0,1}*
Figure BDA0002248009620000052
的密码杂凑函数。
IDC:通信方C的标识,可以唯一确定通信方C的公钥。
Figure BDA0002248009620000068
通信方C的解密私钥。
mod q:模q运算。例如,27(mod 5)≡2。
q:循环群G1,G2和GT的阶,且q>2191为素数。
P1,P2:分别是群G1和G2的生成元。
[u]P:加法群C1,G2中元素P的u倍。
x||y:x与y的拼接,其中x和y是比特串或字节串。
{x,y}:不小于x且不大于y的整数的集合。
Ui:用户的第i个通信方。
在系统初始化阶段,KGC选择随机数ke∈{1,...,q-1}作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥。KGC秘密保存ke,公开Ppub-e。KGC选择并公开用一个字节表示的解密私钥生成函数识别符hid。对于双线性对及Hash相关的内容,对应《SM9标识密码算法》文档规范。
二、私钥生成算法
给定用户的身份ID,为产生用户的解密私钥,KGC执行下列操作:
1)KGC计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的私钥;否则,计算第二个临时变量
Figure BDA0002248009620000061
其中
Figure BDA0002248009620000062
表示t1模q的逆元,即
Figure BDA0002248009620000063
2)KGC随机选择r2,r3,...,rn∈{1,...,q-1},计算r1=(r2+r3+…+rn)-1t2mod q。
3)KGC设置第1部分私钥
Figure BDA0002248009620000064
第2部分私钥
Figure BDA0002248009620000065
第n-1部分私钥
Figure BDA0002248009620000066
第n部分私钥
Figure BDA0002248009620000067
4)KGC将部分私钥分别发给对应的每个通信方Ui
三、解密算法
设密文C=C1||C3||C2的比特长度为mlen,分组密码算法中密钥K1的比特长度为K1_len,函数MAC(K2,Z)中密钥K2的比特长度为K2_len。为了对密文C解密,n个通信方进行如下交互:
1)第n个通信方Un从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,Un计算第一个临时变量En=[rn]C1,并将En发送给U1
2)Un-1计算第二个临时变量En-1=[rn-1]C1,并将En-1发送给U1
3)...
4)U2计算第n-1个临时变量E2=[r2]C1,并将E2发送给U1
5)U1收到来自U2到Un发送的n-1个临时变量后,计算第n个临时变量
Figure BDA0002248009620000071
并将wn的数据类型转换为比特串。U1使用SM9解密算法进行解密计算:
a)若加密明文的方法是基于密钥派生函数的序列密码算法,则
1.计算klen=mlen+K2_len,然后计算K′=KDF(C1||wn||IDB,klen)。设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
2.否则,计算
Figure BDA0002248009620000072
b)若加密明文的方法是基于密钥派生函数的分组密码算法,则
3.计算klen=K1_len+K2_len,然后计算K′=KDF(C1||wn||IDB,klen)。设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
4.否则,计算M′=Dec(K1′,C2),其中Dec(·)为分组解密算法。
a)计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出;
b)否则,输出明文M′。
在每个通信方Ui发送Ei至U1的同时,为了达到更安全的级别,Ui可以产生并发送一个Ei的零知识证明,即证明Ei是关于ri的一个离散对数,同时验证Ei是G1中的元素。解密算法流程如图1所示。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.一种多方分布式SM9密钥的生成方法,其特征在于,包括:
步骤1、生成主私钥,具体是密钥生成中心在系统初始化时,选择随机数ke∈{1,...,q-1}作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥;密钥生成中心秘密保存ke,公开Ppub-e;密钥生成中心选择并公开用一个字节表示的解密私钥生成函数识别符hid;
步骤2、:生成私钥,具体是给定用户的身份ID,为产生用户的解密私钥,具体包括:
步骤1.1、密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的私钥;否则,计算第二个临时变量
Figure FDA0002248009610000011
其中
Figure FDA0002248009610000012
表示t1模q的逆元,即
Figure FDA0002248009610000013
步骤1.2、密钥生成中心随机选择r2,r3,...,rn∈{1,...,q-1},计算r1=(r2+r3+…+rn)- 1t2mod q;
步骤1.3、密钥生成中心设置第1部分私钥
Figure FDA0002248009610000014
第2部分私钥
Figure FDA0002248009610000015
第n-1部分私钥
Figure FDA0002248009610000016
第n部分私钥
Figure FDA0002248009610000017
步骤1.4、密钥生成中心将部分私钥分别发给对应的每个通信方Ui
2.一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
步骤1、生成主私钥,具体是密钥生成中心在系统初始化时,选择随机数ke∈{1,...,q-1}作为主私钥,计算Ppub-e=[ke]P1作为加密主公钥;密钥生成中心秘密保存ke,公开Ppub-e;密钥生成中心选择并公开用一个字节表示的解密私钥生成函数识别符hid;
步骤2、:生成私钥,具体是给定用户的身份ID,为产生用户的解密私钥,具体包括:
步骤1.1、密钥生成中心计算一个临时变量t1=H1(ID||hid,q)+ke,若t1=0,则重新产生主密钥,计算和公开加密主公钥,并更新已有用户的私钥;否则,计算第二个临时变量
Figure FDA0002248009610000026
其中
Figure FDA0002248009610000027
表示t1模q的逆元,即
Figure FDA0002248009610000028
步骤1.2、密钥生成中心随机选择r2,r3,...,rn∈{1,...,q-1},计算r1=(r2+r3+…+rn)- 1t2mod q;
步骤1.3、密钥生成中心设置第1部分私钥
Figure FDA0002248009610000021
第2部分私钥
Figure FDA0002248009610000022
第n-1部分私钥
Figure FDA0002248009610000023
第n部分私钥
Figure FDA0002248009610000024
步骤1.4、密钥生成中心将部分私钥分别发给对应的每个通信方Ui
3.一种多方分布式SM9密文的解密方法,其特征在于,包括:定义密文C=C1||C3||C2的比特长度为mlen,分组密码算法中密钥K1的比特长度为K1_len,函数MAC(K2,Z)中密钥K2的比特长度为K2_len;对密文C解密时,n个通信方进行如下步骤的交互:
步骤1、第n个通信方Un从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,Un计算第一个临时变量En=[rn]C1,并将En发送给U1
步骤2、Un-1计算第二个临时变量En-1=[rn-1]C1,并将En-1发送给U1;...;U2计算第n-1个临时变量E2=[r2]C1,并将E2发送给U1
步骤3、U1收到来自U2到Un发送的n-1个临时变量后,计算第n个临时变量
Figure FDA0002248009610000025
并将wn的数据类型转换为比特串;U1使用SM9解密算法进行解密计算,具体包括:
步骤3.1、若加密明文的方法是基于密钥派生函数的序列密码算法,则
步骤3.11、计算klen=mlen+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.12、否则,计算
Figure FDA0002248009610000031
步骤3.2、若加密明文的方法是基于密钥派生函数的分组密码算法,则
步骤3.21、计算klen=K1_len+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.21、否则,计算M′=Dec(K1′,C2),其中Dec(·)为分组解密算法;
步骤3.3、计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出;
步骤3.4、否则,输出明文M′。
4.根据权利要求3所述的一种多方分布式SM9密文的解密方法,其特征在于,步骤2中,在每个通信方Ui发送Ei至U1的同时,为了达到更安全的级别,Ui可以产生并发送一个Ei的零知识证明,即证明Ei是关于ri的一个离散对数,同时验证Ei是G1中的元素。
5.一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
定义密文C=C1||C3||C2的比特长度为mlen,分组密码算法中密钥K1的比特长度为K1_len,函数MAC(K2,Z)中密钥K2的比特长度为K2_len;对密文C解密时,n个通信方进行如下步骤的交互:
步骤1、第n个通信方Un从密文C中提取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,如果不成立则报错并退出;否则,Un计算第一个临时变量En=[rn]C1,并将En发送给U1
步骤2、Un-1计算第二个临时变量En-1=[rn-1]C1,并将En-1发送给U1;...;U2计算第n-1个临时变量E2=[r2]C1,并将E2发送给U1
步骤3、U1收到来自U2到Un发送的n-1个临时变量后,计算第n个临时变量
Figure FDA0002248009610000041
并将wn的数据类型转换为比特串;U1使用SM9解密算法进行解密计算,具体包括:
步骤3.1、若加密明文的方法是基于密钥派生函数的序列密码算法,则
步骤3.11、计算klen=mlen+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前mlen比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.12、否则,计算
Figure FDA0002248009610000042
步骤3.2、若加密明文的方法是基于密钥派生函数的分组密码算法,则
步骤3.21、计算klen=K1_len+K2_len,然后计算K′=KDF(C1||wn||IDB,klen);设K1′为K′前K1_len比特,K2′为K′的后K2_len比特,如果K1′为全0比特串,则报错并退出;
步骤3.21、否则,计算M′=Dec(K1′,C2),其中Dec(·)为分组解密算法;
步骤3.3、计算u=MAC(K2′,C2),从C中取出比特串C3,如果u≠C3,则报错并退出;
步骤3.4、否则,输出明文M′。
6.根据权利要求5所述的一种计算机存储介质,其特征在于,运行计算机程序步骤2时,在每个通信方Ui发送Ei至U1的同时,为了达到更安全的级别,Ui可以产生并发送一个Ei的零知识证明,即证明Ei是关于ri的一个离散对数,同时验证Ei是G1中的元素。
CN201911023655.XA 2019-10-25 2019-10-25 一种多方分布式的sm9密钥生成、密文解密方法与介质 Pending CN111030801A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911023655.XA CN111030801A (zh) 2019-10-25 2019-10-25 一种多方分布式的sm9密钥生成、密文解密方法与介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911023655.XA CN111030801A (zh) 2019-10-25 2019-10-25 一种多方分布式的sm9密钥生成、密文解密方法与介质

Publications (1)

Publication Number Publication Date
CN111030801A true CN111030801A (zh) 2020-04-17

Family

ID=70200646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911023655.XA Pending CN111030801A (zh) 2019-10-25 2019-10-25 一种多方分布式的sm9密钥生成、密文解密方法与介质

Country Status (1)

Country Link
CN (1) CN111030801A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901111A (zh) * 2020-08-06 2020-11-06 成都卫士通信息产业股份有限公司 Sm9密钥生成方法、装置、系统及可读存储介质
CN112910647A (zh) * 2021-04-13 2021-06-04 三未信安科技股份有限公司 一种基于sm9的分布式协同解密方法及系统
CN112995215A (zh) * 2021-04-29 2021-06-18 北京信安世纪科技股份有限公司 解密系统、方法、装置、电子设备及存储介质
CN113794693A (zh) * 2021-08-25 2021-12-14 浪潮云信息技术股份公司 一种防止服务器数量扩张的分布式sm9密钥安全分发方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223629A (zh) * 2009-11-26 2011-10-19 中国人民解放军空军工程大学 一种移动自组网门限密钥分发方法
CN108418686A (zh) * 2017-11-23 2018-08-17 矩阵元技术(深圳)有限公司 一种多分布式的sm9解密方法与介质及密钥生成方法
US20180337780A1 (en) * 2015-12-23 2018-11-22 Intel Corporation Elliptic curve hardware integrated circuit
CN109194478A (zh) * 2018-11-19 2019-01-11 武汉大学 一种非对称环境下多方联合生成sm9数字签名的方法
CN109743166A (zh) * 2018-12-10 2019-05-10 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统
EP3487118A1 (en) * 2016-08-05 2019-05-22 Huawei International Pte. Ltd. Data processing method and device
CN109981269A (zh) * 2019-03-29 2019-07-05 武汉大学 一种安全高效的sm9多方密钥分发方法与装置
CN110391900A (zh) * 2019-07-04 2019-10-29 晋商博创(北京)科技有限公司 基于sm2算法的私钥处理方法、终端及密钥中心

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223629A (zh) * 2009-11-26 2011-10-19 中国人民解放军空军工程大学 一种移动自组网门限密钥分发方法
US20180337780A1 (en) * 2015-12-23 2018-11-22 Intel Corporation Elliptic curve hardware integrated circuit
EP3487118A1 (en) * 2016-08-05 2019-05-22 Huawei International Pte. Ltd. Data processing method and device
CN108418686A (zh) * 2017-11-23 2018-08-17 矩阵元技术(深圳)有限公司 一种多分布式的sm9解密方法与介质及密钥生成方法
CN109194478A (zh) * 2018-11-19 2019-01-11 武汉大学 一种非对称环境下多方联合生成sm9数字签名的方法
CN109743166A (zh) * 2018-12-10 2019-05-10 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统
CN109981269A (zh) * 2019-03-29 2019-07-05 武汉大学 一种安全高效的sm9多方密钥分发方法与装置
CN110391900A (zh) * 2019-07-04 2019-10-29 晋商博创(北京)科技有限公司 基于sm2算法的私钥处理方法、终端及密钥中心

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YINGHUI ZHANG: "《Certificateless Multi-Party Authenticated Encryption for NB-IoT Terminals in 5G Networks》", 《IEEE ACCESS》 *
钟欢: "《基于身份的多方认证组密钥协商协议》", 《电子学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901111A (zh) * 2020-08-06 2020-11-06 成都卫士通信息产业股份有限公司 Sm9密钥生成方法、装置、系统及可读存储介质
CN111901111B (zh) * 2020-08-06 2023-07-25 成都卫士通信息产业股份有限公司 Sm9密钥生成方法、装置、系统及可读存储介质
CN112910647A (zh) * 2021-04-13 2021-06-04 三未信安科技股份有限公司 一种基于sm9的分布式协同解密方法及系统
CN112910647B (zh) * 2021-04-13 2022-07-29 三未信安科技股份有限公司 一种基于sm9的分布式协同解密方法及系统
CN112995215A (zh) * 2021-04-29 2021-06-18 北京信安世纪科技股份有限公司 解密系统、方法、装置、电子设备及存储介质
CN112995215B (zh) * 2021-04-29 2021-08-31 北京信安世纪科技股份有限公司 解密系统、方法、装置、电子设备及存储介质
CN113794693A (zh) * 2021-08-25 2021-12-14 浪潮云信息技术股份公司 一种防止服务器数量扩张的分布式sm9密钥安全分发方法

Similar Documents

Publication Publication Date Title
CN108418686B (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法与介质
CN111106936B (zh) 一种基于sm9的属性加密方法与系统
CN111010276A (zh) 一种多方联合sm9密钥生成、密文解密方法与介质
US7716482B2 (en) Conference session key distribution method in an ID-based cryptographic system
CN112564907B (zh) 密钥生成方法及装置、加密方法及装置、解密方法及装置
CN105024994A (zh) 无对运算的安全无证书混合签密方法
CN112699394B (zh) 一种基于sm9算法的密钥应用方法
CN114095181B (zh) 一种基于国密算法的门限环签名方法及系统
CN113132104B (zh) 一种主动安全的ecdsa数字签名两方生成方法
CN110855425A (zh) 一种轻量级多方协同sm9密钥生成、密文解密方法与介质
CN111030801A (zh) 一种多方分布式的sm9密钥生成、密文解密方法与介质
CN115442042A (zh) 一种基于sm2算法和sm9算法的无证书公钥加密方法
CN112152813A (zh) 一种支持隐私保护的无证书内容提取签密方法
Heninger RSA, DH, and DSA in the Wild
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
Schaefer An introduction to cryptography and Cryptanalysis
CN115037441B (zh) 一种基于同态运算的sm2协同签名方法、装置及系统
Bohli et al. On subliminal channels in deterministic signature schemes
Rogobete et al. Hashing and Message Authentication Code Implementation. An Embedded Approach.
Muthukumarn et al. A secure and enhanced public key cryptosystem using double conjugacy search problem near-ring
CN115865313A (zh) 一种轻量级隐私保护纵向联邦学习模型参数聚合方法
El-Morshedy et al. Cryptographic Algorithms for Enhancing Security in Cloud Computing.
WO2022172041A1 (en) Asymmetric cryptographic schemes
CN116318636A (zh) 一种基于sm2的门限签名方法
CN111447064A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200417

RJ01 Rejection of invention patent application after publication