CN104796260B - 一种满足前向安全的短密文身份基加密方法 - Google Patents
一种满足前向安全的短密文身份基加密方法 Download PDFInfo
- Publication number
- CN104796260B CN104796260B CN201510158202.3A CN201510158202A CN104796260B CN 104796260 B CN104796260 B CN 104796260B CN 201510158202 A CN201510158202 A CN 201510158202A CN 104796260 B CN104796260 B CN 104796260B
- Authority
- CN
- China
- Prior art keywords
- private key
- identity
- time slice
- ciphertext
- algorithm
- 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
Landscapes
- Storage Device Security (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
本发明公开一种满足前向安全的短密文身份基加密方法,主要包括以下6个步骤:1)私钥生成机构初始化;2)用户的注册与认证;3)初始私钥的生成与分发;4)私钥更新;5)加密;6)解密。本发明在身份基加密体制的基础上实现了前向安全,用户可以自主更新私钥,能够有效降低因私钥泄露带来的损失,适用于开放网络环境及非安全设备中的通信加密解决方案。另外,密文短且长度固定,加解密计算开销小,解密过程无需验证环节,加解密效率高,使本发明在实际应用中具有更广泛的适用性。
Description
(一)技术领域
本发明涉及一种满足前向安全的短密文身份基加密方法,它可以有效降低由私钥泄露带来的安全威胁,属于公钥加密体制领域。
(二)背景技术
在数字化高度发展的今天,信息安全逐渐成为一项重要议题,而数据加密则是保证信息安全的一项重要手段。现代数据加密体系包含两种基本加密体制:对称加密和非对称加密。其中,非对称加密又称公钥加密,加密者和解密者在通信过程中使用非对称密钥对数据进行加解密操作,无需事先进行密钥协商,降低了对通信信道的安全性要求。因此,公钥加密得到了广泛的应用。
在传统的公钥加密体制中,认证中心需要事先对每个用户进行注册认证,并为其分发相应的公钥证书,这在一定程度上增加了通信开销;另外,随着系统中用户的增多,公钥证书的数量也将增大,这增加了认证中心服务器的存储负担;而且公钥证书的撤销与恢复也是一个比较复杂的问题。综上,公钥证书的管理成为制约传统公钥加密体制进一步发展的瓶颈。
身份基加密(Identity-Based Encryption,简称IBE)是近些年提出的一种公钥加密体制,与上述传统公钥加密体制不同的是,它无需使用公钥证书。在IBE体制中,用户的公钥是其身份信息(例如:邮箱地址和电话号码等),这就避免了上述传统公钥加密体制中由公钥证书带来的一系列问题。
早在1984年,Shamir就提出了IBE的概念,但是直到2001年Boneh和Franklin才给出了第一个实用的IBE方案。此后IBE得到迅速发展,大量方案相继提出,这些IBE方案的安全性往往建立在保证私钥绝对安全的基础上。然而,在诸如空天信息网络等开放环境中,对于应用在卫星等非安全设备上的IBE算法来说,私钥泄露将是一个不可避免的问题。实际上,对于攻击者来说,窃取合法用户的私钥比攻破IBE算法要简单得多。在绝大多数的IBE体制中,如果用户私钥被泄露,其安全性假设都将失效,整个加密系统的安全也将受到威胁。因此,私钥泄露成为威胁IBE系统最大的安全隐患。
令IBE算法满足前向安全可以有效降低上述由私钥泄露带来的损失,因为在公钥加密体制领域,前向安全的含义是:即使攻击者窃取了某合法用户当前时刻的私钥,该攻击者仍然无法对先前时刻发送给该用户的密文消息进行解密。前向安全的概念最初是由Gunther在密钥交换协议中提出的,之后Anderson提出了在非交互场景中实现前向安全的想法。1999年,Bellare和Miner提出了第一个实用的前向安全签名算法,之后各国学者相继提出了大量满足前向安全的签名算法。然而满足前向安全的加密方案却不是很多,直到2003年,Bellare和Yee提出了第一个满足前向安全的对称加密算法,同年Canetti、Halevi和Katz提出了第一个满足前向安全的公钥加密算法。在IBE体制领域,Yao、Fazio、Dodis和Lysyanskaya于2004年提出了第一个满足前向安全的分层IBE算法,但是该算法的计算复杂度较高,加解密效率较低,密文和私钥的长度均随时间片数的增加而增大;2011年,Yu、Kong、Cheng、Hao和Fan提出了一种密文较短的前向安全IBE算法,但是该算法仅仅满足选择明文安全;2012年,Lu和Li提出了一种构造前向安全IBE算法的通用模型,相应的算法虽然密文长度固定且满足选择密文安全,但是在解密过程中需要验证环节,效率较低。
基于以上考虑,本发明提出了一种满足前向安全的短密文身份基加密方法。在该方法中,密文更短且长度固定,加解密的计算开销更小,解密过程无需验证环节,效率更高,另外该方法满足自适应选择密文安全。本发明涉及的主要技术为分层身份基加密技术、二叉树加密技术、复合阶双线性群上的对称双线性映射。
分层身份基加密(Hierarchical Identity-Based Encryption,简称HIBE)是最初由Horwitz和Lynn于2002年提出的一种IBE方案。与一般的IBE体制不同的是,在HIBE中,用户是按层组织分布的,其身份信息(即公钥)与所处的层次有关,除了最底层用户外,每一层用户都可以为下一层用户分发私钥,从而降低了中央私钥生成机构的负担,也便于大型组织机构的管理。HIBE包含5个基本算法,即系统初始化、私钥生成算法、私钥导出算法、加密算法、解密算法。其基本过程如下:1)系统初始化:将安全参数k作为输入,输出公共参数PK和主密钥MK,其中公共参数PK用来生成和导出用户私钥以及加密消息,并公布给系统中的所有用户,主密钥MK用来生成最高层用户的私钥,并由中央私钥生成机构秘密保存。2)私钥生成算法:将公共参数PK、主密钥MK、第d层某用户的身份矢量I作为输入,输出该用户的私钥SKI。3)私钥导出算法:将公共参数PK、第d层某用户(假设其身份矢量为I)的私钥SKI、第d+1层某用户的第d+1层身份I作为输入,输出该第d+1层用户(其身份矢量为I:I)的私钥SKI:I。4)加密算法:将公共参数PK、明文M、第d层某用户的身份矢量I作为输入,输出密文C(只有身份矢量为I及其前缀的用户能够对该密文C进行解密)。5)解密算法:将公共参数PK、密文C和私钥SKI作为输入,如果该密文C对应的身份矢量I与该私钥SKI对应的身份矢量I相同,则输出正确明文M。注意,这里要求密文对应的身份矢量与解密私钥对应的身份矢量完全匹配,如果某用户/机构的身份矢量是密文身份矢量的前缀(即该用户的层次比密文指定接收者高),则该用户可以首先循环调用私钥导出算法,利用自己的私钥生成相应的解密私钥,然后再对密文进行解密。
二叉树加密(Binary Tree Encryption,BTE)可以看做是一种特殊的HIBE加密技术,最初由Canetti、Halevi和Katz于2003年提出。类似HIBE,BTE也包含一个树结构,且每个节点对应一个私钥,内部节点可以使用自己的私钥为子节点分发私钥。与HIBE唯一不同的是,BTE使用的树结构是二叉树,即一个内部节点w的子节点有且仅有2个,分别记做w0和w1。BTE包含5个基本算法:系统初始化、私钥生成算法、私钥导出算法、加密算法、解密算法。其基本过程如下:1)系统初始化:将安全参数k作为输入,输出公共参数PK和主密钥MK,其中公共参数PK用来生成和导出各节点私钥以及加密消息,并公布给系统中的各个节点,主密钥MK用来生成各BTE树的根节点私钥,并由私钥生成机构保管。2)私钥生成算法:将公共参数PK、主密钥MK、某个用户的身份id作为输入,输出该用户对应的BTE树Tid(假设其树深为l)的根私钥skid|ε。3)私钥导出算法:将公共参数PK、某个BTE树Tid的某个内部节点的标识id|ω∈{0,1}<l及其私钥skid|ω作为输入,输出2个子节点的私钥skid|ω0、skid|ω1。4)加密算法:将公共参数PK、指定解密者身份id及其对应的BTE树中的某个指定解密节点的标识id|ω∈{0,1}≤l、明文M作为输入,输出密文C(只有该指定节点id|ω能够对密文C进行解密)。5)解密算法:将公共参数PK、解密节点的标识id|ω∈{0,1}≤l及其私钥skid|ω、密文C作为输入,如果该密文C与该私钥skid|ω对应的节点标识相同,则该算法输出正确明文M。注意,这里要求密文与解密私钥对应的节点标识完全匹配,如果某节点的标识是密文指定节点标识的前缀(即该节点是密文指定节点的祖先节点),则该节点可以首先循环调用私钥导出算法,利用自己的私钥生成相应的解密私钥,然后再对密文进行解密。
复合阶双线性群上的对称双线性映射是双线性映射的一种。最初,双线性映射是作为一种攻击手段应用在密码学的安全性证明中的,2001年Boneh和Franklin首次将其应用于身份基加密体制中,后来越来越多的学者将双线性映射应用到密码学的协议和方案中。复合阶双线性群首先是由Boneh、Goh、Nissim于2005年提出的,相应的对称双线性映射的定义如下:设G0和G1为两个阶数均为q=p1p2p3的乘法循环群(其中p1、p2、p3分别是3个不同的素数),如果映射e:G0×G0=G1同时满足以下条件:1)双线性:对于a,b∈Zq,都有e(ua,vb)=e(u,v)ab;2)非退化性:使得e(g,g)在G1中的阶数为q;3)可计算性:对于存在计算e(u,v)的有效算法。那么,e就是一个复合阶双线性群上的对称双线性映射。另外,G0包含3个子群(各自的阶数分别为p1、p2、p3),这些子群满足正交性质:对于v∈Gpj(i≠j),都有e(u,v)=1。其证明过程如下:假设如果g是G的一个生成元,则是的生成元,是的生成元,是的生成元,因此有(其中α1,α2∈Zq),并且
(三)发明内容
(1)发明目的
本发明的目的是提出一种满足前向安全的短密文身份基加密方法。该方法可以用于解决身份基加密体制中由私钥泄密带来的安全问题,即使攻击者获得了某个合法用户当前时刻的私钥,但由于无法获得该用户先前时刻的私钥,攻击者仍然无法破解先前时刻发送给该用户的密文消息。另外,该方法具有抗自适应选择密文攻击的安全性能,以及密文长度固定、加解密计算开销小、解密过程无需验证等特点。
(2)技术方案
为了达到上述目的,本发明综合运用分层身份基加密技术、二叉树加密技术、复合阶双线性群上的对称双线性映射,其技术方案如下。
本发明公开一种满足前向安全的短密文身份基加密方法,它包含3个实体:1)私钥生成机构:根据系统安全参数产生公共参数和主密钥,并为系统中的所有用户生成与其身份相对应的初始私钥,其中公共参数公布给系统中的所有用户,主密钥由私钥生成机构秘密保存,初始私钥分发给相应的用户;2)加密者:使用公共参数、指定解密者身份信息和当前时间片标识对明文消息进行加密,并将得到的密文消息发送给指定的解密者;3)解密者:持有对应当前时间片及自身身份信息的私钥,当且仅当该私钥与密文包含的身份信息及时间片标识都匹配时,才能够对接收到的密文消息进行解密,得到正确的明文消息。
本发明分6个步骤执行,即私钥生成机构初始化、用户的注册与认证、初始私钥的生成与分发、私钥更新、加密、解密。以下将结合附图对所述的满足前向安全的短密文身份基加密方法进行阐述,图1为本发明的流程框图。
本发明一种满足前向安全的短密文身份基加密方法,其具体步骤如下:
步骤1:私钥生成机构初始化。私钥生成机构首先指定系统的时间片总数为N,然后根据系统安全参数k,生成公共参数PK和主密钥MK。其中,公共参数PK公布给系统中的所有用户;主密钥MK由私钥生成机构秘密保存。
步骤2:用户的注册与认证。系统中的所有用户都要对自己的身份信息进行注册,私钥生成机构对这些身份信息进行认证,然后分别建立与各个用户身份信息相对应的BTE树(其深度为满足的最小整数值),并按照某种树遍历方法,将系统的所有时间片标识与这些BTE树的各个节点进行关联。
步骤3:初始私钥的生成与分发。假设某用户的身份为id(这里假设id是某个整数值),在第1个时间片开始之前,私钥生成机构将公共参数PK、主密钥MK、该用户身份id作为输入,调用私钥生成算法,得到与该用户身份相对应的初始私钥SKid|0。私钥生成机构按照上述方式为系统中的所有用户生成与其身份相对应的初始私钥,并将其分发给相应的用户。
步骤4:私钥更新。假设当前时间片标识为i,某用户的身份为id(这里假设id是某个整数值),该用户持有的对应于当前时间片的私钥为SKid|i,在当前时间片的结束时刻,该用户将该私钥SKid|i、公共参数PK、当前时间片标识i及其对应的BTE树节点id|w(i)作为输入,调用私钥更新算法,得到对应于下一时间片的私钥SKid|i+1,最后删除SKid|i的解密成分。
步骤5:加密。加密者首先指定一个加密者身份,然后将明文M、公共参数PK、指定的解密者身份id、当前时间片标识u及其相应的BTE树节点id|w(u)作为输入,调用加密算法,得到对应于当前时间片的密文C(要求只有对应于身份id和当前时间片标识u的私钥才能对该密文C进行解密),并将该密文C发送给指定的解密者。
步骤6:解密。解密者接收到密文消息之后,使用对应于自身身份信息和当前时间片标识的私钥对该密文消息进行解密。如果解密者持有的私钥SKid|u对应的身份id和时间片标识u与接收到的密文C一致,则该解密者将密文C、自身身份id、解密私钥SKid|u作为输入,调用解密算法,得到正确的明文M。
其中,在步骤1中所述的“根据系统安全参数k,生成公共参数PK和主密钥MK”,其具体计算过程如下:
私钥生成机构首先选择2个复合阶乘法循环群G0和G1(其阶数均满足q=p1p2p3,且p1、p2、p3分别为3个不同的大素数,G的子群分别为),并且有复合阶双线性群上的对称双线性映射e:G0×G0=G1。然后随机选择g,α∈RZq,最后输出公共参数和主密钥MK=α。
其中,在步骤3中所述的“私钥生成机构将公共参数PK、主密钥MK、该用户身份id作为输入,调用私钥生成算法,得到与该用户身份相对应的初始私钥SKid|0”,其具体计算过程如下:
该算法首先随机选择rid,x0,x′0∈RZq,令得到与该用户身份id相对应的BTE树的根节点私钥为最后输出初始私钥SKid|0=skid|ε。
其中,在步骤4中所述的“该用户将该私钥SKid|i、公共参数PK、当前时间片标识i及其对应的BTE树节点id|w(i)作为输入,调用私钥更新算法,得到对应于下一时间片的私钥SKid|i+1,最后删除SKid|i的解密成分”,其具体计算过程如下:
这里分两种情况进行讨论,具体如下:
1)如果与当前时间片i相对应的BTE树节点id|w(i)是内部节点,则有以下两种情况:
①如果是id|w(i)根节点,即id|w(i)=id|ε,其对应的BTE私钥为 其中该算法先随机选择令计算相应BTE树中的两个子节点私钥分别为:
最后,输出对应于下一时间片的私钥SKid|i+1=SKid|1={skid|0,skid|1}。
②否则,假设其对应的BTE私钥为 其中 该算法先随机选择令并计算相应BTE树中两个子节点的私钥分别为:
最后,输出对应于下一时间片的私钥
2)如果与当前时间片i相对应的BTE树节点id|w(i)是叶节点,则该算法直接输出对应于下一时间片的私钥
其中,在步骤5中所述的“将明文M、公共参数PK、指定的解密者身份id、当前时间片标识u及其相应的BTE树节点id|w(u)作为输入,调用加密算法,得到对应于当前时间片的密文C(要求只有对应于身份id和当前时间片标识u的私钥才能对该密文C进行解密)”,其具体计算过程如下:
这里分两种情况进行讨论,具体如下:
1)如果与当前时间片u相对应的BTE树节点id|w(u)是根节点,即id|w(u)=id|ε,则该算法首先随机选择t∈RZq,然后输出密文:
C=<C0=M·e(g,g)α·t·id,C1=ht,C2=gt>
2)否则,假设则该算法首先随机选择t∈RZq,然后输出密文:
其中,在步骤6中所述的“将密文C、自身身份id、解密私钥SKid|u作为输入,调用解密算法,得到正确的明文M”,其具体计算过程如下:
令接收到的密文消息为C=<C0,C1,C2>,解密私钥SKid|u中的有效解密成分为<K1,K2)。该算法首先计算然后计算最后输出明文M。这里分两种情况进行讨论,具体如下:
1)如果与时间片u相对应的BTE树节点id|w(u)是根节点,即id|w(u)=id|ε,解密私钥SKid|u中的skid|u为其中rid∈RZq,R0,则:
2)否则,假设解密私钥SKid|u中的skid|u为其中则:
(3)优点及功效
本发明公开一种满足前向安全的短密文身份基加密方法,其优点和功效是:1)满足前向安全性质,用户私钥随时间的推移定期更新,攻击者即使在某一个时刻截获了某合法用户的私钥,也无法对之前时刻发送给该用户的密文消息进行解密,这可以有效减少私钥泄露带来的损失;2)用户可以自主更新私钥,这在一定程度上减少了私钥生成机构的负担;3)私钥生成机构无法获知用户更新后的私钥,即使私钥生成机构遭到攻击,也不会导致全网瘫痪,这在一定程度上增强了系统的健壮性;4)密文短,且长度固定,这使得发送密文消息时的通信开销较小;5)加密算法仅需3次指数运算和1次乘法运算,解密算法仅需2次双线性对运算和2次除法运算,计算开销小,另外解密过程无需验证环节,加解密速度快,效率高;6)能够抵抗自适应选择密文攻击,安全性高。
(四)附图说明
图1本发明的流程框图。
图中符号说明如下:
在图1中,SKid|i代表对应于身份id和第i个时间片的私钥,SKid|i+1代表对应于身份id和第i+1个时间片的私钥,M代表明文,C代表密文。
(五)具体实施方式
以下将结合附图对所述的满足前向安全的短密文身份基加密方法进行详细阐述。本发明共分为6个步骤,即私钥生成机构初始化、用户的注册与认证、初始私钥的生成与分发、私钥更新、加密、解密,见图1,该方法具体步骤如下:
步骤1:私钥生成机构初始化。私钥生成机构首先指定系统的时间片总数为N,然后根据系统安全参数k,选择2个复合阶乘法循环群G0和G1(其阶数均满足q=p1p2p3,且p1、p2、p3分别为3个不同的大素数,G的子群分别为),并且有复合阶双线性群上的对称双线性映射e:G0×G0=G1,之后随机选择g,最后得到:公共参数和主密钥MK=α。其中,公共参数PK公布给系统中的所有用户;主密钥MK由私钥生成机构秘密保存。
步骤2:用户的注册与认证。系统中的所有用户都要对自己的身份信息进行注册,私钥生成机构对这些身份信息进行认证,然后分别建立与各个用户身份信息相对应的BTE树(其深度为满足的最小整数值),并按照某种树遍历方法,将系统的所有时间片标识与这些BTE树的各个节点进行关联。
步骤3:初始私钥的生成与分发。假设某用户的身份为id(这里假设id是某个整数值),在第1个时间片开始之前,私钥生成机构将公共参数PK、主密钥MK、该用户身份id作为输入,调用私钥生成算法。该算法首先随机选择rid,x0,x′0∈RZq,令得到与该用户身份id相对应的BTE树的根节点私钥为最后得到:与该用户身份id相对应的初始私钥SKid|0=skid|ε。私钥生成机构按照上述方式为系统中的所有用户生成与其身份相对应的初始私钥,并将其分发给相应的用户。
步骤4:私钥更新。假设当前时间片标识为i,某用户的身份为id(这里假设id是某个整数值),该用户持有的对应于当前时间片的私钥为SKid|i。在当前时间片的结束时刻,该用户将该私钥SKid|i、公共参数PK、当前时间片i对应的BTE树节点的标识id|w(i)作为输入,调用私钥更新算法,这里分两种情况进行讨论,具体如下:
1)如果与当前时间片i相对应的BTE树节点id|w(i)是内部节点,则有以下两种情况:
①如果是id|w(i)根节点,即id|w(i)=id|ε,其对应的BTE私钥为 其中该算法先随机选择令计算该BTE树中的两个子节点私钥分别为:
输出对应于下一时间片的私钥SKid|i+1=SKid|1={skid|0,skid|1}。
②否则,假设其对应的BTE私钥为 其中 该算法先随机选择令并计算该BTE树中两个子节点的私钥分别为:
输出对应于下一时间片的私钥
2)如果与当前时间片i相对应的BTE树节点id|w(i)是叶节点,则该算法直接输出对应于下一时间片的私钥
系统中的所有用户都按照上述方式对自己的私钥进行定期更新,并且更新后得到的新私钥不包含旧私钥的解密成分。
步骤5:加密。加密者将明文M、公共参数PK、指定的解密者身份id、当前时间片标识u对应的BTE树节点的标识id|w(u)作为输入,调用加密算法,这里分两种情况进行讨论,具体如下:
1)如果与当前时间片u相对应的BTE树节点id|w(u)是根节点,即id|w(u)=id|ε,该算法首先随机选择t∈RZq,然后输出密文:
C=<C0=M·e(g,g)α·t·id,C1=ht,C2=gt>
2)否则,假设该算法首先随机选择t∈RZq,然后输出密文:
最后得到:对应于当前时间片u的密文C(这里只有对应于身份id和当前时间片标识u的私钥才能对该密文C进行解密)。之后,加密者将该密文C发送给指定的解密者。
步骤6:解密。解密者接收到密文C后,将密文C、自身身份id、当前时间片标识u、解密私钥SKid|u作为输入,调用解密算法。令接收到的密文消息为C=<C0,C1,C2>,解密私钥SKid|u中的有效解密成分为<K1,k2>。如果解密者持有的私钥SKid|u对应的身份id和时间片标识u与密文C一致,则该算法首先计算然后输出明文否则,该算法输出⊥。
Claims (5)
1.一种满足前向安全的短密文身份基加密方法,其特征在于:其具体步骤如下:
步骤1 私钥生成机构初始化:私钥生成机构首先指定系统的时间片总数为N,然后根据系统安全参数κ,生成公共参数PK和主密钥MK;其中,公共参数PK公布给系统中的所有用户;主密钥MK由私钥生成机构秘密保存;
步骤2 用户的注册与认证:系统中的所有用户都要对自己的身份信息进行注册,私钥生成机构对这些身份信息进行认证,然后分别建立与各个用户身份信息相对应的BTE树,其深度l为满足N≤2l+1-1的最小整数值,并按照某种树遍历方法,将系统的所有时间片标识与这些BTE树的各个节点进行关联;
步骤3 初始私钥的生成与分发:假设某用户的身份为id,设id是某个整数值,在第1个时间片开始之前,私钥生成机构将公共参数PK、主密钥MK、该用户身份id作为输入,调用私钥生成算法,得到与该用户身份相对应的初始私钥SKid|0;私钥生成机构按照上述方式为系统中的所有用户生成与其身份相对应的初始私钥,并将其分发给相应的用户;
步骤4 私钥更新:假设当前时间片标识为i,某用户的身份为id,设id是某个整数值,该用户持有的对应于当前时间片的私钥为SKid|i,在当前时间片的结束时刻,该用户将该私钥SKid|i、公共参数PK、当前时间片标识i及其对应的BTE树节点id|w(i)作为输入,调用私钥更新算法,得到对应于下一时间片的私钥SKid|i+1,最后删除SKid|i的解密成分;
步骤5 加密:加密者首先指定一个加密者身份,然后将明文M、公共参数PK、指定的解密者身份id、当前时间片标识u及其相应的BTE树节点id|w(u)作为输入,调用加密算法,得到对应于当前时间片的密文C,要求只有对应于身份id和当前时间片标识u的私钥才能对该密文C进行解密,并将该密文C发送给指定的解密者;
步骤6 解密:解密者接收到密文消息之后,使用对应于自身身份信息和当前时间片标识的私钥对该密文消息进行解密;如果解密者持有的私钥SKid|u对应的身份id和时间片标识u与接收到的密文C一致,则该解密者将密文C、自身身份id、解密私钥SKid|u作为输入,调用解密算法,得到正确的明文M;
在步骤4中所述的该用户将该私钥SKid|i、公共参数PK、当前时间片标识i及其对应的BTE树节点id|w(i)作为输入,调用私钥更新算法,得到对应于下一时间片的私钥SKid|i+1,最后删除SKid|i的解密成分,其具体计算过程如下:
这里分两种情况进行讨论,具体如下:
1)如果与当前时间片i相对应的BTE树节点id|w(i)是内部节点,则有以下两种情况:
①如果是id|w(i)根节点,即id|w(i)=id|ε,其对应的BTE私钥为其中该算法先随机选择s,x0,1,x′0,1,x2,1,…,xl,1∈RZq,令计算相应BTE树中的两个子节点私钥分别为:
<mrow>
<msub>
<mi>sk</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
<mo>|</mo>
<mn>0</mn>
</mrow>
</msub>
<mo>=</mo>
<mo><</mo>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>1</mn>
</msub>
<msup>
<mi>g</mi>
<mi>s</mi>
</msup>
<msub>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>2</mn>
</msub>
<msup>
<mi>h</mi>
<mi>s</mi>
</msup>
<msubsup>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msub>
<mi>E</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msubsup>
<mi>u</mi>
<mn>2</mn>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mn>2</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>E</mi>
<mi>l</mi>
</msub>
<mo>=</mo>
<msubsup>
<mi>u</mi>
<mi>l</mi>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mi>l</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>></mo>
</mrow>
<mrow>
<msub>
<mi>sk</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
<mo>|</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mo><</mo>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>1</mn>
</msub>
<msup>
<mi>g</mi>
<mi>s</mi>
</msup>
<msub>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>2</mn>
</msub>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<mi>s</mi>
</msubsup>
<msup>
<mi>h</mi>
<mi>s</mi>
</msup>
<msubsup>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msub>
<mi>E</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msubsup>
<mi>u</mi>
<mn>2</mn>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mn>2</mn>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>E</mi>
<mi>l</mi>
</msub>
<mo>=</mo>
<msubsup>
<mi>u</mi>
<mi>l</mi>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mi>l</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>></mo>
</mrow>
最后,输出对应于下一时间片的私钥SKid|i+1=SKid|1={skid|0,skid|1};
②否则,假设id|w(i)=id|w1…wk∈{0,1}k<l,其对应的BTE私钥为
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>sk</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
<mo>|</mo>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
<mn>...</mn>
<msub>
<mi>w</mi>
<mi>k</mi>
</msub>
</mrow>
</msub>
<mo>=</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo><</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>1</mn>
</msub>
<mo>=</mo>
<msup>
<mi>g</mi>
<mover>
<mi>r</mi>
<mo>~</mo>
</mover>
</msup>
<msub>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>2</mn>
</msub>
<mo>=</mo>
<msup>
<mi>g</mi>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>k</mi>
<msub>
<mi>w</mi>
<mi>k</mi>
</msub>
</msubsup>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mover>
<mi>r</mi>
<mo>~</mo>
</mover>
</msup>
<msubsup>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msub>
<mover>
<mi>E</mi>
<mo>~</mo>
</mover>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>u</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mover>
<mi>r</mi>
<mo>~</mo>
</mover>
</msubsup>
<msub>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<msub>
<mover>
<mi>E</mi>
<mo>~</mo>
</mover>
<mi>l</mi>
</msub>
<mo>=</mo>
<msubsup>
<mi>u</mi>
<mi>l</mi>
<mover>
<mi>r</mi>
<mo>~</mo>
</mover>
</msubsup>
<msub>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mrow>
<mi>l</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo>></mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>,</mo>
</mrow>
其中该算法先随机选择s,x0,k+1,x′0,k+1,xk+2,k+1,…,xl,k+1∈RZq,令 并计算相应BTE树中两个子节点的私钥分别为:
<mrow>
<msub>
<mi>sk</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
<mo>|</mo>
<msup>
<mi>w</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
</msup>
<mn>0</mn>
</mrow>
</msub>
<mo>=</mo>
<mo><</mo>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>1</mn>
</msub>
<msup>
<mi>g</mi>
<mi>s</mi>
</msup>
<msub>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>2</mn>
</msub>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>k</mi>
<msub>
<mi>w</mi>
<mi>k</mi>
</msub>
</msubsup>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mi>s</mi>
</msup>
<msubsup>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
</mrow>
<mrow>
<msub>
<mi>E</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>E</mi>
<mo>~</mo>
</mover>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
</mrow>
</msub>
<msubsup>
<mi>u</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>E</mi>
<mi>l</mi>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>E</mi>
<mo>~</mo>
</mover>
<mi>l</mi>
</msub>
<msubsup>
<mi>u</mi>
<mi>l</mi>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mi>l</mi>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>></mo>
</mrow>
<mrow>
<msub>
<mi>sk</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
<mo>|</mo>
<msup>
<mi>w</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>)</mo>
</mrow>
</msup>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mo><</mo>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>1</mn>
</msub>
<msup>
<mi>g</mi>
<mi>s</mi>
</msup>
<msub>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>K</mi>
<mo>~</mo>
</mover>
<mn>2</mn>
</msub>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>k</mi>
<msub>
<mi>w</mi>
<mi>k</mi>
</msub>
</msubsup>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mi>s</mi>
</msup>
<msub>
<mover>
<mi>E</mi>
<mo>~</mo>
</mover>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<msubsup>
<mi>u</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mi>s</mi>
</msubsup>
<msubsup>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
</mrow>
<mrow>
<msub>
<mi>E</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>E</mi>
<mo>~</mo>
</mover>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
</mrow>
</msub>
<msubsup>
<mi>u</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
</mrow>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>E</mi>
<mi>l</mi>
</msub>
<mo>=</mo>
<msub>
<mover>
<mi>E</mi>
<mo>~</mo>
</mover>
<mi>l</mi>
</msub>
<msubsup>
<mi>u</mi>
<mi>l</mi>
<mi>s</mi>
</msubsup>
<msub>
<mi>R</mi>
<mrow>
<mi>l</mi>
<mo>,</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>></mo>
</mrow>
最后,输出对应于下一时间片的私钥
2)如果与当前时间片i相对应的BTE树节点id|w(i)是叶节点,则该算法直接输出对应于下一时间片的私钥
2.根据权利要求1所述的一种满足前向安全的短密文身份基加密方法,其特征在于:在步骤1中所述的根据系统安全参数κ,生成公共参数PK和主密钥MK,其具体计算过程如下:
私钥生成机构首先选择2个复合阶乘法循环群G0和G1,并且有复合阶双线性群上的对称双线性映射e:G0×G0=G1;然后随机选择 α∈RZq,最后输出公共参数PK={N,q,g,h,u1,…,ul,X3,e(g,g)α}和主密钥MK=α;阶数均满足q=p1p2p3,且p1、p2、p3分别为3个不同的大素数,G的子群分别为
3.根据权利要求1所述的一种满足前向安全的短密文身份基加密方法,其特征在于:在步骤3中所述的私钥生成机构将公共参数PK、主密钥MK、该用户身份id作为输入,调用私钥生成算法,得到与该用户身份相对应的初始私钥SKid|0,其具体计算过程如下:
该算法首先随机选择rid,x0,x′0∈RZq,令得到与该用户身份id相对应的BTE树的根节点私钥为最后输出初始私钥SKid|0=skid|ε。
4.根据权利要求1所述的一种满足前向安全的短密文身份基加密方法,其特征在于:在步骤5中所述的将明文M、公共参数PK、指定的解密者身份id、当前时间片标识u及其相应的BTE树节点id|w(u)作为输入,调用加密算法,得到对应于当前时间片的密文C,要求只有对应于身份id和当前时间片标识u的私钥才能对该密文C进行解密,其具体计算过程如下:
这里分两种情况进行讨论,具体如下:
1)如果与当前时间片u相对应的BTE树节点id|w(u)是根节点,即id|w(u)=id|ε,则该算法首先随机选择t∈RZq,然后输出密文:
C=<C0=M·e(g,g)α·t·id,C1=ht,C2=gt>
2)否则,假设id|w(u)=id|w1…wj∈{0,1}j≤l,则该算法首先随机选择t∈RZq,然后输出密文:
<mrow>
<mi>C</mi>
<mo>=</mo>
<mo><</mo>
<msub>
<mi>C</mi>
<mn>0</mn>
</msub>
<mo>=</mo>
<mi>M</mi>
<mo>&CenterDot;</mo>
<mi>e</mi>
<msup>
<mrow>
<mo>(</mo>
<mi>g</mi>
<mo>,</mo>
<mi>g</mi>
<mo>)</mo>
</mrow>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>t</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<mo>,</mo>
<msub>
<mi>C</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mo>...</mo>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
</msubsup>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mi>t</mi>
</msup>
<mo>,</mo>
<msub>
<mi>C</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>></mo>
<mo>.</mo>
</mrow>
5.根据权利要求4所述的一种满足前向安全的短密文身份基加密方法,其特征在于:所述的将密文C、自身身份id、解密私钥SKid|u作为输入,调用解密算法,得到正确的明文M,其具体计算过程如下:
令接收到的密文消息为C=<C0,C1,C2>,解密私钥SKid|u中的有效解密成分为<K1,K2>,该算法首先计算然后计算最后输出明文M;这里分两种情况进行讨论,具体如下:
1)如果与时间片u相对应的BTE树节点id|w(u)是根节点,即id|w(u)=id|ε,解密私钥SKid|u中的skid|u为其中rid∈RZq,则:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mfrac>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>=</mo>
<mfrac>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<msup>
<mi>h</mi>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msub>
</msup>
<msubsup>
<mi>R</mi>
<mn>0</mn>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msub>
</msup>
<msub>
<mi>R</mi>
<mn>0</mn>
</msub>
<mo>,</mo>
<msup>
<mi>h</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>h</mi>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msub>
</msup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msubsup>
<mi>R</mi>
<mn>0</mn>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<msub>
<mi>r</mi>
<mrow>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msub>
</msup>
<mo>,</mo>
<msup>
<mi>h</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mn>0</mn>
</msub>
<mo>,</mo>
<msup>
<mi>h</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mi>e</mi>
<msup>
<mrow>
<mo>(</mo>
<mi>g</mi>
<mo>,</mo>
<mi>g</mi>
<mo>)</mo>
</mrow>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>t</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<mo>;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
2)否则,假设id|w(u)=id|w1…wj∈{0,1}j≤l,解密私钥SKid|u中的skid|u为
其中r∈RZq,则:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mfrac>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>K</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>K</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<msub>
<mi>C</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>=</mo>
<mfrac>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
</msubsup>
<mi>h</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>r</mi>
</msup>
<msubsup>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<mi>r</mi>
</msup>
<msub>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
</msubsup>
<mi>h</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
</msubsup>
<mi>h</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>r</mi>
</msup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msubsup>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
<mo>&prime;</mo>
</msubsup>
<mo>,</mo>
<msup>
<mi>g</mi>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msup>
<mi>g</mi>
<mi>r</mi>
</msup>
<mo>,</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
</msubsup>
<mi>h</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
<mi>e</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mrow>
<mn>0</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>,</mo>
<msup>
<mrow>
<mo>(</mo>
<mrow>
<msubsup>
<mi>u</mi>
<mn>1</mn>
<msub>
<mi>w</mi>
<mn>1</mn>
</msub>
</msubsup>
<mn>...</mn>
<msubsup>
<mi>u</mi>
<mi>j</mi>
<msub>
<mi>w</mi>
<mi>j</mi>
</msub>
</msubsup>
<mi>h</mi>
</mrow>
<mo>)</mo>
</mrow>
<mi>t</mi>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mi>e</mi>
<msup>
<mrow>
<mo>(</mo>
<mi>g</mi>
<mo>,</mo>
<mi>g</mi>
<mo>)</mo>
</mrow>
<mrow>
<mi>&alpha;</mi>
<mo>&CenterDot;</mo>
<mi>t</mi>
<mo>&CenterDot;</mo>
<mi>i</mi>
<mi>d</mi>
</mrow>
</msup>
<mo>.</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510158202.3A CN104796260B (zh) | 2015-04-03 | 2015-04-03 | 一种满足前向安全的短密文身份基加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510158202.3A CN104796260B (zh) | 2015-04-03 | 2015-04-03 | 一种满足前向安全的短密文身份基加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104796260A CN104796260A (zh) | 2015-07-22 |
CN104796260B true CN104796260B (zh) | 2018-03-02 |
Family
ID=53560791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510158202.3A Active CN104796260B (zh) | 2015-04-03 | 2015-04-03 | 一种满足前向安全的短密文身份基加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104796260B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450396B (zh) * | 2016-01-11 | 2017-03-29 | 长沙市迪曼森信息科技有限公司 | 一种无证书的组合密钥产生及应用方法 |
CN111931249B (zh) * | 2020-09-22 | 2021-01-08 | 西南石油大学 | 支持传输容错机制的医疗密态数据统计分析方法 |
CN113259093B (zh) * | 2021-04-21 | 2022-03-25 | 山东大学 | 基于身份基加密的层级签名加密系统与构建方法 |
CN113346998B (zh) * | 2021-08-06 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 密钥更新及文件共享方法、装置、设备、计算机存储介质 |
CN116599757B (zh) * | 2023-06-16 | 2024-01-26 | 长沙学院 | 一种去中心化的前向安全身份基加密方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347835A (zh) * | 2010-07-30 | 2012-02-08 | 索尼公司 | 更新私钥的方法及设备、获得会话密钥的方法和通信设备 |
CN103986574A (zh) * | 2014-05-16 | 2014-08-13 | 北京航空航天大学 | 一种基于身份的分层广播加密方法 |
-
2015
- 2015-04-03 CN CN201510158202.3A patent/CN104796260B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347835A (zh) * | 2010-07-30 | 2012-02-08 | 索尼公司 | 更新私钥的方法及设备、获得会话密钥的方法和通信设备 |
CN103986574A (zh) * | 2014-05-16 | 2014-08-13 | 北京航空航天大学 | 一种基于身份的分层广播加密方法 |
Non-Patent Citations (1)
Title |
---|
"前向安全的基于身份加密方案";杨浩淼等;《电子科技大学学报》;20070723;534-536 * |
Also Published As
Publication number | Publication date |
---|---|
CN104796260A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zuo et al. | Fine-grained two-factor protection mechanism for data sharing in cloud storage | |
US7657037B2 (en) | Apparatus and method for identity-based encryption within a conventional public-key infrastructure | |
Li et al. | A2BE: Accountable attribute-based encryption for abuse free access control | |
Lin et al. | A collaborative key management protocol in ciphertext policy attribute-based encryption for cloud data sharing | |
CN104796260B (zh) | 一种满足前向安全的短密文身份基加密方法 | |
CN109873699B (zh) | 一种可撤销的身份公钥加密方法 | |
CN111277412B (zh) | 基于区块链密钥分发的数据安全共享系统及方法 | |
CN104767612A (zh) | 一种从无证书环境到公钥基础设施环境的签密方法 | |
CN104767611B (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
Blake et al. | Scalable, server-passive, user-anonymous timed release public key encryption from bilinear pairing | |
CN107086912B (zh) | 一种异构存储系统中的密文转换方法、解密方法及系统 | |
CN106713349B (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
Wei et al. | Remove key escrow from the BF and Gentry identity-based encryption with non-interactive key generation | |
Li et al. | An efficient and anonymous attribute-based group setup scheme | |
Moriyama et al. | A fully secure spatial encryption scheme | |
Kim et al. | Broadcast proxy reencryption based on certificateless public key cryptography for secure data sharing | |
Kalyani et al. | New Hierarchical Identity Based Encryption with maximum hierarchy. | |
Negalign et al. | Outsourced attribute-based signcryption in the cloud computing | |
CN109412815B (zh) | 一种实现跨域安全通信的方法和系统 | |
Mishra et al. | A certificateless authenticated key agreement protocol for digital rights management system | |
CN112733176A (zh) | 基于全域哈希的标识密码加密方法 | |
Weber | Designing a hybrid attribute-based encryption scheme supporting dynamic attributes | |
Li et al. | An efficient hierarchical identity-based encryption scheme for the key escrow | |
CN111934887A (zh) | 基于插值多项式的多接受者签密方法 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |