CN111865578A - 一种基于sm2的多接收方公钥加密方法 - Google Patents
一种基于sm2的多接收方公钥加密方法 Download PDFInfo
- Publication number
- CN111865578A CN111865578A CN202010654604.3A CN202010654604A CN111865578A CN 111865578 A CN111865578 A CN 111865578A CN 202010654604 A CN202010654604 A CN 202010654604A CN 111865578 A CN111865578 A CN 111865578A
- Authority
- CN
- China
- Prior art keywords
- receiver
- public key
- ciphertext
- public
- par
- 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
Images
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/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
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SM2的多接收方公钥加密方法。传统的多接收方公钥加密方法,依赖传统公钥加密方法,并且存在加密效率低、通信带宽要求高的缺点。针对这些缺点,本发明提出随机数重用的基于SM2的多接收方公钥加密方法,使得该方法具有加密效率高、通信带宽要求低的优点。发送方可利用该方法将消息加密成密文,然后在网络中广播密文给多个接收方。接收方收到密文后可通过私钥解密,获取发送方的消息。本发明已通过形式化证明能达到抗随机数重用不可区分选择密文攻击(RR‑IND‑CCA)安全性,并且能有效减少发送方的计算量,在安全性和效率方面都满足实际工作应用需求。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于SM2的多接收方公钥加密方法。
背景技术
多接受方公钥加密方法最早由Bellare和Boldyreva等人在文献《Public-keyencryption in a multi-user setting:Security proofs and improvements》提出,作者在论文中提出公钥加密方法的安全性可以由单接收方推广到多接收方,即:用n个不同的公钥分别对同一消息加密n次,得到广播密文,接收者再通过自己的私钥解密得到消息。但是在多个接收方的情况下,发送方每次加密都需要重新选择随机数,需要的计算量十分庞大,降低了整体效率。
随后,Bellare和Boldyreva等人在文献《Multirecipient encryption schemes:How to save on bandwidth and computation without sacrificing security》提出“可复现的公钥加密(reproducible PKE)”这一概念,并指出如果一个可复现的公钥加密方法满足抗不可区分选择密文攻击(IND-CCA)安全性,那么以该方法作为底层方法构造而得的随机数重用的公钥加密方法可达到随机数重用不可区分选择密文攻击(RR-IND-CCA)安全性。上述方法在安全性上能满足实际的应用需要,但是都是基于传统的公钥加密的方法,且存在加密效率低和通信带宽要求高的缺点,不适合在实际应用中推广使用。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于SM2的多接收方公钥加密方法,并扩展为随机数重用的基于SM2的多接收方公钥加密方法。该方法首先基于SM2构造底层多接收方公钥加密方法,随后提出复现算法Rep对底层方案进行扩展提高加密效率,最终提出基于SM2的多接收方公钥加密方法。该方法能有效减少发送方的计算量,提高加密效率,更有效适用于实际应用场景中。
本发明的目的可以通过采取如下技术方案达到:
一种基于SM2的多接收方公钥加密方法,所述的多接收方公钥加密方法包括下列步骤:
S1、公共参数生成步骤,通过公共参数生成算法PGen(1κ),输入安全参数1κ,输出一个素数q、q阶循环群和的任意生成元g,其中q的二进制表示是n比特长的字符串;另外输出哈希函数 和哈希函数其中 均表示输出哈希值的字符串长度并且其中表示自然数集。最终输出公开参数par,具体的,par包含参数有
S2、接收方公私钥生成步骤,接收方Ui通过密钥生成算法KGen(par),输入公共参数par,在群中随机选取正整数x[i],计算h[i]=gx[i],输出接收方Ui的公钥pk[i]=h[i]和私钥sk[i]=x[i]。其中,接收方Ui的公钥pk[i]可公开,接收方Ui的私钥sk[i]保密存储,i=1,2,3,...,n;
S3、发送方加密消息步骤,加密算法为 加密算法规定发送方以公共参数par、接收方Ui的公钥pk[i]和消息m[i]作为输入,随机选取正整数r,计算密文c[i]1=gr和通过哈希函数H1计算哈希值对(k[i]1,k[i]2)=H1(h[i]r),其中k[i]1、k[i]2均表示哈希函数H1生成的哈希值;计算密文其中表示异或运算;通过哈希函数H2计算计算密文c[i]3=H2(c[i]1,k[i]2,c[i]2),最终输出密文c[i]=(c[i]1,c[i]2,c[i]3)。
S4、接收方解密消息步骤,解密算法Dec(par,sk[i],c[i])为 解密算法Dec规定接收方Ui以公共参数par、接收方Ui的私钥sk[i]和密文c[i]作为输入,通过哈希函数H1计算哈希值对(k[i]1,k[i]2)=H1(c[i]1 x[i]),通过哈希函数H2计算哈希值H2(c[i]1,k[i]2,c[i]2),如果c[i]3≠H2(c[i]1,k[i]2,c[i]2),表示c[i]不是合法密文,输出错误信息⊥;否则输出消息
底层加密算法Enc以公共参数par、接收方Ui的公钥pk[i]和消息m[i]作为输入,以及在随机数空间中为不同的接收方选取不同的随机数作为输入,其中表示从中均匀随机地选取出一个元素r[i],计算密文c[i]1=gr[i]和通过哈希函数H1计算哈希值对(k[i]1,k[i]2)=H1(h[i]r[i]),其中k[i]1、k[i]2均表示哈希函数H1生成的哈希值;计算密文其中表示异或运算;通过哈希函数H2计算计算密文c[i]3=H2(c[i]1,k[i]2,c[i]2),最终输出密文c[i]=(c[i]1,c[i]2,c[i]3)。但是,底层加密算法Enc的缺点是发送方对每一个新的接收方进行加密时,都需要重新随机选取一个正整数r[i],增加了发送方的计算量。
为解决底层加密算法Enc的缺点,提高加密效率和降低通信带宽要求,提出随机数重用的复现算法Rep,复现算法Rep接收输入参数(par,pk,sk,c,m′,pk′,sk′),其中,公共参数私钥sk=x,x为在群中随机选取的正整数,公钥pk=h=gx,密文 r为从随机数空间中均匀随机地选取出的一个元素、k1,k2均表示哈希函数H1生成的哈希值,m′表示消息,私钥sk′=x′,公钥pk′=gx′,x′为在群中随机选取的正整数。复现算法Rep通过哈希函数H1计算哈希值对(k1′,k2′)=H1((gr)x′),其中k1′,k2′均表示哈希函数H1生成的哈希值,计算密文其中表示异或运算,再通过哈希函数H2计算密文c3′=H2(gr,k2′,c2′),最终输出密文c′=(gr,c2′,c3′),由于(gr)x′=(pk′)r,所以复现算法Rep的输出结果确实是Enc(par,pk′,m′),实现了随机数重用的效果,提高了加密效率;
加密算法根据底层加密算法Enc和复现算法Rep演变而成,要求以公共参数par、接收方Ui的公钥pk[i]和消息m[i],以及在随机数空间中选取的一个随机数作为输入,其中表示从中均匀随机地选取出一个元素r,计算密文c[i]1=gr、哈希值对(k[i]1,k[i]2)=H1(h[i]r)、密文和密文c[i]3=H2(c[i]1,k[i]2,c[i]2),得到密文c[i]=(c[i]1,c[i]2,c[i]3),最终输出接收方Ui的密文c[i]。
加密算法的正确性要求为:对任意公共参数par←PGen(1κ),密钥对((pk[i],sk[i])←KGen(par))i∈[n],任意消息密文c←Enc(par,pk,m)和任意i∈[n],均有Dec(par,sk[i],c[i])=m[i],其中符号←表示通过算法生成参数,[n]表示集合{1,2,...,n},表示由公共参数par生成的明文空间。
本发明相对于现有技术具有如下的优点及效果:
本发明使用随机数重用技术构造了一个基于SM2的多接收方公钥加密方案,和现有技术相比,具有加密效率更高和通信带宽要求更低的优点。另外,本发明有严格的形式化安全模型和安全证明,证明了可达到抗随机数重用不可区分选择密文攻击(RR-IND-CCA)安全性,保证了方案在实际应用的安全性。因此,本发明能在效率和安全性上满足实际应用需求。
附图说明
图1是本发明实施例公开的一种基于SM2的多接收方公钥加密方法的流程图;
图2是本发明实施例公开的一种基于SM2的多接收方公钥加密方法的用例示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明公开的一种基于SM2的多接收方公钥加密方法可以应用在信息安全技术领域对数据进行数据加密保护。例如,在发送方需要一对多地向多个接收方发送秘密信息的时候,可以采用本发明对相关数据进行加密成密文后广播发送给多个接收方。各接收方获取对应密文,依靠自己的私钥进行解密操作获取对应的秘密信息,从而在保障用户数据安全性和高效的前提下进行安全的数据共享。
下面结合图1对本实施例公开的一种基于SM2的多接收方公钥加密方法的具体过程进行详细说明。
一种基于SM2的多接收方公钥加密方法(用例示意如图2所示),其主要包括两个角色:发送方、接收方Ui,其步骤主要包括:公共参数生成,接收方公私钥生成,发送方加密消息,接收方解密消息。该多接收方公钥方法实现过程如下:
S1、公共参数生成步骤,通过公共参数生成算法PGen(1κ),输入安全参数1κ,输出一个素数q、q阶循环群和的任意生成元g,其中q的二进制表示是n比特长的字符串;另外输出哈希函数 和哈希函数其中 均表示输出哈希值的字符串长度并且其中表示自然数集。最终输出公开参数par,具体的,par包含参数有
S2、接收方公私钥生成步骤,接收方Ui通过密钥生成算法KGen(par),输入公共参数par,在群中随机选取正整数x[i],计算h[i]=gx[i],输出接收方Ui的公钥pk[i]=h[i]和私钥sk[i]=x[i]。其中,接收方Ui的公钥pk[i]可公开,接收方Ui的私钥sk[i]保密存储,i=1,2,3,...,n;
S3、发送方加密消息步骤,加密算法为 pk[i]=h[i],m[i])。输入公共参数par、接收方Ui的公钥sk[i]和消息m[i],随机选取正整数r,计算密文c[i]1=gr和通过哈希函数H1计算哈希值对(k[i]1,k[i]2)=H1(h[i]r),其中k[i]1、k[i]2均表示哈希函数H1生成的哈希值;计算密文其中表示异或运算;通过哈希函数H2计算计算密文c[i]3=H2(c[i]1,k[i]2,c[i]2),最终输出密文c[i]=(c[i]1,c[i]2,c[i]3)后广播给接收方。
S4、接收方解密消息步骤,解密算法Dec(par,sk[i],c[i])为 解密算法Dec规定接收方Ui以公共参数par、接收方Ui的私钥sk[i]和密文c[i]作为输入,通过哈希函数H1计算哈希值对(k[i]1,k[i]2)=H1(c[i]1 x[i]),通过哈希函数H2计算哈希值H2(c[i]1,k[i]2,c[i]2),如果c[i]3≠H2(c[i]1,k[i]2,c[i]2),表示c[i]不是合法密文,输出错误信息⊥;否则输出消息接收方Ui接收对应的密文c[i],根据解密算法Dec解密密文,获取消息
实施例二
本发明公开的一种基于SM2的多接收方公钥加密方法可以应用在区块链上对数据进行数据加密保护。例如,在金融行业的区块链***中,用户只想把资产信息和资产交易信息给指定的一些合作商进行商业共享,可以采用本发明对相关数据进行加密后广播上传到区块链***。各合作商作为接收方在区块链上获取对应用户的密文,依靠自身的私钥进行解密操作获取用户的资产信息,从而在保障用户数据安全性的前提下进行安全的数据共享。
下面结合图1对本实施例公开的一种基于SM2的多接收方公钥加密方法的具体过程进行详细说明。
一种基于SM2的多接收方公钥加密方法(用例示意如图2所示),其主要包括两个角色:发送方、接收方Ui,其步骤主要包括:公共参数生成,接收方公私钥生成,发送方加密消息,接收方解密消息。该多接收方公钥方法实现过程如下:
S1、公共参数生成步骤,通过公共参数生成算法PGen(1κ),输入安全参数1κ,输出一个素数q、q阶循环群和的任意生成元g,其中q的二进制表示是n比特长的字符串;另外输出哈希函数 和哈希函数其中 均表示输出哈希值的字符串长度并且其中表示自然数集。最终输出公开参数par,具体的,par包含参数有
S2、接收方公私钥生成步骤,接收方Ui通过密钥生成算法KGen(par),输入公共参数par,在群中随机选取正整数x[i],计算h[i]=gx[i],输出接收方Ui的公钥pk[i]=h[i]和私钥sk[i]=x[i]。其中,接收方Ui的公钥pk[i]可公开,接收方Ui的私钥sk[i]保密存储,i=1,2,3,...,n;
S3、发送方加密消息步骤,加密算法为 输入公共参数par、接收方Ui的公钥sk[i]和消息m[i],随机选取正整数r,计算密文c[i]1=gr和通过哈希函数H1计算哈希值对(k[i]1,k[i]2)=H1(h[i]r),其中k[i]1、k[i]2均表示哈希函数H1生成的哈希值;计算密文其中表示异或运算;通过哈希函数H2计算计算密文c[i]3=H2(c[i]1,k[i]2,c[i]2),最终输出密文c[i]=(c[i]1,c[i]2,c[i]3)。发送方将接收方Ui的密文打包至区块链。
S4、接收方解密消息步骤,解密算法Dec(par,sk[i],c[i])为 解密算法Dec规定接收方Ui以公共参数par、接收方Ui的私钥sk[i]和密文c[i]作为输入,通过哈希函数H1计算哈希值对(k[i]1,k[i]2)=H1(c[i]1 x[i]),通过哈希函数H2计算哈希值H2(c[i]1,k[i]2,c[i]2),如果c[i]3≠H2(c[i]1,k[i]2,c[i]2),表示c[i]不是合法密文,输出错误信息⊥;否则输出消息接收方Ui接收区块链上对应的密文c[i],根据解密算法Dec解密密文,获取消息
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (5)
1.一种基于SM2的多接收方公钥加密方法,其特征在于,所述的多接收方公钥加密方法包括下列步骤:
S1、公共参数生成步骤,通过参数生成算法PGen(1κ),输入安全参数1κ,其中κ是正整数,输出一个公共参数par;
S2、接收方公私钥生成步骤,接收方Ui通过密钥生成算法KGen(par),输入公共参数par,输出接收方Ui的公钥pk[i]和私钥sk[i],其中,接收方Ui的公钥pk[i]可公开,接收方Ui的私钥sk[i]保密存储,i=1,2,3,…,n;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010654604.3A CN111865578B (zh) | 2020-07-09 | 2020-07-09 | 一种基于sm2的多接收方公钥加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010654604.3A CN111865578B (zh) | 2020-07-09 | 2020-07-09 | 一种基于sm2的多接收方公钥加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865578A true CN111865578A (zh) | 2020-10-30 |
CN111865578B CN111865578B (zh) | 2022-11-29 |
Family
ID=73153723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010654604.3A Active CN111865578B (zh) | 2020-07-09 | 2020-07-09 | 一种基于sm2的多接收方公钥加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865578B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872757A (zh) * | 2021-09-23 | 2021-12-31 | 武汉大学 | 一种基于sm2公钥加密算法的广播加密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2913153A1 (fr) * | 2007-02-28 | 2008-08-29 | France Telecom | Chiffrement base sur identite |
CN105763528A (zh) * | 2015-10-13 | 2016-07-13 | 北方工业大学 | 一种混合机制下多重接受者匿名的加密装置 |
CN108199835A (zh) * | 2018-01-19 | 2018-06-22 | 北京江南天安科技有限公司 | 一种多方联合私钥解密方法及*** |
CN111130786A (zh) * | 2019-10-25 | 2020-05-08 | 武汉大学 | 一种多方协同sm2密钥生成、密文解密方法与介质 |
-
2020
- 2020-07-09 CN CN202010654604.3A patent/CN111865578B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2913153A1 (fr) * | 2007-02-28 | 2008-08-29 | France Telecom | Chiffrement base sur identite |
CN105763528A (zh) * | 2015-10-13 | 2016-07-13 | 北方工业大学 | 一种混合机制下多重接受者匿名的加密装置 |
CN108199835A (zh) * | 2018-01-19 | 2018-06-22 | 北京江南天安科技有限公司 | 一种多方联合私钥解密方法及*** |
CN111130786A (zh) * | 2019-10-25 | 2020-05-08 | 武汉大学 | 一种多方协同sm2密钥生成、密文解密方法与介质 |
Non-Patent Citations (1)
Title |
---|
MIHIR BELLARE等: "Multirecipient Encryption Schemes How to Save on Bandwidth and Computation Without Sacrificing Security", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872757A (zh) * | 2021-09-23 | 2021-12-31 | 武汉大学 | 一种基于sm2公钥加密算法的广播加密方法 |
CN113872757B (zh) * | 2021-09-23 | 2024-01-12 | 武汉大学 | 一种基于sm2公钥加密算法的广播加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111865578B (zh) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107707358B (zh) | 一种ec-kcdsa数字签名生成方法及*** | |
CN111106936A (zh) | 一种基于sm9的属性加密方法与*** | |
Iyer et al. | A novel idea on multimedia encryption using hybrid crypto approach | |
CN110719295B (zh) | 一种基于身份的面向食品数据安全的代理重加密方法与装置 | |
CN112564907B (zh) | 密钥生成方法及装置、加密方法及装置、解密方法及装置 | |
CN108183791B (zh) | 应用于云环境下的智能终端数据安全处理方法及*** | |
CN104158880A (zh) | 一种用户端云数据共享解决方法 | |
CN110784314A (zh) | 无证书的加密信息处理方法 | |
CN111049738B (zh) | 基于混合加密的电子邮件数据安全保护方法 | |
US8458452B1 (en) | System and method for encryption and decryption of data transferred between computer systems | |
CN104486756A (zh) | 一种密笺短信的加解密方法及*** | |
CN114095171A (zh) | 一种基于身份的可穿刺代理重加密方法 | |
CN107070900B (zh) | 基于混淆的可搜索重加密方法 | |
CN113468582A (zh) | 一种抗量子计算加密通信方法 | |
CN116722977B (zh) | 基于国密sm9的条件代理重加密方法 | |
JP2009088641A (ja) | 送受信方法、通信システムおよび送信装置 | |
CN111865578B (zh) | 一种基于sm2的多接收方公钥加密方法 | |
CN106534077B (zh) | 一种基于对称密码的可认证的代理重加密***及方法 | |
CN107682158A (zh) | 一种可托管的认证加密方法 | |
Nalwaya et al. | A cryptographic approach based on integrating running key in feedback mode of elgamal system | |
US20130058483A1 (en) | Public key cryptosystem and technique | |
JP2005114870A (ja) | 暗号通信システム | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
JP2004246350A (ja) | 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法 | |
JP3694242B2 (ja) | 署名付き暗号通信方法及びその装置 |
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 |