CN103973449A - 可证明安全的基于属性的在线/离线加密方法 - Google Patents

可证明安全的基于属性的在线/离线加密方法 Download PDF

Info

Publication number
CN103973449A
CN103973449A CN201410167043.9A CN201410167043A CN103973449A CN 103973449 A CN103973449 A CN 103973449A CN 201410167043 A CN201410167043 A CN 201410167043A CN 103973449 A CN103973449 A CN 103973449A
Authority
CN
China
Prior art keywords
line
attribute
ciphertext
key
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.)
Granted
Application number
CN201410167043.9A
Other languages
English (en)
Other versions
CN103973449B (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.)
Beijing Future Cloud Technology Co ltd
Original Assignee
Nantong 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 Nantong University filed Critical Nantong University
Priority to CN201410167043.9A priority Critical patent/CN103973449B/zh
Publication of CN103973449A publication Critical patent/CN103973449A/zh
Application granted granted Critical
Publication of CN103973449B publication Critical patent/CN103973449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了两种基于属性的在线/离线加密(ABOOE)方法,包括具有选择明文安全和选择密文安全的ABOOE方法,将基于属性加密(ABE)的加密过程分解成离线和在线两个阶段:离线阶段在不知明文和所需属性集合的前提下,对加密所需复杂计算进行预处理;然后,在线阶段获知消息和属性集合后,仅需少量简单计算即可生成密文。本发明提供基于属性的在线/离线密钥封装机制(ABOOKEM)的构建方法和相应方案,并构造出将单向性ABOOKEM转化成CCA安全ABOOE的通用方法。该方法在不增加计算量的前提下有效提高了ABOOE的安全性。本发明的ABOOE提高了ABE的加密效率,适用于计算能力高度受限的终端设备。

Description

