CN111865578A - 一种基于sm2的多接收方公钥加密方法 - Google Patents

一种基于sm2的多接收方公钥加密方法 Download PDF

Info

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
Application number
CN202010654604.3A
Other languages
English (en)
Other versions
CN111865578B (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.)
Jinan University
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN202010654604.3A priority Critical patent/CN111865578B/zh
Publication of CN111865578A publication Critical patent/CN111865578A/zh
Application granted granted Critical
Publication of CN111865578B publication Critical patent/CN111865578B/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/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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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

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的多接收方公钥加密方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于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阶循环群
Figure BDA0002576261890000021
Figure BDA0002576261890000022
的任意生成元g,其中q的二进制表示是n比特长的字符串;另外输出哈希函数
Figure BDA0002576261890000023
Figure BDA0002576261890000024
和哈希函数
Figure BDA0002576261890000025
其中
Figure BDA0002576261890000026
Figure BDA0002576261890000027
均表示输出哈希值的字符串长度并且
Figure BDA0002576261890000028
其中
Figure BDA0002576261890000029
表示自然数集。最终输出公开参数par,具体的,par包含参数有
Figure BDA00025762618900000210
S2、接收方公私钥生成步骤,接收方Ui通过密钥生成算法KGen(par),输入公共参数par,在群
Figure BDA00025762618900000211
中随机选取正整数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、发送方加密消息步骤,加密算法
Figure BDA00025762618900000212
Figure BDA00025762618900000213
Figure BDA00025762618900000214
加密算法
Figure BDA00025762618900000215
规定发送方以公共参数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生成的哈希值;计算密文
Figure BDA0002576261890000031
其中
Figure BDA0002576261890000032
表示异或运算;通过哈希函数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])为
Figure BDA0002576261890000033
Figure BDA0002576261890000034
解密算法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]不是合法密文,输出错误信息⊥;否则输出消息
Figure BDA0002576261890000035
进一步地,所述的步骤S3中加密算法
Figure BDA0002576261890000036
具体如下:
底层加密算法Enc以公共参数par、接收方Ui的公钥pk[i]和消息m[i]作为输入,以及在随机数空间
Figure BDA0002576261890000037
中为不同的接收方选取不同的随机数
Figure BDA0002576261890000038
作为输入,其中
Figure BDA0002576261890000039
表示从
Figure BDA00025762618900000310
中均匀随机地选取出一个元素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生成的哈希值;计算密文
Figure BDA00025762618900000311
其中
Figure BDA00025762618900000312
表示异或运算;通过哈希函数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′),其中,公共参数
Figure BDA00025762618900000313
私钥sk=x,x为在群
Figure BDA00025762618900000314
中随机选取的正整数,公钥pk=h=gx,密文
Figure BDA00025762618900000315
Figure BDA00025762618900000316
r为从随机数空间
Figure BDA00025762618900000317
中均匀随机地选取出的一个元素、k1,k2均表示哈希函数H1生成的哈希值,m′表示消息,私钥sk′=x′,公钥pk′=gx′,x′为在群
Figure BDA0002576261890000041
中随机选取的正整数。复现算法Rep通过哈希函数H1计算哈希值对(k1′,k2′)=H1((gr)x′),其中k1′,k2′均表示哈希函数H1生成的哈希值,计算密文
Figure BDA0002576261890000042
其中
Figure BDA0002576261890000043
表示异或运算,再通过哈希函数H2计算密文c3′=H2(gr,k2′,c2′),最终输出密文c′=(gr,c2′,c3′),由于(gr)x′=(pk′)r,所以复现算法Rep的输出结果确实是Enc(par,pk′,m′),实现了随机数重用的效果,提高了加密效率;
加密算法
Figure BDA0002576261890000044
根据底层加密算法Enc和复现算法Rep演变而成,要求以公共参数par、接收方Ui的公钥pk[i]和消息m[i],以及在随机数空间
Figure BDA0002576261890000045
中选取的一个随机数
Figure BDA0002576261890000046
作为输入,其中
Figure BDA0002576261890000047
表示从
Figure BDA0002576261890000048
中均匀随机地选取出一个元素r,计算密文c[i]1=gr、哈希值对(k[i]1,k[i]2)=H1(h[i]r)、密文
Figure BDA0002576261890000049
和密文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]。
加密算法
Figure BDA00025762618900000410
的正确性要求为:对任意公共参数par←PGen(1κ),密钥对((pk[i],sk[i])←KGen(par))i∈[n],任意消息
Figure BDA00025762618900000411
密文c←Enc(par,pk,m)和任意i∈[n],均有Dec(par,sk[i],c[i])=m[i],其中符号←表示通过算法生成参数,[n]表示集合{1,2,...,n},
Figure BDA00025762618900000412
表示由公共参数par生成的明文空间。
本发明相对于现有技术具有如下的优点及效果:
本发明使用随机数重用技术构造了一个基于SM2的多接收方公钥加密方案,和现有技术相比,具有加密效率更高和通信带宽要求更低的优点。另外,本发明有严格的形式化安全模型和安全证明,证明了可达到抗随机数重用不可区分选择密文攻击(RR-IND-CCA)安全性,保证了方案在实际应用的安全性。因此,本发明能在效率和安全性上满足实际应用需求。
附图说明
图1是本发明实施例公开的一种基于SM2的多接收方公钥加密方法的流程图;
图2是本发明实施例公开的一种基于SM2的多接收方公钥加密方法的用例示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明公开的一种基于SM2的多接收方公钥加密方法可以应用在信息安全技术领域对数据进行数据加密保护。例如,在发送方需要一对多地向多个接收方发送秘密信息的时候,可以采用本发明对相关数据进行加密成密文后广播发送给多个接收方。各接收方获取对应密文,依靠自己的私钥进行解密操作获取对应的秘密信息,从而在保障用户数据安全性和高效的前提下进行安全的数据共享。
下面结合图1对本实施例公开的一种基于SM2的多接收方公钥加密方法的具体过程进行详细说明。
一种基于SM2的多接收方公钥加密方法(用例示意如图2所示),其主要包括两个角色:发送方、接收方Ui,其步骤主要包括:公共参数生成,接收方公私钥生成,发送方加密消息,接收方解密消息。该多接收方公钥方法实现过程如下:
S1、公共参数生成步骤,通过公共参数生成算法PGen(1κ),输入安全参数1κ,输出一个素数q、q阶循环群
Figure BDA0002576261890000061
Figure BDA0002576261890000062
的任意生成元g,其中q的二进制表示是n比特长的字符串;另外输出哈希函数
Figure BDA0002576261890000063
Figure BDA0002576261890000064
和哈希函数
Figure BDA0002576261890000065
其中
Figure BDA0002576261890000066
Figure BDA0002576261890000067
均表示输出哈希值的字符串长度并且
Figure BDA0002576261890000068
其中
Figure BDA0002576261890000069
表示自然数集。最终输出公开参数par,具体的,par包含参数有
Figure BDA00025762618900000610
S2、接收方公私钥生成步骤,接收方Ui通过密钥生成算法KGen(par),输入公共参数par,在群
Figure BDA00025762618900000611
中随机选取正整数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、发送方加密消息步骤,加密算法
Figure BDA00025762618900000612
Figure BDA00025762618900000613
Figure BDA00025762618900000614
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生成的哈希值;计算密文
Figure BDA00025762618900000615
其中
Figure BDA00025762618900000616
表示异或运算;通过哈希函数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])为
Figure BDA00025762618900000617
Figure BDA00025762618900000618
解密算法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]不是合法密文,输出错误信息⊥;否则输出消息
Figure BDA00025762618900000619
接收方Ui接收对应的密文c[i],根据解密算法Dec解密密文,获取消息
Figure BDA00025762618900000620
实施例二
本发明公开的一种基于SM2的多接收方公钥加密方法可以应用在区块链上对数据进行数据加密保护。例如,在金融行业的区块链***中,用户只想把资产信息和资产交易信息给指定的一些合作商进行商业共享,可以采用本发明对相关数据进行加密后广播上传到区块链***。各合作商作为接收方在区块链上获取对应用户的密文,依靠自身的私钥进行解密操作获取用户的资产信息,从而在保障用户数据安全性的前提下进行安全的数据共享。
下面结合图1对本实施例公开的一种基于SM2的多接收方公钥加密方法的具体过程进行详细说明。
一种基于SM2的多接收方公钥加密方法(用例示意如图2所示),其主要包括两个角色:发送方、接收方Ui,其步骤主要包括:公共参数生成,接收方公私钥生成,发送方加密消息,接收方解密消息。该多接收方公钥方法实现过程如下:
S1、公共参数生成步骤,通过公共参数生成算法PGen(1κ),输入安全参数1κ,输出一个素数q、q阶循环群
Figure BDA0002576261890000071
Figure BDA0002576261890000072
的任意生成元g,其中q的二进制表示是n比特长的字符串;另外输出哈希函数
Figure BDA0002576261890000073
Figure BDA0002576261890000074
和哈希函数
Figure BDA0002576261890000075
其中
Figure BDA0002576261890000076
Figure BDA0002576261890000077
均表示输出哈希值的字符串长度并且
Figure BDA0002576261890000078
其中
Figure BDA0002576261890000079
表示自然数集。最终输出公开参数par,具体的,par包含参数有
Figure BDA00025762618900000710
S2、接收方公私钥生成步骤,接收方Ui通过密钥生成算法KGen(par),输入公共参数par,在群
Figure BDA00025762618900000711
中随机选取正整数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、发送方加密消息步骤,加密算法
Figure BDA00025762618900000712
Figure BDA00025762618900000713
Figure BDA0002576261890000081
输入公共参数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生成的哈希值;计算密文
Figure BDA0002576261890000082
其中
Figure BDA0002576261890000083
表示异或运算;通过哈希函数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])为
Figure BDA0002576261890000084
Figure BDA0002576261890000087
解密算法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]不是合法密文,输出错误信息⊥;否则输出消息
Figure BDA0002576261890000085
接收方Ui接收区块链上对应的密文c[i],根据解密算法Dec解密密文,获取消息
Figure BDA0002576261890000086
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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;
S3、发送方加密消息步骤,通过加密算法
Figure FDA0002576261880000011
其中m[i]表示发送方给接收方Ui的消息,输入公共参数par、接收方Ui的公钥pk[i]和消息m[i],输出接收方Ui的密文c[i],并将c[i]广播发送;
S4、接收方解密消息步骤,接收方Ui获取密文c[i],通过解密算法Dec(par,sk[i],c[i]),输入公共参数par、接收方Ui的私钥sk[i]和接收方Ui的密文c[i],输出消息
Figure FDA0002576261880000012
2.根据权利要求1所述的一种基于SM2的多接收方公钥加密方法,其特征在于,所述的步骤S1中公共参数生成算法PGen(1κ),输入安全参数1κ,输出一个素数q、q阶循环群
Figure FDA0002576261880000016
Figure FDA0002576261880000017
的任意生成元g,其中q的二进制表示是n比特长的字符串;另外还输出哈希函数H1:
Figure FDA0002576261880000015
Figure FDA0002576261880000014
和哈希函数H2:
Figure FDA0002576261880000013
其中lmsg、lkey、lctx均表示输出哈希值的字符串长度并且lmsg,lkey,
Figure FDA0002576261880000019
其中
Figure FDA0002576261880000018
表示自然数集,最终输出公开参数par,其中,公开参数par包含的参数有
Figure FDA00025762618800000110
3.根据权利要求2所述的一种基于SM2的多接收方公钥加密方法,其特征在于,所述的步骤S2中密钥生成算法KGen(par)为
Figure FDA00025762618800000111
Figure FDA0002576261880000026
密钥生成算法KGen规定接收方Ui以公共参数par作为输入,在群
Figure FDA0002576261880000027
中随机选取正整数x[i],计算h[i]=gx[i],输出接收方Ui的公钥pk[i]=h[i]和私钥sk[i]=x[i]。
4.根据权利要求3所述的一种基于SM2的多接收方公钥加密方法,其特征在于,所述的步骤S3中加密算法
Figure FDA0002576261880000021
Figure FDA0002576261880000022
Figure FDA0002576261880000023
加密算法
Figure FDA0002576261880000028
规定发送方以公共参数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生成的哈希值;计算密文
Figure FDA0002576261880000024
其中
Figure FDA0002576261880000025
表示异或运算;通过哈希函数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)并广播发送。
5.根据权利要求4所述的一种基于SM2的多接收方公钥解密方法,其特征在于,所述的步骤S4中解密算法Dec(par,sk[i],c[i])为
Figure FDA0002576261880000029
Figure FDA00025762618800000210
接收方Ui获取密文c[i],利用解密算法Dec输入公共参数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]不是合法密文,输出错误信息⊥;否则输出消息
Figure FDA00025762618800000211
CN202010654604.3A 2020-07-09 2020-07-09 一种基于sm2的多接收方公钥加密方法 Active CN111865578B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872757A (zh) * 2021-09-23 2021-12-31 武汉大学 一种基于sm2公钥加密算法的广播加密方法

Citations (4)

* Cited by examiner, † Cited by third party
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密钥生成、密文解密方法与介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
MIHIR BELLARE等: "Multirecipient Encryption Schemes How to Save on Bandwidth and Computation Without Sacrificing Security", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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