具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
请参图1与图2所示出的本发明一种抗密钥连续辅助输入泄漏的基于属性加密方法的一种具体实施方式。
在本实施方式中所示出的一种抗密钥连续辅助输入泄漏的基于属性加密方法的实现有赖于一种基于属性加密的计算机系统,其包括:用户,其用作消息加密方或密文接收方;一个私钥生成中心,作为可信的第三方,对用户属性进行认证,并为合法用户生成属性私钥。该计算机系统可为公有云服务器或者私有云服务器或者分布式计算系统或者计算机集群服务器。
为了加深对本发明的理解,将结合示意图1与图2对本发明进行详细阐述,本发明抗密钥连续辅助泄露的基于属性加密方法包括步骤如下:
S1、私钥生成中心输入系统安全参数λ和合法属性集合U,构造一个m维向量,并将该m维向量嵌入到系统公钥PK和系统主密钥MSK,m=poly(log2λ),其中,poly(log2λ)为关于log2λ的多项式函数,其包括如下执行过程:
(1)选择阶为N=p1p2p3的循环群G和GT,其中,p1,p2,p3是3个互不相同的素数,选择双线性映射e:G×G→GT,令Gi是群G的阶为pi的子群,(2)令0<ε<1,m=(3log2p2)1/ε,随机选择元素α1,α2,…,αm,a1,a2,…,am∈ZN *,其中ZN *表示集合{1,2,…,N-1},构成随机向量α=<α1,α2,…,αm>和a=<a1,a2,…,am>,从子群G1中随机选择生成元g1,h1,h2,…,hm,从子群G3中随机选择生成元g3,计算y=e(h1,y1)e(h2,y2)…e(hm,ym);(3)对每个属性i∈U,选择一个随机元素si∈ZN *,计算输出系统公钥 (4)选取随机数t*∈ZN *,从子群G3中选择随机数ρ1 *,ρ2 *,…,ρm *,ρm+1 *∈ZN *,其中ZN *表示集合{1,2,…,N-1},计算构成向量K*=<k1 *,k2 *,…,km *>,对每个属性i∈U,从子群G3中选择随机元素ti *∈ZN *,计算输出系统主密钥
本发明将一个m维向量嵌入到系统公钥PK和系统主密钥MSK中,根据Goldreich-Levin定理,攻击者在获知系统主密钥MSK和解密用户私钥SKω辅助输入泄漏信息的前提下,依然不能区分解密密钥和随机密钥。因此,攻击者利用系统主密钥MSK和解密用户私钥SKω辅助输入泄漏信息,将不能解密密文,从而确保了系统的安全性,即该发明能够有效的抵制连续辅助值输入泄漏攻击,实现了基于属性加密系统中的密钥连续无界泄漏。特别地,为了减少系统公钥PK和系统主密钥MSK的长度及其相应的计算开销,在保证安全性的前提下,通过共用m个子系统主密钥MSK中的关键盲化因子和m个子系统的属性公钥,大大缩减了系统主密钥MSK和系统公钥PK的长度。综上所述,本发明是第一个在基于属性加密环境中能够有效抵制连续辅助输入泄漏攻击的方法,且通过合理优化,使其增加的计算和存储开销达到最少。
优选的,在步骤S1中,每经过一段时间后,私钥生成中心执行系统主密钥更新算法,生成新的系统主密钥(即MSK′),其包括如下执行过程:(1)私钥生成中心随机选择t*′,ρ1 *′,ρ2 *′,…,ρm *′,ρm+1 *′∈ZN *,利用旧的主密钥(即步骤S1中由私钥生成中心所生成的系统主密钥MSK),计算 构成随机向量K*′=<k1 *′,k2 *′,…,km *′>;(2)对每个属性i∈U,从子群G3中选择随机数ti *′∈ZN *,计算 输出新的系统主密钥
S2、私钥生成中心认证用户拥有的属性集合ω,利用系统主密钥MSK和系统公钥PK,生成包含一个m维向量的用户私钥SKω,其包括如下执行过程:
(1)假定用户具有属性集合私钥生成中心选择随机数t∈ZN *,从子群G3选择随机数ρ1,ρ2,…,ρm,ρm+1∈ZN *,其中ZN *表示集合{1,2,…,N-1},计算构成随机向量K=<k1,k2,…km>;(2)对每个属性i∈ω,从子群G3中选择随机数ti∈ZN *,计算 输出用户私钥
优选的,在步骤S2中,每经过一段时间后,用户执行其私钥更新算法,生成新的用户私钥(即SKω′),其包括如下执行过程:(1)用户随机选择t′,ρ1′,ρ2′,…,ρm′,ρm+1′∈ZN *,利用旧的用户私钥(即SKω),计算 构成随机向量K′=<k1′,k2′,…,km′>;
(2)对每个属性i∈ω,从子群G3中选择随机数ti′∈ZN *,计算输出用户私钥
S3、加密方利用系统公钥PK和设定的访问策略,对待加密处理的信息进行加密,生成包含一个mn1维向量的密文,其中,n1是访问策略中矩阵的行数。该步骤S3具体包括如下执行过程:
(1)给定机密信息的访问策略,其对应的访问结构为其中,A是一个n1×n2矩阵,ρ是一个从集合{1,…,n1}到合法属性集合U的映射;(2)加密方选择随机数构成随机向量对矩阵A的每一行Ax和j=1,2,…,m,选择一个随机数rj,x∈ZN *;(3)该密文加密计算公式C如下所示:
S4、仅当用户私钥SKω的属性满足密文的访问策略时,该用户才能正确解密密文,获得明文,其包括如下执行过程:(1)记A的第x行为Ax,计算一组常量cx∈ZN *,使得∑cxAx=<1,0,…,0>;(2)为消去密文中盲化因子,其计算公式如下所示:
(3)恢复消息M=C0/ys。
抗密钥泄露的容忍程度是衡量一种密码机制安全性的重要指标。总的来说,抗泄露密码机制的主要目标是尽可能预防和抵抗更多不同类型的边信道攻击(SCA),使系统在实际应用中的安全性得到可靠的保障。
为了证明本发明的安全性,下面给出合数阶群上子群判定假设。在这些假设中,令λ是系统的安全参数,Pr是概率函数,PPT表示一个概率多项式时间算法。
假设1给定合数阶双线性群(N=p1p2p3,G,GT,e),g1←G1,g3←G3,D=(N,G,GT,e,g1,g3),随机选择z,v∈ZN *,计算T1=g1 z,任意PPT攻击者区分元组(D,T1)和元组(D,T2)的优势是可以忽略的。
假设2给定合数阶双线性群(N=p1p2p3,G,GT,e);随机选取z,ν,μ,p∈ZN *,g1←G1,g3←G3,随机选取w,κ,σ∈ZN *,计算任意PPT攻击者区分元组(D,T1)和元组(D,T2)的优势是可以忽略的。
假设3给定合数阶双线性群(N=p1p2p3,G,GT,e),随机选择α,ν,μ,z∈ZN *,g1←G1;g2←G2,g3←G3,T1=e(g,g)αz,T2←GT,任意PPT攻击者区分元组(D,T1)和元组(D,T2)的优势是可以忽略的。
定义1(访问结构[24])设是n个属性的集合,由的某些非空子集构成的集族称其为设定的访问策略的访问结构,其中,集族且是单调的,即对任意集合B,C,均有:如果且那么 中的所有属性集合称为授权集,不在中的属性集合称为非授权集。
定义2(LSSS[24])称属性集合上的一个秘密共享方案Π是线性的,如果满足:(1)将Zp上的一个向量构造成属性的秘密分享值;(2)对于Π,存在一个秘密份额生成矩阵和行标号函数令s∈Zp *是待共享的秘密值,随机选择构成向量 令vT为v的转置,则A·vT是n1个秘密份额构成的向量,利用标号函数,将秘密份额λi=(Av)i(1≤i≤n1)分配给属性ρ(i)。
LSSS的可重构性质:假定Π是访问结构的线性秘密共享方案,令是授权集,定义则存在多项式时间算法计算{ci∈Zp}i∈I,使得对于秘密共享值s的任意有效份额{λi}i∈{1,…,n1},满足Σi∈Iciλi=s。
简要介绍域GF(q)上Goldreich-Levin定理:令q是一个大素数,H是GF(q)的任意子集,n是一个正整数,任意函数f:Hn→{0,1}*。令s←Hn,ξ←f(s),r←GF(q)n,如果存在区分器在t时间内使得 则存在一个可逆器在t′=t·poly(n,|H|,1/ε)时间内求得s的概率。
定义3.连续辅助输入函数族是一类概率多项式时间(PPT)可计算的函数族f:{0,1}*→{0,1}*,使得对所有的PK,S, 任意PPT算法输出一个SKω*∈S*的概率均不超过χ(k),其中,困难参数χ(k)≥2-k,且MSK,PK,SKω*,S,LMSK,和都是随机生成的。
为了证明本发明的安全性,需要构造半功能私钥和半功能密文,半功能私钥分为Ⅰ型半功能私钥和Ⅱ型半功能私钥。为了生成半功能私钥和密文,对每个属性i∈U,随机选择qi∈ZN,半功能密文和半功能私钥定义如下:
KeygenSF1(MSK,ω)该Ⅰ型半功能私钥生成算法随机选择θ∈ZN,随机向量γ=(γ1,γ2,…,γm)∈[0,λ]m,利用正常私钥计算Ⅰ型半功能私钥SKω-Ⅰ如下:
keygenSF2(MSK,ω):该Ⅱ型半功能私钥生成算法选择随机向量γ=(γ1,γ2,…,γm)∈[0,λ]m,利用正常私钥,计算Ⅱ型半功能私钥SKω-Ⅱ如下:
注意:与Ⅰ型半功能私钥不同的是,该Ⅱ型半功能私钥中的θ=0。
该半功能密文生成算法随机选择δ∈ZN *,对访问矩阵A的每一行Ax和j=1,2,…,m,随机选择δj,x∈ZN *,随机向量利用正常密文,计算半功能密文C-SF如下:
如果用半功能密钥解密半功能密文,得到一个多余项:若用户私钥中的属性集合满足密文中访问结构,且δ·∑γj-θ·∑uj,1=0modp2(uj,1表示向量uj的第一个分量),则称该Ⅰ型半功能私钥对该半功能密文是名义半功能的。
基于合数阶群上的子群判定假设,采用混合争论技术,借助一系列相邻游戏(GameReal,Game0,Game1,1,Game1,2,…,Gamek-1,2,Gamek,1,Gamek,2,…,Gameq-1,2,Gameq,1,Gameq,2,GameFinal)的不可区分性,证明本文所提方案的安全性,其中,q表示在安全性游戏中询问KGO(·)预言机的次数。
GameReal:真实的安全性游戏,私钥和密文都是正常的。
Game0:与GameReal类似,除了挑战密文是半功能密文。
Gamek,1:挑战密文是半功能密文,前k-1次询问的私钥是II型半功能的,第k次询问私钥是I型半功能的,剩余的私钥是正常的。
Gamek,2:与Gamek,1类似,除了第k次询问的私钥是II型半功能的。
GameFinal:在这个安全性游戏中,所有询问私钥都是II型半功能的,且挑战密文是对一个随机明文加密生成的半功能密文。
引理1若假设1成立,对于任意PPT攻击者则区分GameReal和Game0的优势均是可以忽略的。
证明:假定存在一个PPT攻击者以不可忽略的优势区分GameReal和Game0,则可以构造一个PPT算法 能以不可忽略的优势打破假设1。接收到假设1的条件{g1,g3,T},能够模拟GameReal或Game0。执行初始化算法,令m=(3logp2)1/ε,选择随机向量 计算对每个属性i∈U,随机选择si∈ZN *。生成系统公钥 并将其发送给其中,N,g1,g3由假设1给定。
询问阶段1:由于已知(α1,α2,…,αm),执行初始化算法,生成系统正常系统主密钥MSK,可以回答攻击者的所有用户私钥生成询问、系统主密钥泄露和更新询问。
挑战阶段1:攻击者提交一个挑战访问结构A*是一个n1×n2的矩阵,选择一个属性集合ω*,使得ω*满足生成一个正常解密的用户私钥SKω*。
询问阶段2:与询问阶段1类似,此外,可以回答对用户私钥SKω*的所有泄露信息和更新信息。
挑战阶段2:提交两个消息M0和M1给 随机选择v2′,v3′,…,vn2′∈ZN,对A*的每一行Ax *和j=1,2,…,m,随机选择rj,x′∈ZN *,生成向量v=(1,v2,…,vn2)。选择一个随机位b∈{0,1},计算并输出挑战密文:
其中,T为假设中的挑战项。
询问阶段3:与询问阶段1相同,除了只能进行用户私钥的生成询问。
如果则密文是半功能的,其中
对于G1部分,挑战密文隐式地设置s=z,v=zv′,rj,x=zrj,x′。因此,所有的G1部分是均匀分布的,特别地,v的第一个分量是z。对于G2部分,挑战密文隐式地设置δj,x=-vrj,x′,uj=ajvv′,qρ*(x)=sρ*(x)。所有这些项仅在G1部分出现过,因此,在攻击者看来,这些项与它们模p2的值是无关的,即半功能参数的均匀随机性来自于v,a1,a2,…,am,v2′,…,vn2′,rj,x′,sρ*(x)模p2的随机性。因此,这是一个均匀分布的半功能密文。此时完美仿真Game0。另一方面,如果T=g1 z,则挑战密文中没有G2中的项,该密文为正常的,此时,完美仿真GameReal。
因此,如果能以不可忽略的优势区分GameReal和Game0,则可以相同的优势打破假设1。
引理2.如果假设2成立,对于任意PPT攻击者则区分Gamek-1,2和Gamek,1的优势均是可忽略的。
证明:接收到假设2的条件能够模拟Gamek-1,2或Gamek,1。初始化阶段:设置m=(3logp2)1/ε,选择随机向量 t∈ZN *,计算 对每个属性i∈U,随机选择si∈ZN *。生成系统公钥 并将其发送给其中,N,g1,g3来自假设2的条件。
询问阶段1:当攻击者询问ωr的用户私钥,且询问次数r大于k时,利用(α1,α2,…,αm)生成ωr的正常用户私钥;当的询问次数r小于k时,对G3部分随机选择ρm+1,t,ρi′∈ZN *,计算Ⅱ型半功能用户私钥其中,ωr是提交的属性集合,来自假设2的条件。显然,这个Ⅱ型半功能用户私钥SKr-Ⅱ是均匀分布的。
当r等于k时,提交属性集合ωr给 生成一个正常用户私钥或Ⅰ型半功能私钥,对G3部分随机选择ρm+1∈ZN *,ρi′∈ZN *,生成用户私钥显然,这个用户私钥的G3部分是均匀分布的。值得注意的是,或者则这个私钥的G1部分隐式地设置t=w。若则该私钥的G1和G2部分也是均匀分布的,且其Ⅰ型半功能参数γ=κ〈a1,a2,…,am〉,θ=κ,qi=si。由于κ,si,a1,a2,…,am模p2的值是随机的,该私钥是均匀分布的。若该用户私钥是均匀分布的正常用户私钥。
挑战阶段1:提交一个挑战访问结构(A*,ρ*),选择一个满足访问结构(A*,ρ*)的属性集合ω*,询问用户私钥生成预言机KGO(ω*),当该询问次数r小于k时,生成Ⅱ型半功能用户私钥SKω*-Ⅱ;当r等于k时,生成Ⅰ型半功能私钥SKω*-Ⅰ;当r大于k时,生成正常用户私钥SKω*。此时注意,不能直接获得该用户私钥。
询问阶段2:与询问阶段1类似,此外,可以回答的所有用户私钥SKω*的泄露信息。
挑战阶段2:提交等长消息M0和M1给 选择随机数v2′,v3′,…,vn2′∈ZN *,对A*的每一行Ax *和j=1,2,…,m,随机选择rj,x′∈ZN *,生成向量v′=(1,v2′,…,vn2′)。选择一个随机位b∈{0,1},计算并输出挑战密文:
其中,来自假设条件。
该密文是半功能的,其中
对于G1部分,该密文隐式地设置s=z,v=zv′,且为均匀分布的,此时注意,v的第一个分量是z。对G2部分,该密文隐式地设置δ=v,uj=ajvv′,δj,x=-vrj,x′,qρ(x)=sρ(x)。此时,当挑战私钥是Ⅰ型半功能用户私钥时,则qρ(x)=sρ(x)。这个等式必须成立,因为KeygenSF1算法和EncSF算法中的qi值必须相同。当挑战私钥是Ⅱ型半功能用户私钥时,用户私钥没有qi项。
当挑战私钥是Ⅰ型半功能用户私钥时,用户私钥和挑战密文中的其余半功能参数如下:
私钥:γ=θ′〈a1,…,am〉,θ=θ′。
密文:δ=v,δj,x=-vrj,x′。
注意:uj的第一个分量总是等于ajv,而攻击者可以从γ的第j个分量和δ分别获知aj和v模p2的值,γ中的κ可从θ获知。若第k个用户私钥的属性满足挑战访问结构时,且δ·Σγj-θ·Σu=v·Σκaj-vκ·Σaj=0modp2,则该用户私钥是名义半功能用户私钥。
由安全性定义可知,只能对该解密钥进行泄露询问,而不能进行解密钥生成询问。使用下面引理3证明:当挑战用户私钥的属性集合满足挑战密文的访问策略时,攻击者区分第k个挑战私钥是名义半功能性或真正半功能的优势是可以忽略的。
引理3若域GF(p2)上的Goldreich-Levin定理成立,对任意PPT攻击者则区分第k个挑战私钥是名义半功能的或真正半功能的优势均是可忽略的。
证明:Goldreich-Levin定理的挑战者选取Γ∈[0,λ]m,ξ=f(Γ),1=<1,1,…,1>∈GF(p2)m,随机数ζ∈GF(p2)。
和仿真Gamek,1,设置m=(3logp2)1/ε,选择随机向量<h1,h2,…,hm>∈G1 m,α=<α1,α2,…,αm>∈ZN m,ρ=<ρ1,ρ2,…,ρm>∈ZN m,a=<a1,a2,…,am>∈ZN m,ρm+1,t∈ZN *。对每个属性i∈U,随机选择si,ρi′∈ZN *。计算:
由于已知系统主密钥和所有子群的生成元,它既可以生成正常用户私钥也能生成半功能用户私钥。因此,可以回答询问阶段1中的所有用户私钥生成询问。
挑战阶段1:攻击者提交一个挑战访问结构(A*,ρ*),A*是一个n1×n2的矩阵,选择一个属性集合ω*,使得ω*满足A*。注意:由安全性定义可知,不能得到与ω*对应的用户私钥,仅能获得该用户私钥的泄露信息。
询问阶段2:不生成与ω*对应挑战私钥,而是将对挑战用户私钥的泄露询问编码成定义域为[0,λ]m的一元PPT函数。通过固定其他私钥的所有值和固定挑战私钥的非半功能参数可以实现这种泄露,具体过程如下:收到一个实例(f(Γ),1,ζ),其中,1=<1,1,···,1>,ζ=Γ.1或是随机值。用f(Γ)来回答关于挑战用户私钥的泄露询问,并隐式地定义解密用户私钥。
随机选择定义令g2为G2的生成元,隐式地设置挑战用户私钥的G2部分为和g2θ,其中,γ=Γ+〈0,0,…,0,r1〉,θ=r3,注意,Γ的长度是m,将r1加到Γ的最后一个分量上。定义挑战用户私钥的非G2部分满足其合理的分布。
挑战阶段2:提交两个等长消息M0和M1给 用向量ui和δ=r2∈Zp2,构造挑战密文,其中ui,1=ττ。如果ζ=Γ·1,则
此时,挑战用户私钥是名义半功能用户私钥。如果ζ≠Γ·1,则挑战用户私钥是真正半功能的,且是均匀分布的。
询问阶段3:可以回答的所有询问。
猜测阶段:可用的输出区分(f(Γ),1,Γ·1)和(f(Γ),1,ζ)。由Goldreich-Levin定理可知,若能以的优势区分上述的两个元组,能以至少
的概率输出Γ,与泄露函数f是不可逆函数矛盾,因此,不能区分该挑战私钥是名义半功能或真正半功能的。
当挑战用户私钥的属性不满足挑战访问结构时,可以询问该用户私钥。由于文中限制在访问结构中每个属性只能使用一次,我们可以断定uj,1=ajvmodp2在信息理论上是隐藏的。
由于挑战用户私钥的属性集合ω*不满足挑战访问结构(A*,ρ*),A*中使得ρ*(x)∈ω*的所有行x生成的行空间R不包含向量<1,0,···,0>。因此,存在一个向量w,使得w正交于R,但w不正交于<1,0,···,0>,即<1,0,···,0>·w≠0。我们固定一个包含w的基,则存在dj∈ZN,使得uj=djw+uj′modp2,其中uj′属于除w外的基向量扩张的空间中,注意到uj′是均匀分布的,且无法揭露dj的任何信息。由于uj,1=uj·<1,0,…,0>=djw·<1,0,…,0>+uj′·<1,0,…,0〉,uj′不揭露dj的任何信息,且w与〈1,0,…,0>不正交,因此,uj,1的值与dj相关。
uj和相应的dj仅仅出现在矩阵A*的第x行的指数中,然而,并不是每一行的指数都影响dj的值。如果ρ*(x)∈ω*,则w与R正交。该行的值与dj无关。对其余的行来说,除了一个可以忽略的概率,所有的乘积因子δj,x≠0modp2,因此,dj的值被δj,x和qρ*(x)盲化。此时,限制访问结构中的每个属性只能出现一次。由于δj,xmodp2是随机的,qρ*(x)可以完全隐藏dj。文中访问结构中的属性只能出现一次,且只有挑战用户私钥(Ⅰ型半功能的)可以包含这些项,总之,uj,1的值对是均匀分布的。
询问阶段3:与询问阶段1相同,除了不能询问泄露预言机。
基于假设2,完美仿真了Gamek-1,2或以几乎为1的概率仿真Gamek,1。因此,如果存在一个攻击者能以不可忽略的优势区分Gamek-1,2和Gamek,1,则能以几乎相同的优势打破假设2。
引理4如果假设2成立,则任意PPT攻击者区分Gamek,1和Gamek,2的优势是可以忽略的。
证明:如果存在一个攻击者能以不可忽略的优势区分Gamek,1和Gamek,2,则我们将以相同的优势攻破假设2。算法除了挑战私钥的构造方式与引理2不同,其他构造阶段相同。本引理的挑战用户私钥构造如下,随机选取向量h∈[0,λ]m, 与引理2中挑战用户私钥的区别是项其中,是由假设2给定的。
如果挑战用户私钥和挑战密文的半功能参数如下:
γ=k<a1,a2,…,am>+μh,θ=k,δ=v,uj=ajv·v′。
在半功能挑战用户私钥和半功能密文中qi=si,注意:现在的挑战用户私钥中半功能参数被向量μh重新随机化,因此,该挑战用户私钥不再是名义半功能的,即δ·Σγi–θ·Σui,1=0等式不再成立。显然,μh使得所有的半功能参数模p2的值完全随机化,且相互无关。所以,挑战用户私钥是均匀分布的Ⅰ型半功能私钥,完美仿真Gamek,1(攻击者询问的私钥是Ⅱ型半功能私钥、Ⅰ型半功能挑战用户私钥和正常用户私钥)。
如果则该挑战用户私钥是Ⅱ型半功能,且半功能参数γ=μh,此时,完美仿真Gamek,2(攻击者询问的私钥是Ⅱ型半功能用户私钥、Ⅱ型半功能挑战用户私钥和正常用户私钥)。因此,可以利用的输出,以相同的优势攻破假设2。
引理5如果假设3成立,则任意PPT攻击者区分Gameq,2和Gamefinal的优势是可以忽略的。
证明:如果存在一个攻击者能以不可忽略的优势区分Gameq,2和Gamefinal,则我们将以相同的优势攻破假设3。挑战者接收到假设3的条件{g1,g2,g3,g1 αg2 v,g1 zg2 μ,T},能够模拟Gameq,2和Gamefinal。
初始化阶段:设置m=(3logp2)1/ε,选择随机向量<a1,a2,…,am>∈ZN m,<β1,β2,…,βm>∈ZN m,对对每个属性i∈U,随机选择si∈ZN,<α1,…,αm-1>∈ZN m-1,隐式设置计算公钥PK并发送给其中,N,g1,g3是由给定的。
询问阶段1:为的每次询问生成相应的Ⅱ型半功能用户私钥。即随机选取G3部分的指数t∈ZN,h∈[0,λ]m,ρ∈ZN m,i∈ω,随机选择ρi∈ZN,计算用户私钥SKω,计算公式如下所示:
其中,ω由选择的,由给定的。显然,这个具有参数γ=h+<0,…,0,v〉的Ⅱ型半功能用户私钥是均匀分布的。
挑战阶段1:攻击者提交一个挑战访问结构(A*,ρ*),A*是一个n1×n2的矩阵,选择一个属性集合ω*,使得ω*满足A*,并使用询问阶段1相同的方法,为其生成一个Ⅱ型半功能挑战用户私钥。
询问阶段2:与询问阶段1相同,此外,还可以询问解密私钥的泄露信息。
挑战阶段2:提交两个等长的消息M0和M1,随机选择v2′,v3′,…,vm′∈ZN *,对A*的每一行Ax *和j=1,2,…,m,随机选择rj,x′∈ZN *。生成向量v′=(1,v2′,v3′,…,vm′),选择随机位b∈{0,1},计算密文如下:
其中,是由假设3给定的,T是一个挑战项。半功能挑战密文:
对G1部分,该密文隐式设置s=z,v=zv′,rj,x=z·rj,x′。因此,G1部分是均匀分布的,值得注意的是,向量v的第一个分量必须是z。对G2部分,该密文隐式设置δ=μ,uj=ajμv′,δj,x=-μrj,x′,qρ(x)=sρ(x)。由于仅能看到s,μ,a1,a2,…,am,v2′,v3′,…,vn2′,rj,x′,sρ(x)模p1的值,所以它们模p2的值是均匀分布的,即挑战密文的G2部分是均匀分布的。
询问阶段3:与询问阶段1相同,除了不能询问主密钥的泄露信息。
如果T=e(g1,g1)αz,挑战密文为消息Mb的半功能密文。否则,挑战密文是随机消息的半功能密文。因此,可以利用的输出攻破假设3。
定理1.如果假设1,2,3成立,则该基于属性加密方法在攻击者获知系统主密钥和用户私钥连续辅助输入泄露的情况下,仍具有自适应安全性。
证明:由引理1-5可知,Gamereal和Gamefinal是不可区分的。在Gamefinal中由于挑战密文是随机消息的密文,因此,攻击者在Gamefinal的优势是0。综上所述,在Gamereal的优势是可以忽略的。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。