CN114826611B - 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 - Google Patents
一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 Download PDFInfo
- Publication number
- CN114826611B CN114826611B CN202210391459.3A CN202210391459A CN114826611B CN 114826611 B CN114826611 B CN 114826611B CN 202210391459 A CN202210391459 A CN 202210391459A CN 114826611 B CN114826611 B CN 114826611B
- Authority
- CN
- China
- Prior art keywords
- key
- group
- receiver
- private key
- ciphertext
- 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
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于国密SM9的IND‑sID‑CCA2安全标识广播加密方法,包括:利用系统安全参数λ和最大广播接收者数目m,生成主公钥mpk和主私钥msk;基于主私钥msk和接收者标识ID,生成接收者标识ID所对应的接收者私钥skID,并将所述私钥skID发送给对应的接收者;根据主公钥mpk、明文消息M和接收者标识ID的集合S,生成会话密钥K和密文CT;利用接收者标识集合S、主公钥mpk、密文CT、标识ID以及对应的接收者私钥skID,生成会话密钥K和明文数据M'。本发明基于国密SM9,更易与现有的基于国密SM9的系统相融合,为我国密码技术的自主可控做出了一定的贡献;本发明为标识广播加密,适用于多个接收者的场景,且更易管理;利用内部验证方法实现了IND‑sID‑CCA2安全,安全性更高、效率更高。
Description
技术领域
本发明涉及密码学技术领域,尤其涉及一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法。
背景技术
在信息产业中,数据的安全与隐私的保护问题一直是人们关注的重点,而密码技术的运用是解决这一问题的重要手段之一,以保证数据只能由合法的接收者获取。标识密码(Identity-based Cryptosystem),是密码学中的一个重要研究领域,此概念在1984年由Shamir首次提出。标识密码以接收者的唯一信息作为公钥,取代传统公钥密码中证书的功能。
考虑到信息安全问题,为实现密码技术的自主可控,我国在2008年自主设计了标识密码SM9,2016年其成为我国密码行业标准,并在2020年正式成为我国的国家标准。之后,随着时间的推移,SM9各部分也陆续成为国际标准。在2021年,SM9全体系纳入ISO/IEC标准。因此基于国密SM9进行各种密码方案的设计是非常有必要的。
广播加密(Broadcast Encryption,BE)的概念在1993年由Fait和Naor提出,并给出了具体方案。广播加密可以针对某一组确定的接收者对数据进行加密并广播到公共信道,只有在加密阶段指定授权的接收者可以正确解密。广播加密基本满足保密性、正确性、抗合谋攻击的特性。由于广播加密具有一对多通信的特点,现实世界中诸多领域都有着对其的应用,如多媒体、物联网、区块链等。
标识广播加密(Identity-Based Broadcast Encryption,IBBE)的概念在2007年由Delerablée提出,将广播加密与标识加密技术相结合。
对于标识广播加密的安全性研究,主要是针对加密方法所使用的模型、可能受到的攻击类型以及遭受攻击后的不可区分性(Indistinguishability,IND)进行分析。使用的模型包括使用了随机谕言机的随机谕言模型(Random Oracle Model,ROM)和未使用随机谕言机的标准模型(Standard Model,SM),本发明是随机谕言模型下安全的。可能受到的攻击包括选择明文攻击(Chosen Plaintext Attack,CPA)、非适应性选择密文攻击(ChosenCiphertext Attack,CCA1)、适应性选择密文攻击(adaptive Chosen Ciphertext Attack,CCA2)。参考标识加密的选择身份安全(selective identity security)和完全安全(fullsecurity),根据攻击者在何时确定需要攻击的接收者标识集合,攻击还包括:在安全模型建立前确定的静态攻击(sID)、在挑战阶段确定的适应性攻击(ID)。
从上述内容可以看出,相比于CPA安全,CCA2安全可以有效地应对攻击者的主动攻击,防止攻击者通过伪造、篡改密文,获得更多有助于破解密文的信息。因此,使用IND-sID-CCA2安全的IBBE是非常有必要的。
利用一次性签名系统实现CCA2安全是一种通用方法。然而,在一次性签名系统中,基于杂凑函数的一般具有较长的公钥和签名长度,基于数论假设的往往需要较大的计算量。因此,一次性签名系统的引入会较大的提高计算和存储开销。所以,希望避免一次性签名系统的使用而实现CCA2安全。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明解决的技术问题是:传统公钥体制需耗费大量资源的证书管理工作,安全性弱,效率低。
为解决上述技术问题,本发明提供如下技术方案:利用系统安全参数λ和最大广播接收者数目m,生成主公钥mpk和主私钥msk;基于主私钥msk和接收者标识ID,生成接收者标识ID所对应的接收者私钥skID,并将所述私钥skID发送给对应的接收者;根据主公钥mpk、明文消息M和接收者标识ID的集合S,生成会话密钥K和密文CT;利用接收者标识集合S、主公钥mpk、密文CT、标识ID以及对应的接收者私钥skID,生成会话密钥K和明文数据M'。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述主公钥mpk和主私钥msk的生成包括,
设置安全参数λ和最大广播接收者数目m,生成一个双线性群BP=(N,G1,G2,GT,e);
其中,BP表示双线性群,N表示循环群G1,G2,GT的阶,且是大于2191的素数,G1表示阶为素数N的加法循环群,G2表示阶为素数N的加法循环群,GT表示阶为素数N的乘法循环群,e表示从G1×G2到GT的双线性映射。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述主公钥mpk和主私钥msk的生成还包括,
任选两个生成元P1、P2,随机数α,两个密码函数和用一个字节表示的加密私钥生成函数标识符hid;
设封装会话密钥的长度为klen,选择密钥派生函数KDF:{0,1}*→klen;
基于生成元P1、P2,随机数α,从G1×G2到GT的双线性映射e以及最大广播接收者数目m,计算得到u、Ppub和g,
u=α2P2
Ppub={αP1,α2P1,α3P1,…,αm+1P1}
g=e(P1,P2)α
其中,u表示群G2中的一个元素,α表示[1,N-1]中的一个随机数,P1表示群G1的生成元,P1∈G1,P2表示群G2的生成元,P2∈G2,Ppub表示群G1中一些元素的集合,g表示群GT中的一个元素,e表示从G1×G2到GT的双线性映射;
主私钥msk包括,
msk=(α,P2)
其中,msk表示主私钥,α表示[1,N-1]中的一个随机数,P2表示群G2的生成元,P2∈G2;
主公钥mpk包括,
mpk=(u,g,P1,Ppub,H1,H2,hid,KDF)
其中,mpk表示主公钥,u表示群G2中的一个元素,g表示群GT中的一个元素,P1表示群G1的生成元,P1∈G1,Ppub表示群G1中一些元素的集合,表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,/>表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,hid表示用一个字节表示的加密私钥生成函数识别符,klen表示会话密钥的长度,KDF:{0,1}*→klen表示密钥派生函数,输入一个比特串,输出一个klen长的会话密钥。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述接收者私钥skID的生成包括,
利用msk和接收者的标识ID,密钥生成中心KGC在有限域FN上计算临时变量t1包括,
t1=H1(ID||hid,N)+α
其中,t1表示临时变量,H1表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,ID表示接收者的标识,hid表示用一个字节表示的加密私钥生成函数识别符,N表示循环群G1,G2,GT的阶,α表示[1,N-1]中的一个随机数。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述接收者私钥skID的生成还包括,
判断t1是否为0,若t1=0,则重新产生主私钥,计算和公开主公钥,并更新已有接收者的解密私钥;
若t1≠0,计算临时变量t2,
其中,t2表示临时变量,α表示[1,N-1]中的一个随机数,t1表示临时变量;
基于临时变量t2和P2,计算接收者的私钥skID,
skID=t2·P2
其中,skID表示接收者的私钥,t2表示临时变量,P2表示群G2的生成元,P2∈G2。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述封装密文C的获取包括,
选取随机数r∈[1,N-1],利用mpk和接收者标识ID的集合S,计算获取临时变量C1、C2,基于临时变量C1、C2得到封装密文C,
w=gr
C1=-r·u
C=(C1,C2)
其中,r表示[1,N-1]中的一个随机数,S表示一个接收者标识集合,w表示临时变量,为群GT中的一个元素,C1表示临时变量,为群G2中的一个元素,C2表示临时变量,为群G1中的一个元素,C表示封装密文,H1、H2表示两个由密码杂凑函数派生的密码函数,IDj表示一个接收者标识集合S中的第j个接收者标识,hid表示用一个字节表示的加密私钥生成函数识别符,N表示循环群G1,G2,GT的阶,α表示[1,N-1]中的一个随机数,P1表示群G1的生成元,P1∈G1。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述会话密钥K的生成包括,
利用密钥派生函数KDF生成所述会话密钥K,
K=KDE(C1||C2||w||S,klen)
其中,KDF表示密钥派生函数,C1表示临时变量,为群G2中的一个元素,C2表示临时变量,为群G1中的一个元素,w表示临时变量,为群GT中的一个元素,S表示一个接收者标识集合。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述明文消息密文CM的生成包括,
若会话密钥K为全零比特串,则重新选择随机数r,生成封装密文C和会话密钥K;若会话密钥K不为全零比特串,则选用安全的数据封装机制DEM为加密方,并以所述会话密钥K作为其加密算法的密钥加密明文消息M∈{0,1}*,生成明文消息密文CM。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:所述密文CT的生成包括,
基于封装密文C和明文消息密文CM,生成密文CT,
CT=(C,CM)。
作为本发明所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法的一种优选方案,其中:对密文CT的解密包括,
利用C进行数据关于接收者标识ID的集合S的合法性验证;
若数据合法且IDi∈S,计算新的临时变量w',
其中,w'表示临时变量,群GT中的一个元素;fi(α)表示一个多项式;K′表示解密得到的会话密钥。
本发明的有益效果:
(1)本发明基于国密SM9,更易与现有的基于国密SM9的系统相融合,为我国密码技术的自主可控做出了一定的贡献;
(2)本发明为标识广播加密,适用于多个接收者的场景,且更易管理;
(3)本发明利用内部验证方法实现了IND-sID-CCA2安全,安全性更高、效率更高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例提供的一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法的整体流程示意图;
图2为本发明一个实施例提供的一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法的系统建立流程图;
图3为本发明一个实施例提供的一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法的密钥生成流程图;
图4为本发明一个实施例提供的一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法的加密流程图;
图5为本发明一个实施例提供的一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法的解密流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1至图5,为本发明的一个实施例,提供了一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法,包括:
S1:利用系统安全参数λ和最大广播接收者数目m,生成主公钥mpk和主私钥msk。需要说明的是:
所述主公钥mpk和主私钥msk的生成包括,
设置安全参数λ和最大广播接收者数目m,生成一个双线性群BP=(N,G1,G2,GT,e);
其中,BP表示双线性群,N表示循环群G1,G2,GT的阶,且是大于2191的素数,G1表示阶为素数N的加法循环群,G2表示阶为素数N的加法循环群,GT表示阶为素数N的乘法循环群,e表示从G1×G2到GT的双线性映射。
所述主公钥mpk和主私钥msk的生成还包括,
任选两个生成元P1、P2,随机数α,两个密码函数和用一个字节表示的加密私钥生成函数标识符hid;
设封装会话密钥的长度为klen,选择密钥派生函数KDF:{0,1}*→klen;
基于生成元P1、P2,随机数α,从G1×G2到GT的双线性映射e以及最大广播接收者数目m,计算得到u、Ppub和g,
u=α2P2
Ppub={αP1,α2P1,α3P1,…,αm+1P1}
g=e(P1,P2)α
其中,u表示群G2中的一个元素,α表示[1,N-1]中的一个随机数,P1表示群G1的生成元,P1∈G1,P2表示群G2的生成元,P2∈G2,Ppub表示群G1中一些元素的集合,g表示群GT中的一个元素,e表示从G1×G2到GT的双线性映射;
主私钥msk包括,
msk=(α,P2)
其中,msk表示主私钥,α表示[1,N-1]中的一个随机数,P2表示群G2的生成元,P2∈G2;
主公钥mpk包括,
mpk=(u,g,P1,Ppub,H1,H2,hid,KDF)
其中,mpk表示主公钥,u表示群G2中的一个元素,g表示群GT中的一个元素,P1表示群G1的生成元,P1∈G1,Ppub表示群G1中一些元素的集合,表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,/>表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,hid表示用一个字节表示的加密私钥生成函数识别符,klen表示会话密钥的长度,KDF:{0,1}*→klen表示密钥派生函数,输入一个比特串,输出一个klen长的会话密钥。
S2:基于主私钥msk和接收者标识ID,生成接收者标识ID所对应的接收者私钥skID,并将所述私钥skID发送给对应的接收者。需要说明的是:
所述接收者私钥skID的生成包括,
利用msk和接收者的标识ID,密钥生成中心KGC在有限域FN上计算临时变量t1包括,
t1=H1(ID||hid,N)+α
其中,t1表示临时变量,FN中的元素,H1表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,ID表示接收者的标识,hid表示用一个字节表示的加密私钥生成函数识别符,N表示循环群G1,G2,GT的阶,α表示[1,N-1]中的一个随机数。
所述接收者私钥skID的生成还包括,
判断t1是否为0,若t1=0,则重新产生主私钥,计算和公开主公钥,并更新已有接收者的解密私钥;
若t1≠0,计算临时变量t2,
其中,t2表示临时变量,FN中的元素,α表示[1,N-1]中的一个随机数,t1表示临时变量,FN中的元素;
基于临时变量t2和P2,计算接收者的私钥skID,
skID=t2·P2
其中,skID表示接收者的私钥,t2表示临时变量,P2表示群G2的生成元,P2∈G2。
S3:根据主公钥mpk、明文消息M和接收者标识ID的集合S,生成会话密钥K和密文CT。需要说明的是:
封装密文C的获取包括,
选取随机数r∈[1,N-1],利用mpk和接收者标识ID的集合S,计算获取临时变量C1、C2,基于临时变量C1、C2得到封装密文C,
w=gr
C1=-r·u
其中,可以简化为/>zj为容易计算的多项式系数,αjP1(j∈[0,m+1])在主公钥中可获得,故可在不获取主私钥的条件下计算得到其值。
其中,r表示[1,N-1]中的一个随机数,S表示一个接收者标识集合,w表示临时变量,为群GT中的一个元素,C1表示临时变量,为群G2中的一个元素,C2表示临时变量,为群G1中的一个元素,C表示封装密文,H1、H2表示两个由密码杂凑函数派生的密码函数,IDj表示一个接收者标识集合S中的第j个接收者标识,hid表示用一个字节表示的加密私钥生成函数识别符,N表示循环群G1,G2,GT的阶,α表示[1,N-1]中的一个随机数,P1表示群G1的生成元,P1∈G1。
会话密钥K的生成包括,
利用密钥派生函数KDF生成会话密钥K,
K=KDF(C1||C2||w||S,klen);
其中,KDF表示密钥派生函数,C1表示临时变量,为群G2中的一个元素,C2表示临时变量,为群G1中的一个元素,w表示临时变量,为群GT中的一个元素,S表示一个接收者标识集合。
明文消息密文CM的生成包括,
若会话密钥K为全零比特串,则重新选择随机数r,生成封装密文C和会话密钥K;若会话密钥K不为全零比特串,则选用安全的数据封装机制DEM为加密方,并以所述会话密钥K作为其加密算法的密钥加密明文消息M∈{0,1}*,生成明文消息密文CM;
密文CT的生成包括,
基于封装密文C和明文消息密文CM,生成密文CT,
CT=(C,CM)。
S4:利用接收者标识集合S、主公钥mpk、密文CT、标识ID以及对应的接收者私钥skID,生成会话密钥K和明文数据M'。需要说明的是:
对密文CT的解密包括,
利用C进行数据关于接收者标识ID的集合S的合法性验证;
若数据合法且IDi∈S,计算新的临时变量w',
其中,w'表示临时变量,群GT中的一个元素;fi(α)表示一个多项式;K′表示解密得到的会话密钥。
主公钥mpk、主私钥msk和接收者标识ID所对应的接收者私钥skID均是由密钥生成中心KGC执行,KGC表示KeyGenerationCenter密钥生成中心,负责选择系统参数、生成主密钥并产生接收者私钥的可信机构。
优选的,在步骤S1和S2中所述的主私钥msk、主公钥mpk和接收者私钥skID的生成方法中,还包括:
密钥生成中心KGC,双线性群BP,两个密码函数H1、H2,密钥派生函数KDF应满足国密SM9标准文档中的要求。同时,计算过程中所涉及的数据类型间的转换应使用SM9标准文档中的转换方法。
进一步的,在步骤S3和S4中所述的生成会话密钥和密文、对密文CT的解密的方法中,还包括:
选用的数据封装机制DEM应是CCA2安全的,以保证整体方法的安全性。可以采用国密SM9的数据封装机制、ISO/IEC18033-2中标准化的DEM2或DEM3等方案。
本发明的基于国密SM9的IND-sID-CCA2安全标识广播加密方法,包括以下内容:
首先介绍本发明的相关技术:
1、双线性群
双线性群BP可以由五元组(N,G1,G2,GT,e)描述,其中N是一个大质数,G1、G2和GT均是阶为N的乘法循环群(在基于椭圆曲线的双线性群构造中G1、G2是加法群,本发明以加法群表示),e为双线性映射e:G1×G2→GT,如果G1=G2,则为对称双线性群,否则为非对称双线性群。
令P1,P2分别为G1,G2的生成元,满足以下三个性质:
(1)双线性(Bilinearity):对于任意的P∈G1,Q∈G2,a,b∈ZN,有e(aP,bQ)=e(P,Q)ab;
(2)非退化性(Non-degeneracy):满足e(P1,P2)≠1;
(3)可计算性(Efficiency):对于任意的P∈G1,Q∈G2,存在一个多项式时间算法,可以高效的计算e(P,Q);
对于SM9标识密码,使用非对称双线性群,且存在同态映射ψ:G2→G1,使得ψ(P2)=P1。
2、困难性假设
本发明加密方法的安全性基于归约至如下(f,g)-GDDHE问题与假设。
(f,g)-GDDHE困难问题:假设BP=(N,G1,G2,GT,e)是与安全参数λ相关的非对称双线性群,多项式f和g互质,阶分别为t和m,且根各不相同;
令H0和P0分别是群G1和G2的生成元,给定实例:
(其中,α未知)和T∈GT。判断T=e(H0,P0)kαf(α)或T是GT中的一个随机元素。
设T=e(H0,P0)kαf(α)为事件True,否则为事件False,设用以解决(f,g)-GDDHE困难问题的算法为B,B基于安全常数λ,当判断T=e(H0,P0)kαf(α)时,B(I,T)=1,否则,B(I,T)=0;则B的优势可以表示为:
(f,g)-GDDHE困难假设:不存在多项式时间算法B,能够以一个不可忽略的优势解决(f,g)-GDDHE困难问题。
3、内部验证方法
在数据加密时将广播数据中的部分内容作为一个虚拟接收者的标识,与选定的合法的接收者标识一同进行后续加密操作;所不同的是,在后续加密操作中,虚拟接收者与合法的接收者使用不同的密码函数,虚拟接收者只用于解密时的数据合法性验证,私钥对所有人隐藏,使加密方法在实现CCA2安全的同时,避免使用一次性签名。
本发明基于国密SM9,更易与现有的基于国密SM9的系统相融合,为我国密码技术的自主可控做出了一定的贡献;本发明为标识广播加密,适用于多个接收者的场景,且更易管理;利用内部验证方法实现了IND-sID-CCA2安全,安全性更高、效率更高。
实施例2
参照表1至表4为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法的验证测试,为对本方法中采用的技术效果加以验证说明,本实施例采用传统技术方案与本发明方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
设文献[C.Identity-based broadcast encryption withconstant size ciphertexts and private keys[C]//Proceedings of the 13thInternational Conference on the Theory and Applica-tion of Cryptology andInformation Security(ASIACRYPT 2007).Kuching,Malaysia,2007:200-215]所提出的方法为方法1,文献[赖建昌,黄欣沂,何德彪.一种基于商密SM9的高效标识广播加密方案[J].计算机学报,2021,44(05):897-907.]所提出的方法为方法2,文献[刘潇,刘巍然,伍前红,等.选择密文安全的基于身份的广播加密方案[J].密码学报,2015(1):11.]所提出的方法为方法3,其中方法1的通信复杂度和计算复杂度基本达到最优。在计算复杂度的对比中,主要考虑一些重量级操作的计算成本,如群G1、G2和GT中的计算和双线性配对,忽视一些轻量级操作的计算成本,如杂凑函数计算和对称加密(数据封装);由于四个方案都基于非对称双线性群设计,双线性群的生成可以预先完成,因此也忽略这部分的计算开销。
对比中涉及的符号与数值参考自文献[Tseng Y F,Fan C I.AnonymousMultireceiver Identity-Based Encryption against Chosen-Ciphertext Attackswith Tight Reduction in the Standard Model[J].Security and CommunicationNetworks,2021,2021.],见表1。为了方便计算,将系统最大接收者的数量m和合法接收者的数量(即前文接收者标识集合的大小)s均设置为100。
表1:符号。
表2:通信复杂度对比。
表3:计算复杂度对比。
表4:安全性对比。
方法 | 方法1 | 方法2 | 方法3 | 本方法 |
安全性 | IND-sID-CPA | IND-sID-CPA | IND-sID-CCA2 | IND-sID-CCA2 |
安全模型 | ROM | ROM | ROM | ROM |
其中,|G1|表示群G1中元素的大小,|G2|表示群G2中元素的大小,|GT|表示群GT中元素的大小,m表示系统最大接收者的数量,s表示合法接收者的数量,也即前文接收者标识集合的大小,|K|表示对称(会话)密钥或对称(数据封装)密文的大小,T1表示群G1的标量乘运算的成本,T2表示群G2的标量乘运算的成本,TP表示双线性配对运算的成本,TG表示群GT中的指数运算的成本,表示群/>中元素的大小,ROM表示随机谕言模型。
结合表2、表3和表4,本发明所设计的加密方法的主公钥长度为O(m),主私钥、私钥与密文长度为O(1),主公钥的计算复杂度为O(m),主私钥在主公钥的生成的过程中产生,加密与解密的计算复杂度为O(s)。本发明方法与文献方法1、2相比加密与解密计算复杂度有所提升,但实现了IND-sID-CCA2安全;与方法3相比,本发明是基于我国国密SM9标识加密设计而来,其中接收者的私钥生成方法与国密SM9标识加密相同,自主可控,且更容易与现有的基于国密SM9的系统相融合,然而方法1是不可控的,又因为方法3是对方法1的改进,故方法3也是不可控的。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法,其特征在于,包括:
利用系统安全参数λ和最大广播接收者数目m,生成主公钥mpk和主私钥msk;
基于主私钥msk和接收者标识ID,生成接收者标识ID所对应的接收者私钥skID,并将所述私钥skID发送给对应的接收者;
根据主公钥mpk、明文消息M和接收者标识ID的集合S,生成会话密钥K和密文CT;
利用接收者标识集合S、主公钥mpk、密文CT、标识ID以及对应的接收者私钥skID,生成会话密钥K和明文数据M';
所述主公钥mpk和主私钥msk的生成包括,
设置安全参数λ和最大广播接收者数目m,生成一个双线性群BP=(N,G1,G2,GT,e);
其中,BP表示双线性群,N表示循环群G1,G2,GT的阶,且是大于2191的素数,G1表示阶为素数N的加法循环群,G2表示阶为素数N的加法循环群,GT表示阶为素数N的乘法循环群,e表示从G1×G2到GT的双线性映射;
所述主公钥mpk和主私钥msk的生成还包括,
任选两个生成元P1、P2,随机数α,两个密码函数H1:H2:/>和用一个字节表示的加密私钥生成函数标识符hid;
设封装会话密钥的长度为klen,选择密钥派生函数KDF:{0,1}*→klen;
基于生成元P1、P2,随机数α,从G1×G2到GT的双线性映射e以及最大广播接收者数目m,计算得到u、Ppub和g,
u=α2P2
Ppub={αP1,α2P1,α3P1,…,αm+1P1}
g=e(P1,P2)α
其中,u表示群G2中的一个元素,α表示[1,N-1]中的一个随机数,P1表示群G1的生成元,P1∈G1,P2表示群G2的生成元,P2∈G2,Ppub表示群G1中一些元素的集合,g表示群GT中的一个元素,e表示从G1×G2到GT的双线性映射;
主私钥msk包括,
msk=(α,P2)
其中,msk表示主私钥,α表示[1,N-1]中的一个随机数,P2表示群G2的生成元,P2∈G2;
主公钥mpk包括,
mpk=(u,g,P1,Ppub,H1,H2,hid,KDF)
其中,mpk表示主公钥,u表示群G2中的一个元素,g表示群GT中的一个元素,P1表示群G1的生成元,P1∈G1,Ppub表示群G1中一些元素的集合,H1:表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,H2:/>表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,hid表示用一个字节表示的加密私钥生成函数识别符,klen表示会话密钥的长度,KDF:{0,1}*→klen表示密钥派生函数,输入一个比特串,输出一个klen长的会话密钥;
所述接收者私钥skID的生成包括,
利用msk和接收者的标识ID,密钥生成中心KGC在有限域FN上计算临时变量t1包括,
t1=H1(ID||hid,N)+α
其中,t1表示临时变量,H1表示由密码杂凑函数派生的密码函数,输入一个比特串,输出一个[1,N-1]中的整数,ID表示接收者的标识,hid表示用一个字节表示的加密私钥生成函数识别符,N表示循环群G1,G2,GT的阶,α表示[1,N-1]中的一个随机数;
所述接收者私钥skID的生成还包括,
判断t1是否为0,若t1=0,则重新产生主私钥,计算和公开主公钥,并更新已有接收者的解密私钥;
若t1≠0,计算临时变量t2,
其中,t2表示临时变量,α表示[1,N-1]中的一个随机数,t1表示临时变量;
基于临时变量t2和P2,计算接收者的私钥skID,
skID=t2·P2
其中,skID表示接收者的私钥,t2表示临时变量,P2表示群G2的生成元,P2∈G2。
2.如权利要求1所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法,其特征在于:封装密文C的获取包括,
选取随机数r∈[1,N-1],利用mpk和接收者标识ID的集合S,计算获取临时变量C1、C2,基于临时变量C1、C2得到封装密文C,
w=gr
C1=-r·u
C=(C1,C2)
其中,r表示[1,N-1]中的一个随机数,S表示一个接收者标识集合,w表示临时变量,为群GT中的一个元素,C1表示临时变量,为群G2中的一个元素,C2表示临时变量,为群G1中的一个元素,C表示封装密文,H1、H2表示两个由密码杂凑函数派生的密码函数,IDj表示一个接收者标识集合S中的第j个接收者标识,hid表示用一个字节表示的加密私钥生成函数识别符,N表示循环群G1,G2,GT的阶,α表示[1,N-1]中的一个随机数,P1表示群G1的生成元,P1∈G1。
3.如权利要求2所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法,其特征在于:所述会话密钥K的生成包括,
利用密钥派生函数KDF生成所述会话密钥K,
K=KDF(C1|C2|w||S,klen)
其中,KDF表示密钥派生函数,C1表示临时变量,为群G2中的一个元素,C2表示临时变量,为群G1中的一个元素,w表示临时变量,为群GT中的一个元素,S表示一个接收者标识集合。
4.如权利要求3所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法,其特征在于:明文消息密文CM的生成包括,
若会话密钥K为全零比特串,则重新选择随机数r,生成封装密文C和会话密钥K;若会话密钥K不为全零比特串,则选用安全的数据封装机制DEM为加密方,并以所述会话密钥K作为其加密算法的密钥加密明文消息M∈{0,1}*,生成明文消息密文CM。
5.如权利要求4所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法,其特征在于:所述密文CT的生成包括,
基于封装密文C和明文消息密文CM,生成密文CT,
CT=(C,CM)。
6.如权利要求5所述的基于国密SM9的IND-sID-CCA2安全标识广播加密方法,其特征在于:对密文CT的解密包括,
利用C进行数据关于接收者标识ID的集合S的合法性验证;
若数据合法且IDi∈S,计算新的临时变量w',
其中,w'表示临时变量,群GT中的一个元素;fi(α)表示一个多项式;K′表示解密得到的会话密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391459.3A CN114826611B (zh) | 2022-04-14 | 2022-04-14 | 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391459.3A CN114826611B (zh) | 2022-04-14 | 2022-04-14 | 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114826611A CN114826611A (zh) | 2022-07-29 |
CN114826611B true CN114826611B (zh) | 2023-10-20 |
Family
ID=82536100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210391459.3A Active CN114826611B (zh) | 2022-04-14 | 2022-04-14 | 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114826611B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664651B (zh) * | 2022-10-20 | 2024-03-08 | 牛津(海南)区块链研究院有限公司 | 基于sm9的在线离线加解密方法、系统、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049207A (zh) * | 2015-05-11 | 2015-11-11 | 电子科技大学 | 一种基于身份的带个性化信息的广播加密方案 |
CN105376213A (zh) * | 2015-08-04 | 2016-03-02 | 电子科技大学 | 一种基于身份的广播加密方案 |
CN110677238A (zh) * | 2019-03-11 | 2020-01-10 | 深圳奥联信息安全技术有限公司 | 广播加密方法和装置 |
CN111541669A (zh) * | 2020-04-17 | 2020-08-14 | 福建师范大学 | 一种广播加密方法及系统 |
CN114039730A (zh) * | 2021-11-08 | 2022-02-11 | 福建师范大学 | 一种基于sm9的密钥策略属性基加密方法 |
-
2022
- 2022-04-14 CN CN202210391459.3A patent/CN114826611B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049207A (zh) * | 2015-05-11 | 2015-11-11 | 电子科技大学 | 一种基于身份的带个性化信息的广播加密方案 |
CN105376213A (zh) * | 2015-08-04 | 2016-03-02 | 电子科技大学 | 一种基于身份的广播加密方案 |
CN110677238A (zh) * | 2019-03-11 | 2020-01-10 | 深圳奥联信息安全技术有限公司 | 广播加密方法和装置 |
CN111541669A (zh) * | 2020-04-17 | 2020-08-14 | 福建师范大学 | 一种广播加密方法及系统 |
CN114039730A (zh) * | 2021-11-08 | 2022-02-11 | 福建师范大学 | 一种基于sm9的密钥策略属性基加密方法 |
Non-Patent Citations (1)
Title |
---|
SM9标识密码算法综述;袁峰;程朝辉;;信息安全研究(第11期) * |
Also Published As
Publication number | Publication date |
---|---|
CN114826611A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109584978B (zh) | 基于签名聚合医疗健康监控网络模型信息处理方法及系统 | |
Seo et al. | An efficient certificateless encryption for secure data sharing in public clouds | |
CN111106936A (zh) | 一种基于sm9的属性加密方法与系统 | |
CN104767612B (zh) | 一种从无证书环境到公钥基础设施环境的签密方法 | |
WO2016112734A1 (zh) | 一种具有选择和排除功能的群组加解密方法及系统 | |
CN104767611B (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
CN112804205A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN109873699B (zh) | 一种可撤销的身份公钥加密方法 | |
CN113285959A (zh) | 一种邮件加密方法、解密方法及加解密系统 | |
CN106713349B (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
CN105763528A (zh) | 一种混合机制下多重接受者匿名的加密装置 | |
CN112073115A (zh) | 基于Lora的低轨卫星物联网注册安全验证方法、物联网终端、网络服务器和用户服务器 | |
CN114095181B (zh) | 一种基于国密算法的门限环签名方法及系统 | |
CN116846556A (zh) | 一种基于sm9的数据条件代理重加密方法、系统及设备 | |
CN105978687B (zh) | 一种标准模型中素数阶下基于身份匿名广播加密方法 | |
CN114826611B (zh) | 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 | |
CN104320249A (zh) | 一种基于身份的抗弹性泄漏加密方法和系统 | |
WO2013039659A1 (en) | Hybrid encryption schemes | |
Ahila et al. | State of art in homomorphic encryption schemes | |
CN115102689A (zh) | 两方协同的s盒生成方法、加密方法和存储介质 | |
CN111934887B (zh) | 基于插值多项式的多接受者签密方法 | |
CN108768923A (zh) | 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法 | |
CN113852466A (zh) | 基于国密sm9的用户撤销方法 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
Zhu et al. | New constructions of equality test scheme without random oracles |
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 |