可证明安全的基于属性的在线/离线加密方法
技术领域
本发明涉及基于属性的在线/离线加密(ABOOE)方法,包括具有选择明文攻击安全(CPA)和选择密文攻击安全(CCA)的ABOOE方法,此外涉及包括基于属性的在线/离线密钥封装机制(ABOOKEM)的构造方法和一种将单向性ABOOKEM转化成选择密文安全的ABOOE的构造方法。
背景技术
2005年由Sahai和Waters在欧密会上首先提出了基于属性的加密(ABE)机制。在该ABE中,用属性标识用户的特征信息(例如,学生具有院系、专业、学生类别等属性),授权中心根据用户具有的属性为其颁发私钥,加密者使用一组属性公钥以预定门限值进行加密,用户能够解密密文当且仅当该用户的属性集与密文属性集的交集不小于系统设定的门限参数。该ABE仅能实现门限访问控制策略。为了支持更加灵活的访问控制策略,2006年Goyal等人在ACM CCS上提出密钥策略的ABE方案(KP-ABE),实现了对密文的细粒度访问控制。在KP-ABE中,授权中心根据用户的访问策略为其颁发私钥,密文与一组属性相关,只有密文的属性满足用户私钥的访问策略时,才能解密密文。2007年,Bethencourt等人提出密文策略的ABE方案(CP-ABE)。在CP-ABE中,用户密钥与属性集相关,密文与访问结构相关。
由于ABE能够在密文中灵活地表示访问控制策略,从而极大地降低了数据共享细粒度访问控制带来的网络带宽和加密节点的计算开销。因此,ABE在无线传感网、云存储等细粒度访问控制领域得到广泛应用。特别地,在分布式无线传感网中,传感器收集敏感数据并将其传送给基站,为了确保将敏感数据安全地传送给所有授权用户,Hur和Yu等人利用KP-ABE构造了适用于分布式无线传感网的数据共享细粒度访问控制方案。然而,上述方案的加密过程仍然需要执行幂乘等复杂计算。由于轻量级设备(例如无线传感器和智能卡等)计算能力非常有限,在短时间内完成加密请求的复杂计算几乎是不可能的。因此,为了提高加密的效率,在得知消息和属性集合之前,对加密所需复杂计算进行预处理是非常有必要的,一旦获知消息和属性集合,真实的加密过程将可以快速完成。
在线/离线密码机制是一种有效地提高签名或加密效率的密码学技术。1989年由Even等人首次提出了在线/离线签名机制。但直到2008年才由Guo等人首次提出了基于身份的在线/离线加密机制(IBOOE),与在线/离线签名相类似,该方案巧妙地将加密过程划分成离线和在线两个阶段:首先,离线阶段无需得知消息和接收者身份,对加密所需的复杂计算进行预处理;然后,在线阶段获知明文和接收者身份信息后,仅需执行少量简单计算,即可生成密文。因此,在线/离线密码技术尤其适合于计算能力有限的传感器和智能卡等终端设备。在ASIA CCS2011会议上,Chow等人[8]改进了IBOOE方案,提高了在线加密算法的效率,缩短了密文的长度。与此同时,Chow等人也提出了新的问题,即能否构建可证明安全的基于属性的在线/离线加密机制。
发明内容
针对基于属性加密(ABE)机制的加密过程必须执行幂乘等复杂计算,使得该机制很难适用于计算能力高度受限的设备,本发明的目的是提供适合于轻量级设备且可证明安全的基于属性的在线/离线加密方法。
本发明的一方面,提供具有选择明文安全的基于属性的在线/离线加密方法,将全部属性划分成少量的n类,每类属性拥有一个共同的属性公钥,且每个属性对应Zp中的一个元素。首先,离线加密为每类属性选择一个随机数,计算该随机属性的离线子密文,并存储一些辅助信息。然后,在线加密在得知消息和属性集合后,利用离线密文计算Zp中的若干个整数(实现了从随机属性到指定属性的有效转化),即可快速生成给定消息和属性集合下的密文。该加密方法将由计算性能强的计算机设备和计算能力弱的轻量级设备共同完成,包括以下步骤:授权机构根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,选择属性类型数目个哈希函数,首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥;客户输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥;加密阶段分为离线加密和在线加密两个阶段:首先利用计算能力强的计算设备定期执行离线加密阶段,首先选择一个随机数,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,输出离线密文;然后,加密者利用轻量级设备执行在线加密阶段,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算,得到消息对应密文;解密者根据自己私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,然后计算密文中关键盲化数据,利用哈希函数族中相应的哈希函数和密文中的数据恢复消息,获得明文。
本发明的另一方面,提供具有选择密文安全的基于属性的在线/离线加密方法,将全部属性划分成少量的n类,每类属性拥有一个共同的属性公钥,且每个属性对应Zp中的一个元素。首先,离线加密为每类属性选择一个随机数,计算该随机属性的离线子密文,并存储一些辅助信息。然后,在线加密在得知消息和属性集合后,利用离线密文计算Zp中的若干个整数(实现了从随机属性到指定属性的有效转化),即可快速生成给定消息和属性集合下的密文。该加密方法将由计算性能强的计算机设备和计算能力弱的轻量级设备共同完成,包括以下步骤:授权机构根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,选择两个哈希函数,它们将任意字符串映射到合适的域上;首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥。客户输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥。加密阶段分为离线加密和在线加密两个阶段:首先利用计算能力强的计算设备定期执行离线加密阶段,首先选择一个随机数r,计算会话密钥K。然后,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,生成离线数据Γ,输出离线密文(Γ,K,r)。注意:该离线加密阶段是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同。然后,加密者利用轻量级设备执行在线加密阶段,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算得到C1,利用系统中选择的两个哈希函数计算 C 2 = H ( K , C 1 , m ) ⊕ r , C 3 = H ′ ( K , C 1 ) ⊕ m , 得到消息对应密文CT=(C1,C2,C3)。解密者根据自己私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,计算出密文中会话密钥K,然后计算消息m,利用该消息m、K、C1和哈希函数H,计算出K',若K'=K,获得消息m,否则解密失败。
本发明的另一方面,提供一种单向性基于属性的在线/离线密钥封装机制,包括以下内容:授权机构根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥。客户输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥。密钥封装阶段分为离线密钥封装和在线密钥封装两个阶段:首先利用计算能力强的计算设备定期执行离线密钥封装阶段,首先选择一个随机数r,计算会话密钥K。然后,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,生成离线数据Γ,输出离线密文(Γ,K)。注意:该离线密钥封装阶段是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同。然后,加密者利用轻量级设备执行在线密钥封装阶段,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算得到消息对应密文。密钥解封装算法根据客户私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,计算出密文中会话密钥K,否则解封装失败。
本发明的另一方面,提供一种将单向性基于属性的在线/离线密钥封装机制(ABOOKEM)转化成选择密文安全的基于属性在线/离线加密(ABOOE)的构造方法,包括以下步骤:授权机构执行与ABOOKEM中初始化系统相同的操作,此外,需增加两个哈希函数H,H',它们将任意字符串映射到合适的域上。客户私钥生成过程与ABOOKEM的客户私钥生成过程相同。离线加密阶段:选择一个随机数r,利用ABOOKEM的离线密钥封装过程计算出(Γ,K),输出离线密文Δ=(Γ,K,r)。注意:该算法是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同。在线加密阶段:加密者首先执行ABOOKEM的在线密钥封装过程,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算,利用系统中选择的两个哈希函数计算 C 2 = H ( K , C 1 , m ) ⊕ r , C 3 = H ′ ( K , C 1 ) ⊕ m , 得到消息对应密文CT=(C1,C2,C3)。解密者根据自己私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先执行ABOOKEM的解封装过程,计算出密文中会话密钥K,然后计算消息m,利用该消息m、K、C1和哈希函数H,计算出K',若K'=K,获得消息m,否则解密失败。
本发明针对现有的基于属性加密(ABE)系统中,由于采用布尔属性描述用户,使得属性个数较多,如果对每个属性都进行预处理,则生成的离线密文长度过大,轻量级设备很难承受。针对这个问题,本发明采用非布尔属性描述用户,根据用户具有的特征信息将所有属性划分成少量的n类,每类属性拥有一个共同的属性公钥。离线阶段对每类属性进行预处理,生成相应的离线子密文,离线密文由这n个子密文构成。当得知消息和属性集合后,在线阶段利用离线密文快速生成相应的密文。本发明利用Sakai等人提出基于身份的加密方案[9],构造出一个具体的CPA安全的ABOOE方案。
本发明的这些实施方法克服了ABE机制的加密过程必须执行幂乘等复杂计算,使得该机制很难适用于计算能力高度受限设备的问题。为了提高加密的效率,本发明将在线/离线密码技术引入到ABE中,提出基于属性的在线/离线加密(ABOOE)方法。ABOOE将加密过程非平凡地分解成离线和在线两个阶段:首先离线阶段在不知明文和所需属性集合的前提下,对复杂计算进行预处理;然后,在线阶段获知消息和属性集合后,仅需少量简单计算即可生成密文。本发明首先构建出一个CPA安全的ABOOE方案。为了提高ABOOE的安全性,提出基于属性的在线/离线密钥封装机制(ABOOKEM)和一个相应方案,并构造出一种将单向性ABOOKEM转化成CCA安全ABOOE的通用性方法。该方法在不增加计算量的前提下有效提高了ABOOE的安全性。
表1本文ABOOE方案与知名ABE方案的性能比较
此外,表1将本发明的2个ABOOE方案和知名ABE方案在效率和安全模型方面进行详细比较,其中,E表示群的幂乘运算,M表示群的乘法运算,P表示双线性对运算,mc表示域Zp中的模运算,|ω|表示集合ω中属性的个数,表示群中元素的长度,表示群中元素的长度,d是基本ABE[1]的门限值。|S|表示满足树状访问结构的最小中间结点个数,或LSSS中访问结构的最小属性个数。ABOOE-Ⅰ和ABOOE-Ⅱ分别表示本文提出的第一个和第二个ABOOE方案。本发明的ABOOE方案成功地将KP-ABE的加密过程分解成离线加密和在线加密,使得在线加密只需少量的Zp中模运算即可生成密文。由于Zp中的模运算比群中的幂乘运算快很多倍,这对于计算能力受限的轻量级设备是至关重要的。此外,解密过程的运算量没有过多额外的增加。虽然本文的ABOOE方案需要预存一定量的离线密文,而且密文长度也有所增加,但现有轻量级设备的存储能力足以满足这种需求,因此,ABOOE方案特别适合于轻量级设备收集敏感数据。本发明ABOOE方案是在随机预言机模型下可证明安全的,理论上讲,随机模型下的加密方案不如标准模型下加密方案的安全性高,但此类方案的安全性仍然是可以接受的。特别在效率要求严格的场景中,随机模型下高效的加密方案将是一个更好的选择。
下面结合实例对本发明作进一步说明。
具体实施方式
1.首先介绍与本发明方法相关基础知识的定义,主要包括
对称双线性对定义:令是阶为大素数p的乘法循环群,g是的生成元,若存在一个映射e:满足如下条件:⑴双线性:对于 e(ua,vb)=e(u,v)ab;⑵非退化性:e(g,g)≠1;⑶可计算性:存在有效的算法在多项式时间内计算e(u,v);那么称上述映射e为一个对称的双线性对。
l-DBDHI假设定义:l-DBDHI问题在上定义为:随机选择α∈Zp *,g是的生成元,给定一个(l+2)元组 判定T的值是否为e(g,g)1/α。如果对于任意概率多项式时间(PPT)算法上解决l-DBDHI问题的优势均是可忽略的,则称l-DBDHI假设在上是成立的。
l-BDHI假设定义:l-BDHI问题在上定义为:随机选择α∈Zp *,g是的生成元,给定一个(l+1)元组计算e(g,g)1/α。如果对于任意PPT算法上解决l-BDHI问题的优势均是可忽略的,则称l-BDHI假设在上是成立的。
访问结构定义:设是n个属性的集合,集族如果对任意集合B,C,都有:若则称是单调的。访问结构是的某些非空子集构成的集族访问结构中的集合称为授权集。否则,称为非授权集。若集族是单调的,则称是单调访问结构。
LSSS定义属性集合上的秘密共享方案Π是线性的,如果Π满足如下条件:①参与者的秘密分享值构成Zp上的一个向量;②对于Π,存在一个秘密份额生成矩阵Md×h和行标号函数ρ:设s∈Zp是待共享的秘密值,随机选择r2,…,rh∈Zp,构成向量v=(s,r2,…,rh),令v为v的转置,则M·v是d个秘密份额构成的向量,根据标号函数将秘密份额λi=(Mv)i(1≤i≤d)分配给属性ρ(i)。
LSSS满足线性重构性质:若Π是访问结构的线性秘密共享方案,令是授权集,定义 I = { i : ρ ( i ) ∈ S } ⊆ { 1 , . . . , d } , 则存在PPT算法计算{ci∈Zp}i∈I,使得对于秘密共享值s的任意有效份额{λi}i∈{1,…, d},均满足Σi∈Iciλi=s。
2.在具有选择明文安全的基于属性的在线/离线加密系统中,将全部属性划分成少量的n类,每类属性拥有一个共同的属性公钥,且每个属性对应Zp中的一个元素。首先,离线加密为每类属性选择一个随机数,计算该随机属性的离线子密文,并存储一些辅助信息。然后,在线加密在得知消息和属性集合后,利用离线密文计算Zp中的若干个整数(实现了从随机属性到指定属性的有效转化),即可快速生成给定消息和属性集合下的密文。
该系统主要包括:授权控制部件,用于根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,选取属性类型数目个随机数,作为系统主密钥,利用主密钥生成并公开系统公钥;初始化算法输入系统安全参数λ和属性类型个数n,首先,生成双线性映射e:和群的生成元g,令v=e(g,g);构造n个独立的Sakai和Kasahara提出的身份基加密[9]子系统,Mski=(ai), Pub i = { g , g a i , v , H i : { 0,1 } * → Z p } . 输出该系统公钥 Pub = ( g , v , g a 1 , . . . , g a n , 和主密钥Msk=(a1,…,an)。
客户,用于输入客户具有的属性集合,根据这个属性集合选取对应的访问结构,利用系统主密钥,生成与该访问结构对应的客户私钥;密钥生成算法输入主私钥Msk、访问结构其中,M是d×h矩阵,进行如下计算:1)选择随机数u2,…,uh∈Zp *,令u=(1,u2,…,uh);2)对矩阵M的任一行Mx(x=1,2,…,d),有属性Iρ(x)(Iρ(x)为第ρ(x)类属性)与之相对应,计算该属性私钥为
D ρ ( x ) = g M x · u a ρ ( x ) + I ρ ( x ) . 输出用户私钥
离线加密部件,用于在加密消息前对加密过程所需的幂乘和双线性对等复杂计算进行预处理,定期使用计算能力较强的设备,根据系统公开公钥,选取一个随机数,并对每一类属性选择两个随机数,计算并输出离线密文;离线加密算法对i=1,2,…,n,随机选择r,βi,γi∈Zp *,计算:R=vr, ci′=Hi(R,T2,i)。输出离线密文Δ=(T1,i,T2,i,ci′,βii)i=1,2,…,n
在线加密部件,该部件通常安装在计算能力较弱的轻量级设备,基于系统公钥、所需属性集合、离线加密部件生成的最新离线密文,对输入的明文进行加密,仅需少量简单运算,得到相应属性集合和消息的密文;在线加密算法输入消息m、属性集ω=(Ii1,Ii2,…,Iit)和离线密文Δ,计算:tij'=γij -1(Iij–βij)mod p,输出在线密文CT=(c,(T1,ij,T2,ij,tij′)j=1,2,…,t)。
解密部件:用于基于客户私钥、系统公钥,如果密文中的属性集合满足客户私钥的访问结构时,对在线加密部件生成的密文进行解密。解密算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω}。当CT中的属性满足中的策略时,首先计算系数θx∈Zp,使得∑x∈IθxMx=(1,0,…,0),然后计算:
e ( T 1 , ρ ( x ) · T 2 , ρ ( x ) t ρ ( x ) ′ , g M x · u a ρ ( x ) + I ρ ( x ) ) = e ( g , g ) r M x · u , Π x ∈ I e ( g , g ) r · θ x · M x · u = v r = R ,
c ij ′ = H ij ( R , T 2 , ij ) , m = c ⊕ c i 1 ′ ⊕ c i 2 ′ ⊕ . . . ⊕ c it ′
否则,解密失败。
3.为了说明本发明方法构造的ABOOE方案是安全的,给出其对应的安全性模型如下:
选择模型下选择密文攻击(IND-SS-CCA)安全性游戏)定义:ABOOE的选择安全模型可以通过敌手和挑战者之间的游戏来进行如下定义:
Init:敌手宣布一个挑战属性集合γ。
Setup:挑战者运行ABOOE的Setup算法,将公钥参数Pub发送给并保存Msk。
Phase1:可以向多次询问下面两类预言机:(a)密钥生成预言机OKeyGen(·):提交访问结构 运行KeyGen(Msk,(M,ρ)),输出计算结果且要求γ不能满足(b)解密预言机ODec(·):提交密文CT给解密预言机,如果解密成功,返回消息m给否则返回⊥,表示拒绝解密。
Challenge:敌手将两个等长的消息m0和m1提交给 随机选择b∈{0,1},用γ加密消息mb,计算密文CT*=Encon(mb,γ,Encoff(Pub)),并将CT*发送给
Phase2:敌手可以继续执行Phase1中的密钥生成询问和解密询问,但询问密文不能为CT*
Guess:敌手依据密文CT*给出一个猜测值b′。
当b′=b时,敌手赢得这个游戏,在该游戏中的优势定义为|Pr[b′=b]-1/2|。
IND-SS-CCA安全性定义:如果任意PPT敌手赢得IND-SS-CCA安全性游戏的优势都是可忽略的,则称该ABOOE方案在适应性选择密文攻击下是选择安全的。
选择模型下选择明文攻击(IND-SS-CPA)安全性定义:如果任意PPT敌手在上述IND-SS-CCA安全性游戏中不允许询问解密预言机,且赢得该游戏的优势均是可忽略的,则称该ABOOE方案在适应性选择明文攻击下是选择安全的。
4.上述方法构造的ABOOE方案的安全性证明如下:
定理1如果n(l+1)-DBDHI假设成立,则ABOOE方案满足选择模型下的IND-SS-CPA安全性。
证明:假设存在一个PPT敌手以ε的优势攻破ABOOE方案在选择属性集模型下的CPA安全性,则可以构造一个仿真器以ε/2优势攻破n(l+1)-DBDHI假设。
挑战者给出一个n(l+1)-DBDHI元组其中T=e(g,g)1/α或T为中一个随机元素。当T=e(g,g)1/α,仿真器输出1;否则,输出0。
Init:宣布挑战属性集γ={Ii1,Ii2,…,Iit},并将其发给
Setup:当i=i1,…,it时,随机选择πi∈{1,2,…,l},Iπi∈Zp *, wil∈Zp *,对ij∈{1,2,…,l}\{πi},计算Iij=Iπi-wij,构造t(l-1)次多项式得到系数c0,c1,…,ct(l-1)∈Zp *,即 f ( z ) = Σ i = 0 t ( l - 1 ) c i z i . 然后,设置生成元 G = Π i = 0 t ( l - 1 ) ( g a i ) c i = g f ( α ) .
当ij∈{1,…,l}\{πi},计算系数为dij,0,…,dij,t(l-1)-1∈Zp *,计算
H ij ~ = Π k = 0 t ( l - 1 ) - 1 ( g α k ) d ij , k = g f ij ( α ) = G 1 α + w ij , H ij ~ ( α ) = Π k = 0 t ( l - 1 ) - 1 ( g α k + 1 ) d ij , k = G α α + w ij ,
计算 pub i = G - α G - I πi , 其中 G - α = Π i = 0 t ( l - 1 ) ( g α i + 1 ) c i , 使得第i类属性的未知主密钥mski=-α-Iπi
当i≠i1,…,it,随机选择ai∈Zp *,计算即mski=ai
最后,设置公钥参数Pub={G,v=e(G,G),Pub1,…,Pubn,H1,…,Hn},msk={msk1,…,mskn}。
Phase1:询问访问结构的私钥,使得γ不满足(M,ρ),记为令Mγ={Mx|Iρ(x)∈γ},因为所以 因此,存在向量w=(w1,…,wh),使得w垂直Mγ,即w·Mγ=0,但w不垂直1=(1,0,…,0)。为了生成 随机选择λ1,…,λh∈Zp *,隐式的设置v=(λ1α,…,λhα),注意: 1 · u = 1 · v + 1 · ( ψw ) = λ 1 α + 1 - λ 1 α w 1 · w 1 = 1 . 令Mx=(mx,1,…,mx,h),
⑴当Iρ(x)∈γ时,计算 φ 1 = - Σ j = 1 h m x , j λ j , D ρ ( x ) = G φ 1 , 由于φ1是已知的,且
M x · u a ρ ( x ) + I ρ ( x ) = M x · ( v + ψw ) a ρ ( x ) + I ρ ( x ) = α Σ j = 1 h m x , j λ j - α = - Σ j = 1 h m x , j λ j ,
所以Dρ(x)是一个正确生成的私钥。
⑵当且Iρ(x)是i1,…,it类的属性时,记Iρ(x)=Iij,其中ρ(x)=i1,…,it,且j≠πi, D ρ ( x ) = D ij = ( H ij α ) φ 2 , 其中 φ 2 = - Σ j = 1 h m x , j λ j . 注意:和φ2是已知的,且
M x · u a ρ ( x ) + I ρ ( x ) = M x · v a ρ ( x ) + I ρ ( x ) = α Σ j = 1 h m x , j λ j - α - w ij = α α + w ij ( - Σ j = 1 h m x , j λ j )
⑶当且Iρ(x)不是i1,i2,…,it类的属性时,即ρ(x)≠i1,…,it,计算 D ρ ( x ) = ( G α ) φ 2 G φ 3 , 其中
φ 2 = Σ j = 1 h m x , j λ j a ρ ( x ) + I ρ ( x ) , φ 3 = ψ Σ j = 1 h m x , j w j a ρ ( x ) + I ρ ( x ) ,
由于
M x · u a ρ ( x ) + I ρ ( x ) = α Σ j = 1 h m x , j λ j a ρ ( x ) + I ρ ( x ) + ψ Σ j = 1 h m x , j w j a ρ ( x ) + I ρ ( x ) = α φ 2 + φ 3 ,
且Gα、φ2和φ3是已知的,因此,Dρ(x)是正确生成的属性私钥。
综上所述,当γ不满足时,可以为访问结构生成相应的属性私钥。
Challenge:输出消息m0,m1随机选择一个比特b∈{0,1},并利用γ对消息mb进行如下加密。对i=i1,…,it随机选择ξ,t0,i,si∈Zp *,隐式地设置βi=-si(t0,i+1)α,计算
T 1 , i = ξ · t 0 , i · G = ξ α ( λ i G + Pu b i ) , T 2 , i = ξβG α , t i ′ = β i - 1 ( I i - λ i ) = 1 / s i , T h = T c 0 2 T 0 , 其中 T 0 = e ( g Σ i = 1 n ( l - 1 ) c i α i - 1 , g f ( a ) ) · e ( g Σ i = 1 n ( l - 1 ) c i α i - 1 , g c 0 ) = e ( g , g ) f ( α ) 2 - c 0 2 α ,
计算c′i=Hi(Th,T2,i),输出挑战密文 CT * = ( c , ( T 1 , j , T 2 , j , t 1 , j ) j = i 1 , i 2 , . . . i t ) .
Phase2:重复Phase1。
Guess:最后,输出对b的猜测值b'。若b'=b,输出1,表示否则,若b'≠b,输出0,表示T是一个随机元素。
Probability Analysis:当 T = e ( g , g ) 1 α 时, T h = T c 0 2 T 0 = e ( g , g ) f ( α ) 2 α = e ( G , G ) 1 α , CT*是正确的密文,猜对的概率为1/2+ε。当T是随机元素时,Th也是GT的随机元素,CT*将是随机消息的密文,猜对概率为1/2。总之,猜对概率为1/2+ε,猜对n(l+1)-DBDHI元组的优势是ε/2。
5.为了提高ABOOE的安全性,首先给出一个高效的ABOOKEM方案,并对其单向性进行证明。然后,提出一种将单向性ABOOKEM转化成CCA安全ABOOE的通用性方法,并证明该ABOOE方案满足IND-SS-CCA安全性。
一个单向性基于属性的在线/离线密钥封装机制ABOOKEM主要包括以下步骤:授权机构执行初始化算法Setup(λ,n):根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥。初始化算法输入系统安全参数λ和属性类型个数n,首先,生成双线性映射e:和群的生成元g,令v=e(g,g);构造n个独立的SK-IBE[24]子系统,Mski=(ai), Pu b i = { g , g a i , v } . 输出该系统公钥 Pub = ( g , v , g a 1 , . . . , g a n ) 和主密钥Msk=(a1,…,an)。
客户执行算法,输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥。密钥生成算法输入主私钥Msk、访问结构其中,M是d×h矩阵,进行如下计算:1)选择随机数u2,…,uh∈Zp *,令u=(1,u2,…,uh);2)对矩阵M的任一行Mx(x=1,2,…,d),有属性Iρ(x)(Iρ(x)为第ρ(x)类属性)与之相对应,计算该属性私钥为
D ρ ( x ) = g M x · u a ρ ( x ) + I ρ ( x ) . 输出用户私钥
密钥封装阶段分为离线密钥封装和在线密钥封装两个阶段:首先利用计算能力强的计算设备定期执行离线密钥封装算法KEMoff(Pub,r),首先选择一个随机数r,计算会话密钥K。然后,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,生成离线数据Γ,输出离线密文(Γ,K)。注意:该离线密钥封装阶段是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同。具体实施,离线密钥封装算法输入r∈Zp *,计算会话密钥K=e(g,g)r。然后,对i=1,2,…,n,随机选择βii∈Zp *,计算:输出会话密钥K和离线数据Γ=(T1,i,T2,iii)i=1,2,…,n
然后,加密者利用轻量级设备执行在线密钥封装算法KEMon(ω,Γ),根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算得到消息对应密文。具体实施,在线密钥封装算法输入属性集ω=(Ii1,Ii2,…,Iit)和离线数据Γ,计算:tij'=γij -1(Iijij)mod p,输出密文CT=(T1,ij,T2,ij,tij')j=1,2,…,t
密钥解封装算法根据客户私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,计算出密文中会话密钥K,否则解封装失败。具体实施,解封装算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω}。当CT中的属性满足中的策略时,首先计算系数θx∈Zp,使得∑x∈IθxMx=(1,0,…,0),然后计算:
e ( T 1 , ρ ( x ) · T 2 , ρ ( x ) t ρ ( x ) ′ , g M x · u a ρ ( x ) + I ρ ( x ) ) = e ( g , g ) r M x · u , Π x ∈ I e ( g , g ) r · θ x · M x · u = v r = K ,
得到会话密钥K;否则,解封装失败。
6.上述单向性ABOOKEM的安全性模型定义如下:ABOOKEM单向性选择安全游戏可以通过敌手和挑战者之间的游戏来进行如下定义:
Init:敌手宣布一个挑战属性集合γ。
Setup:挑战者运行ABOOKEM的Setup算法,将公钥参数Pub发送给并保留Msk。
Phase1:提交访问结构 运行 输出计算结果且要求γ不能满足
Challenge:选择随机数r,计算密文CT*=KEMon(Pub,γ,KEMoff(Pub,r)),并将CT*发给
Phase2:敌手可以继续执行Phase1中的密钥询问。
Output calculation:敌手依据密文CT*计算出会话密钥K。
输出的K等于CT*中加密的会话密钥K'时,称敌手赢得上述单向性选择安全游戏。赢得上述游戏的优势定义为Pr[K'=K]。
单向选择(OW-SS)安全性定义:如果任意PPT敌手赢得OW-SS安全性游戏的优势都是可忽略的,则称该ABOOKEM是单向性选择安全的。
7.上述单向性ABOOKEM的安全性证明如下:
定理:如果n(l+1)-BDHI假设成立,则ABOOKEM方案满足选择模型下的单向性。
证明:假设存在一个PPT敌手以ε的优势攻破ABOOKEM方案的单向性,则可以构造一个仿真器以ε优势攻破n(l+1)-BDHI假设。
首先挑战者生成系统公钥参数,并给出一个n(l+1)-BDHI元组仿真器运行输出
Init:宣布挑战属性集γ={Ii1,Ii2,…,Iit},并将其发给
Setup和Phase1:与ABOOE的setup阶段和Phase1阶段相同。
Challenge:提交挑战属性集γ={Ii1,Ii2,…,Iit}给对i=i1,i2,…,it随机选择ξ,t0,i,si∈Zp *,隐式地设置
βi=-si(t0,i+1)α,计算 T 1 , i = ξ · t 0 , i G = ξ α ( λ i G + Pu b i ) ,
T 2 , i = ξ · ( - s i ) · ( t 0 , i + 1 ) G = ξβG α , t i ′ = β i - 1 ( I i - λ i ) = 1 / s i , 为正确生成的密文。
Phase2:重复Phase1。
Output Calculation:以ε的优势输出K,即其中则n(l+1)-BDHI假设的解为
( K 1 / ξ e ( Π i = 0 t ( l - 1 ) - 1 ( g α i ) c i + 1 , g c 0 ) · e ( Π i = 0 t ( l - 1 ) - 1 ( g α i ) c i + 1 , G ) ) 1 / c 0 2 = ( e ( g , g ) f ( α ) 2 α e ( g , g ) f ( α ) 2 - c 0 2 α ) 1 / c 0 2 = e ( g , g ) 1 α .
综上所述,解决n(l+1)-BDHI假设的优势为ε。
8.单向性ABOOKEM转化成CCA安全ABOOE的通用性方法,具体实施步骤如下,
Setup(λ,n):授权机构执行初始化算法与ABOOKEM相同,此外,需增加两个哈希函数H,H',它们将任意字符串映射到合适的域上。
与ABOOKEM相同。
Encoff(Pub):离线加密算法随机选择r,计算(Γ,K)←KEMoff(Pub,r),输出离线密文Δ=(Γ,K,r)。注意:该算法是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同。
Encon(m,ω,Δ):在线加密算法输入消息m、属性集ω=(Ii1,Ii2,…,Iit)和离线密文Δ,计算:C1=KEMon(Δ,ω), 输出密文CT=(C1,C2,C3)。
解密算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω},当CT中的属性满足中的策略时,计算: 否则,输出⊥,表示解密失败。然后,计算: m = H ′ ( K , C 1 ) ⊕ C 3 , K ′ = KEM off ( H ( K , C 1 , m ) ⊕ C 2 ) , 若K'=K,输出m,否则解密失败。
9.在具有选择密文安全的基于属性的在线/离线加密方法,将全部属性划分成少量的n类,每类属性拥有一个共同的属性公钥,且每个属性对应Zp中的一个元素。首先,离线加密为每类属性选择一个随机数,计算该随机属性的离线子密文,并存储一些辅助信息。然后,在线加密在得知消息和属性集合后,利用离线密文计算Zp中的若干个整数(实现了从随机属性到指定属性的有效转化),即可快速生成给定消息和属性集合下的密文。该加密方法将由计算性能强的计算机设备和计算能力弱的轻量级设备共同完成,包括以下步骤:
授权机构根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,选择两个哈希函数,它们将任意字符串映射到合适的域上;首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥。具体实施,初始化算法输入系统安全参数λ和属性类型个数n,首先,生成双线性映射e:和群的生成元g,令v=e(g,g);构造n个独立的SK-IBE[9]子系统,Mski=(ai),输出该系统公钥和主密钥Msk=(a1,…,an),其中,两个哈希函数H和H'将任意字符串映射到合适的域上。
客户输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥。具体实施,密钥生成算法输入主私钥Msk、访问结构其中,M是d×h矩阵,进行如下计算:1)选择随机数u2,…,uh∈Zp *,令u=(1,u2,…,uh);2)对矩阵M的任一行Mx(x=1,2,…,d),有属性Iρ(x)(Iρ(x)为第ρ(x)类属性)与之相对应,计算该属性私钥为
D ρ ( x ) = g M x · u a ρ ( x ) + I ρ ( x ) . 输出用户私钥
加密阶段分为离线加密和在线加密两个阶段:首先利用计算能力强的计算设备定期执行离线加密阶段,首先选择一个随机数r,计算会话密钥K。然后,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,生成离线数据Γ,输出离线密文(Γ,K,r)。注意:该离线加密阶段是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同。具体实施,离线加密算法随机选择r,计算(Γ,K)←KEMoff(Pub,r),输出离线密文Δ=(Γ,K,r)。注意:该算法是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同。
然后,加密者利用轻量级设备执行在线加密阶段,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算得到C1,利用系统中选择的两个哈希函数计算 得到消息对应密文CT=(C1,C2,C3)。具体实施,在线加密算法输入消息m、属性集ω=(Ii1,Ii2,…,Iit)和离线密文Δ,计算:C1=KEMon(Δ,ω), C 2 = H ( K , C 1 , m ) ⊕ r , C 3 = H ′ ( K , C 1 ) ⊕ m , 输出密文CT=(C1,C2,C3)。
解密者根据自己私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,计算出密文中会话密钥K,然后计算消息m,利用该消息m、K、C1和哈希函数H,计算出K',若K'=K,获得消息m,否则解密失败。具体实施,解密算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω},当CT中的属性满足中的策略时,计算:否则,输出⊥,表示解密失败。然后,计算: m = H ′ ( K , C 1 ) ⊕ C 3 , K ′ = KEM off ( H ( K , C 1 , m ) ⊕ C 2 ) , 若K'=K,输出m,否则解密失败。
10.上述CCA安全的ABOOE方案的安全性证明如下:
定理:如果ABOOKEM具有选择模型下的单向性,则该ABOOE在选择模型下是CCA安全的。
证明:如果存在一个PPT敌手可以攻破ABOOE的CCA安全性,则可以构造仿真器攻破ABOOKEM的单向性。挑战者仿真ABOOKEM的单向性如下:
Init:宣布挑战属性集γ={Ii1,Ii2,…,Iit},并将γ发给 将γ发送给
Setup:生成ABOOKEM的主密钥Msk和公钥参数Pub,并将Pub发给 将Pub发给并仿真哈希函数H和H。
Phase1:提交访问结构 提交给 生成相应的私钥并将其发送给由ABOOKEM到ABOOE的转化方法可知,ABOOE与ABOOKEM私钥相同,可确保生成的密钥是正确的。
Decryption Oracle:输入密文CT=(C1,C2,C3),执行如下操作:(1)检索哈希函数H的输入和输出列表{hi},使得hi=H(Ki,C1,mi),注意:哈希函数H,H'中的Ki必须相同。(2)对输入输出列表的{hi},检测Ki是否相等。若对所有的Ki输出失败信息⊥;否则,输出 m i = C 3 ⊕ H ′ ( K i , C 1 ) .
Challenge:将消息m0,m1提交给 利用γ执行ABOOKEM的密钥封装算法,生成密文C',随机选择C2 *,C3 *,将CT=(C',C2 *,C3 *)发送给类似于参考文献[23],如果能以不可忽略的优势赢得上述游戏,则它在输出猜测值b'之前一定询问过H(K*,C',m*)或H(K*,C')。选择一个随机预言机询问,并输出第一个变量的值,作为ABOOKEM单向性游戏的输出值。
Probability Analysis:如果没有询问过K*,其成功的概率为0;如果询问过K*,其成功的概率为1/qH。总之,成功的概率为ε/qH,qH是询问随机预言机的次数。

Claims (9)

1.一种具有选择明文安全的基于属性的在线/离线加密方法,其特征是:将现有ABE的全部属性划分成少量的n类,每类属性拥有一个共同的属性公钥,且每个属性对应Zp中的一个元素;首先,离线加密为每类属性选择一个随机数,计算该随机属性的离线子密文,并存储一些辅助信息;然后,在线加密在得知消息和属性集合后,利用离线密文计算Zp中的若干个整数,实现了从随机属性到指定属性的有效转化,即可快速生成给定消息和属性集合下的密文;加密方法由计算性能强的计算机设备和计算能力弱的轻量级设备共同完成,包括以下步骤:
授权机构根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,选择属性类型数目个哈希函数,首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥;
客户输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥;
加密阶段分为离线加密和在线加密两个阶段:
首先利用计算能力强的计算设备定期执行离线加密阶段,首先选择一个随机数,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,输出离线密文;
然后,加密者利用轻量级设备执行在线加密阶段,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算,得到消息对应密文;
解密者根据自己私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,然后计算密文中关键盲化数据,利用哈希函数族中相应的哈希函数和密文中的数据恢复消息,获得明文。
2.根据权利要求1所述的具有选择明文安全的基于属性的在线/离线加密方法,其特征是:具体操作过程形式化描述如下:
为素数阶p的双线性群,g为的生成元;此外,令双线性映射e:λ为系统的安全参数,方案的具体构造过程如下:
Setup(λ,n):初始化算法输入系统安全参数λ和属性类型个数n,首先,生成双线性映射e:和群的生成元g,令v=e(g,g);构造n个独立的SK-IBE[24]子系统,Mski=(ai), Pub i = { g , g a i , v , H i : { 0,1 } * → Z p } ; 输出该系统公钥 Pub = ( g , v , g a 1 , . . . , g a n , H 1 , . . . , H n ) 和主密钥Msk=(a1,…,an);
密钥生成算法输入主私钥Msk、访问结构其中,M是d×h矩阵,进行如下计算:1)选择随机数u2,…,uh∈Zp *,令u=(1,u2,…,uh);2)对矩阵M的任一行Mx(x=1,2,…,d),有属性Iρ(x)(Iρ(x)为第ρ(x)类属性)与之相对应,计算该属性私钥为
D ρ ( x ) = g M x · u a ρ ( x ) + I ρ ( x ) ;
输出用户私钥
Encoff(Pub):离线加密算法对i=1,2,…,n,随机选择r,βi,γi∈Zp *,计算:R=vr, ci =Hi(R,T2,i);输出离线密文Δ=(T1,i,T2,i,ci′,βii)i=1,2,…,n
Encon(m,ω,Δ):在线加密算法输入消息m、属性集ω=(Ii1,Ii2,…,Iit)和离线密文Δ,计算:tij'=γij -1(Iij–βij)mod p,输出在线密文CT=(c,(T1,ij,T2,ij,tij′)j=1,2,…,t);
解密算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω};当CT中的属性满足中的策略时,首先计算系数θx∈Zp,使得
x∈IθxMx=(1,0,…,0),
然后计算:
e ( T 1 , ρ ( x ) · T 2 , ρ ( x ) t ρ ( x ) ′ , g M x · u a ρ ( x ) + I ρ ( x ) ) = e ( g , g ) r M x · u , Π x ∈ I e ( g , g ) r · θ x · M x · u = v r = R ,
c ij ′ = H ij ( R , T 2 , ij ) , m = c ⊕ c i 1 ′ ⊕ c i 2 ′ ⊕ . . . ⊕ c it ′
否则,解密失败。
3.根据权利要求1所述的具有选择明文攻击安全的基于属性的在线/离线加密方法,其特征是:所述访问结构对应线性秘密共享方案中的访问矩阵和从访问矩阵每一行到对应属性的映射。
4.一种具有选择密文安全的基于属性的在线/离线加密方法,其特征是:将全部属性划分成少量的n类,每类属性拥有一个共同的属性公钥,且每个属性对应Zp中的一个元素;首先,离线加密为每类属性选择一个随机数,计算该随机属性的离线子密文,并存储一些辅助信息;然后,在线加密在得知消息和属性集合后,利用离线密文计算Zp中的若干个整数,实现了从随机属性到指定属性的有效转化,即可快速生成给定消息和属性集合下的密文;加密方法由计算性能强的计算机设备和计算能力弱的轻量级设备共同完成,包括以下步骤:
授权机构根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,选择两个哈希函数,它们将任意字符串映射到合适的域上;首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥;
客户输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥;
加密阶段分为离线加密和在线加密两个阶段:
首先利用计算能力强的计算设备定期执行离线加密阶段,首先选择一个随机数r,计算会话密钥K;然后,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,生成离线数据Γ,输出离线密文(Γ,K,r);该离线加密阶段是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)须相同;
然后,加密者利用轻量级设备执行在线加密阶段,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算得到C1,利用系统中选择的两个哈希函数计算 得到消息对应密文CT=(C1,C2,C3);
解密者根据自己私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,计算出密文中会话密钥K,然后计算消息m,利用该消息m、K、C1和哈希函数H,计算出K',若K'=K,获得消息m,否则解密失败。
5.根据权利要求4所述的具有选择密文攻击安全的基于属性的在线/离线加密方法,其特征是:具体操作过程形式化描述如下:
为素数阶p的双线性群,g为的生成元;此外,令双线性映射e:λ为系统的安全参数,方案的具体构造过程如下:
Setup(λ,n):初始化算法输入系统安全参数λ和属性类型个数n,首先,生成双线性映射e:和群的生成元g,令v=e(g,g);构造n个独立的SK-IBE[9]子系统,Mski=(ai), Pub i = { g , g a i , v , H , H ′ } ; 输出该系统公钥 Pub = ( g , v , g a 1 , . . . , g a n , H , H ′ ) 和主密钥Msk=(a1,…,an),其中,两个哈希函数H和H'将任意字符串映射到合适的域上;
密钥生成算法输入主私钥Msk、访问结构其中,M是d×h矩阵,进行如下计算:1)选择随机数u2,…,uh∈Zp *,令u=(1,u2,…,uh);2)对矩阵M的任一行Mx(x=1,2,…,d),有属性Iρ(x)(Iρ(x)为第ρ(x)类属性)与之相对应,计算该属性私钥为
D ρ ( x ) = g M x · u a ρ ( x ) + I ρ ( x ) ;
输出用户私钥
Encoff(Pub):离线加密算法随机选择r∈Zp *,计算会话密钥K=e(g,g)r;然后,对i=1,2,…,n,随机选择βii∈Zp *,计算: 得到会话密钥K和离线数据Γ=(T1,i,T2,iii)i=1,2,…,n,输出离线密文Δ=(Γ,K,r);该算法是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)须相同;
Encon(m,ω,Δ):在线加密算法输入消息m、属性集ω=(Ii1,Ii2,…,Iit)和离线密文Δ,利用离线密文Δ=(Γ,K,r),计算:tij'=γij -1(Iijij)mod p,C1=(T1,ij,T2,ij,tij')j=1,2,…,t C 2 = H ( K , C 1 , m ) ⊕ r , C 3 = H ′ ( K , C 1 ) ⊕ m , 输出密文CT=(C1,C2,C3);
解密算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω},当CT中的属性满足中的策略时,首先计算系数θx∈Zp,使得∑x∈IθxMx=(1,0,…,0),然后计算:
e ( T 1 , ρ ( x ) · T 2 , ρ ( x ) t ρ ( x ) ′ , g M x · u a ρ ( x ) + I ρ ( x ) ) = e ( g , g ) r M x · u , Π x ∈ I e ( g , g ) r · θ x · M x · u = v r = K ,
得到会话密钥K;否则,输出⊥,表示解密失败;然后,计算: m = H ′ ( K , C 1 ) ⊕ C 3 , r ′ = H ( K , C 1 , m ) ⊕ C 2 , K′=e(g,g)r′若K'=K,输出m,否则解密失败。
6.一种单向性基于属性的在线/离线密钥封装机制,其特征是:包括以下步骤:
授权机构根据系统安全参数和属性类型个数初始化该基于属性的在线/离线加密系统,首先对每一类属性选择一个属性密钥,生成系统主密钥;然后,利用主密钥和系统公共参数生成系统属性公钥;
客户输入客户属性集合,授权机构根据客户属性集合授予相应的访问权利,生成与该访问权利对应的访问结构,针对访问结构对应的每一个属性,选择一随机数组,利用系统主密钥和该访问结构为其颁发相应的客户私钥;
密钥封装阶段分为离线密钥封装和在线密钥封装两个阶段:
首先利用计算能力强的计算设备定期执行离线密钥封装阶段,首先选择一个随机数r,计算会话密钥K;然后,若系统中共有n类属性,对每一类属性,选择两个随机数,对加密所需的复杂计算进行预处理,生成离线数据Γ,输出离线密文(Γ,K);该离线密钥封装阶段是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)须相同;
然后,加密者利用轻量级设备执行在线密钥封装阶段,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算得到消息对应密文;
密钥解封装算法根据客户私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先计算访问机构对应的访问矩阵的系数,计算出密文中会话密钥K,否则解封装失败。
7.根据权利要求6所述的单向性基于属性的在线/离线密钥封装机制,其特征是:具体操作过程形式化描述如下:
Setup(λ,n):初始化算法输入系统安全参数λ和属性类型个数n,首先,生成双线性映射e:和群的生成元g,令v=e(g,g);构造n个独立的SK-IBE[24]子系统,Mski=(ai),输出该系统公钥和主密钥Msk=(a1,…,an);
密钥生成算法输入主私钥Msk、访问结构其中,M是d×h矩阵,进行如下计算:1)选择随机数u2,…,uh∈Zp *,令u=(1,u2,…,uh);2)对矩阵M的任一行Mx(x=1,2,…,d),有属性Iρ(x)(Iρ(x)为第ρ(x)类属性)与之相对应,计算该属性私钥为
D ρ ( x ) = g M x · u a ρ ( x ) + I ρ ( x ) ;
输出用户私钥
KEMoff(Pub,r):离线密钥封装算法输入r∈Zp *,计算会话密钥K=e(g,g)r;然后,对i=1,2,…,n,随机选择βii∈Zp *,计算: 输出会话密钥K和离线数据Γ=(T1,i,T2,iii)i=1,2,…,n
KEMon(ω,Γ):在线密钥封装算法输入属性集ω=(Ii1,Ii2,…,Iit)和离线数据Γ,计算:tij'=γij -1(Iijij)mod p,输出密文CT=(T1,ij,T2,ij,tij')j=1,2,…,t
解封装算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω};当CT中的属性满足中的策略时,首先计算系数θx∈Zp,使得Σx∈IθxMx=(1,0,…,0),然后计算:
e ( T 1 , ρ ( x ) · T 2 , ρ ( x ) t ρ ( x ) ′ , g M x · u a ρ ( x ) + I ρ ( x ) ) = e ( g , g ) r M x · u , Π x ∈ I e ( g , g ) r · θ x · M x · u = v r = K ,
得到会话密钥K;否则,解封装失败。
8.一种将单向性基于属性的在线/离线密钥封装机制转化成选择密文安全的基于属性在线/离线加密的构造方法,其特征是:包括以下步骤:
授权机构执行与ABOOKEM中初始化系统相同的操作,此外,需增加两个哈希函数H,H',它们将任意字符串映射到合适的域上;
客户私钥生成过程与ABOOKEM的客户私钥生成过程相同;
离线加密阶段:选择一个随机数r,利用ABOOKEM的离线密钥封装过程计算出(Γ,K),输出离线密文Δ=(Γ,K,r);该算法是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)须相同;
在线加密阶段:加密者首先执行ABOOKEM的在线密钥封装过程,根据所需属性集合和当前最新的离线密文,对需要加密的消息执行少量简单运算得到C1,利用系统中选择的两个哈希函数计算 C 2 = H ( K , C 1 , m ) ⊕ r , C 3 = H ′ ( K , C 1 ) ⊕ m , 得到消息对应密文CT=(C1,C2,C3);
解密者根据自己私钥中的访问结构和密文中的属性集合,若密文中属性集合满足解密者私钥中的访问结构,首先执行ABOOKEM的解封装过程,计算出密文中会话密钥K,然后计算消息m,利用该消息m、K、C1和哈希函数H,计算出K',若K'=K,获得消息m,否则解密失败。
9.根据权利要求8所述的将单向性基于属性的在线/离线密钥封装机制转化成选择密文安全的基于属性在线/离线加密的构造方法,其特征是:具体操作过程形式化描述如下:
Setup(λ,n):授权机构执行初始化算法与ABOOKEM相同,此外,需增加两个哈希函数H,H',它们将任意字符串映射到合适的域上;
与ABOOKEM相同;
Encoff(Pub):离线加密算法随机选择r,计算(Γ,K)←KEMoff(Pub,r),输出离线密文Δ=(Γ,K,r);该算法是确定性算法,即当随机数r相同时,输出的二元组(Γ,K)必须相同;
Encon(m,ω,Δ):在线加密算法输入消息m、属性集ω=(Ii1,Ii2,…,Iit)和离线密文Δ,计算:C=KEMon(Δ,ω), 输出密文CT=(C1,C2,C3);
解密算法输入用户私钥和密文CT,记I={x|Iρ(x)∈ω},当CT中的属性满足中的策略时,计算:K否则,输出⊥,表示解密失败;然后,计算: m = H ′ ( K , C 1 ) ⊕ C 3 , K ′ = KEM off ( H ( K , C 1 , m ) ⊕ C 2 ) , 若K'=K,输出m,否则解密失败。
CN201410167043.9A 2014-04-23 2014-04-23 可证明安全的基于属性的在线/离线加密方法 Active CN103973449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410167043.9A CN103973449B (zh) 2014-04-23 2014-04-23 可证明安全的基于属性的在线/离线加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410167043.9A CN103973449B (zh) 2014-04-23 2014-04-23 可证明安全的基于属性的在线/离线加密方法

Publications (2)

Publication Number Publication Date
CN103973449A true CN103973449A (zh) 2014-08-06
CN103973449B CN103973449B (zh) 2017-05-17

Family

ID=51242520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410167043.9A Active CN103973449B (zh) 2014-04-23 2014-04-23 可证明安全的基于属性的在线/离线加密方法

Country Status (1)

Country Link
CN (1) CN103973449B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530087A (zh) * 2015-12-28 2016-04-27 北京航空航天大学 适应性选择密文安全的属性基加密方法
CN108449174A (zh) * 2018-02-09 2018-08-24 孔泽 云计算应用中智能终端的可撤销加密方法及装置
CN109040076A (zh) * 2018-08-09 2018-12-18 腾讯科技(深圳)有限公司 一种数据处理方法、系统、装置、设备及介质
CN109639409A (zh) * 2018-09-20 2019-04-16 阿里巴巴集团控股有限公司 密钥初始化方法、装置、电子设备及计算机可读存储介质
CN109872787A (zh) * 2019-02-02 2019-06-11 上海龙健信息技术科技有限公司 一种分布式数据发布与订阅方法
CN110727951A (zh) * 2019-10-14 2020-01-24 桂林电子科技大学 具有隐私保护的轻量级外包文件多关键词检索方法及系统
CN110808833A (zh) * 2019-11-12 2020-02-18 电子科技大学 一种轻量级的在线离线无证书签名方法
CN112437044A (zh) * 2020-11-03 2021-03-02 建信金融科技有限责任公司 即时通讯方法和装置
CN113987558A (zh) * 2021-12-24 2022-01-28 杭州电子科技大学 离线/在线基于格的属性基加密方法
US11463267B2 (en) * 2016-09-08 2022-10-04 Nec Corporation Network function virtualization system and verifying method
CN115396150A (zh) * 2022-07-25 2022-11-25 支付宝(杭州)信息技术有限公司 数据预处理方法、数据加密方法、装置和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011130274A2 (en) * 2010-04-13 2011-10-20 Cornell University Private overlay for information networks
CN102594570A (zh) * 2012-04-11 2012-07-18 福建师范大学 基于等级身份加密的密钥门限算法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011130274A2 (en) * 2010-04-13 2011-10-20 Cornell University Private overlay for information networks
CN102594570A (zh) * 2012-04-11 2012-07-18 福建师范大学 基于等级身份加密的密钥门限算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王占君等: "一种新的零知识证明协议", 《南通大学学报(自然科学版)》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105530087A (zh) * 2015-12-28 2016-04-27 北京航空航天大学 适应性选择密文安全的属性基加密方法
CN105530087B (zh) * 2015-12-28 2019-05-10 北京航空航天大学 适应性选择密文安全的属性基加密方法
US11463267B2 (en) * 2016-09-08 2022-10-04 Nec Corporation Network function virtualization system and verifying method
CN108449174A (zh) * 2018-02-09 2018-08-24 孔泽 云计算应用中智能终端的可撤销加密方法及装置
CN108449174B (zh) * 2018-02-09 2021-07-30 孔泽一 云计算应用中智能终端的可撤销加密方法及装置
CN109040076B (zh) * 2018-08-09 2020-07-24 腾讯科技(深圳)有限公司 一种数据处理方法、系统、装置、设备及介质
CN109040076A (zh) * 2018-08-09 2018-12-18 腾讯科技(深圳)有限公司 一种数据处理方法、系统、装置、设备及介质
CN109639409B (zh) * 2018-09-20 2021-05-04 创新先进技术有限公司 密钥初始化方法、装置、电子设备及计算机可读存储介质
CN109639409A (zh) * 2018-09-20 2019-04-16 阿里巴巴集团控股有限公司 密钥初始化方法、装置、电子设备及计算机可读存储介质
CN109872787A (zh) * 2019-02-02 2019-06-11 上海龙健信息技术科技有限公司 一种分布式数据发布与订阅方法
CN110727951A (zh) * 2019-10-14 2020-01-24 桂林电子科技大学 具有隐私保护的轻量级外包文件多关键词检索方法及系统
CN110727951B (zh) * 2019-10-14 2021-08-27 桂林电子科技大学 具有隐私保护的轻量级外包文件多关键词检索方法及系统
CN110808833A (zh) * 2019-11-12 2020-02-18 电子科技大学 一种轻量级的在线离线无证书签名方法
CN112437044A (zh) * 2020-11-03 2021-03-02 建信金融科技有限责任公司 即时通讯方法和装置
CN113987558A (zh) * 2021-12-24 2022-01-28 杭州电子科技大学 离线/在线基于格的属性基加密方法
CN115396150A (zh) * 2022-07-25 2022-11-25 支付宝(杭州)信息技术有限公司 数据预处理方法、数据加密方法、装置和设备

Also Published As

Publication number Publication date
CN103973449B (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN103973449A (zh) 可证明安全的基于属性的在线/离线加密方法
Boneh et al. Fully key-homomorphic encryption, arithmetic circuit ABE and compact garbled circuits
CN101977112B (zh) 一种基于神经网络混沌吸引子的公钥密码加密和解密方法
Cramer et al. Algebraic manipulation detection codes
CN107070652A (zh) 一种基于cp‑abe的密文防篡改的车联网隐私保护方法及系统
CN106789044A (zh) 标准模型下格上云存储密文数据公钥可搜索加密方法
CN104320393A (zh) 重加密可控的高效属性基代理重加密方法
CN103401839A (zh) 一种基于属性保护的多授权中心加密方法
CN107154845A (zh) 一种基于属性的bgn型密文解密外包方案
CN107294696B (zh) 针对Leveled全同态密钥分配方法
CN109981265B (zh) 一种基于身份的不使用双线性对的密文等值判定方法
CN107276766A (zh) 一种多授权属性加解密方法
CN104618332A (zh) 基于符号边值二叉决策图的安全两方计算方法和系统
Li et al. An expressive decentralizing kp-abe scheme with constant-size ciphertext.
Wang et al. Server aided ciphertext-policy attribute-based encryption
CN105007270A (zh) 格上多权威的密钥策略基于属性的加密方法
CN117201132A (zh) 一种完全去中心化的多委员会属性基加密方法及其应用
Duong et al. Wildcarded Identity-Based Encryption with Constant-size Ciphertext and Secret Key.
CN105025021A (zh) 格上主析取范式访问策略的基于属性加密方法
CN104993929A (zh) 一种支持系统属性扩展的属性基加密系统及方法
CN109743162A (zh) 一种利用理想格操作进行身份属性匹配的加密方法
Boneh et al. Attribute-based encryption for arithmetic circuits
Wang et al. Attribute-Based Traitor Tracing.
CN105915340B (zh) 基于理想格上Gu-Map1多线性映射实例的多接收者匿名签密方法
CN105978895A (zh) 支持非单调访问结构和细粒度撤销的属性基加密方案

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211213

Address after: 521000 No. 7, 12heng, xianyeqian Second District, stork nest third village, Longhu Town, Chao'an county, Chaozhou City, Guangdong Province

Patentee after: Li Junliang

Address before: 226019 Jiangsu city of Nantong province sik Road No. 9

Patentee before: NANTONG University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220129

Address after: 361000 unit 126, Room 201, No. 99-2, Zhigu East 1st Road, Xike Town, Tong'an District, Xiamen City, Fujian Province

Patentee after: Yunqifu (Xiamen) Technology Co.,Ltd.

Address before: 521000 No. 7, 12heng, xianyeqian Second District, stork nest third village, Longhu Town, Chao'an county, Chaozhou City, Guangdong Province

Patentee before: Li Junliang

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221116

Address after: 100000 417, Unit 2, Floor 4, No. 99, Yuexiu Road, Haidian District, Beijing

Patentee after: Beijing Future Cloud Technology Co.,Ltd.

Address before: 361000 unit 126, Room 201, No. 99-2, Zhigu East 1st Road, Xike Town, Tong'an District, Xiamen City, Fujian Province

Patentee before: Yunqifu (Xiamen) Technology Co.,Ltd.