2. 武警工程大学 网络与信息安全武警部队重点实验室, 西安 710086
2. Key Laboratory of Network and Information Security, Engineering College of Chinese Armed Police Force, Xi'an Shaanxi 710086, China
现代社会中云计算快速发展,人们大量使用云计算来共享数据。为了加强数据安全和防止隐私泄露,需要对数据进行加密操作, 因此提出基于属性的加密方案(Attributed-Based Encryption, ABE)[1],ABE方案灵活地利用访问策略加密数据。根据密文与访问策略和属性的关系,可分为两大类[2]:密文策略属性基加密(Ciphertext-Policy ABE, CP-ABE)和密钥策略属性基加密(Key-Policy ABE, KP-ABE)。
传统双线性对的ABE方案,存在大量的双线性对运算,计算量随着访问策略的复杂性而线性增加。这对于资源受限的用户设备完成解密是一个重大的挑战,为了减少用户解密算法中用户的计算量, Green等[5]提出了解密计算外包给第三方云服务器,这有助于“瘦身客户机”实现解密,他们提出外包解密的一个关键的技术,使第三方云服务不泄露数据或被恶意攻击。用户提供转换密钥给云服务器,云服务器解密输出恒定大小的ElGamal密文,然后利用私钥恢复出明文。考虑以下场景:用户Alice想要把自己的病例传给某医院的医生Bob,但是Bob在休假且只能用移动电话的情况下,那么Alice先用加密方案加密数据(如KP-ABE); 然后把密文上传到云存储,医生B需要下载数据解密,假如他直接下载密文解密,他的移动电话不能承担如此大的计算量,因此,将解密过程外包给云端。一个重要的问题是密文长度,假如外包给云的密文非常长, 需要消耗移动电话大量电量,会严重缩短移动电话的使用时间,这是难以忍受的。还有外包密钥生成服务器,算法复杂生成外包密钥也会花费大量时间和手机电量。另外还要确保解密结果是正确的,否则,看错病,对病人是非常严重的问题,所以在外包解密时既要关心密文的长度也要关心解密的正确性。
为了确定第三方是诚实地进行外包计算, Lai等[11]引入可验证性的外包解密ABE方案,在文献[5]加密/解密算法的基础上增加了额外的实例,用于验证外包结果的正确性。该方法明显增加了方案的计算开销,发送者需要加密一个额外的随机消息,计算同两个消息有关的校验值。虽然文献[11]方案很容易理解,但它存在两个缺点:第一,加密和解密的成本是其他ABE方案的两倍;第二,密文长度是其他ABE方案的两倍。2015年Qin等[12]提出了一个非常有效的可验证外包解密方案,随机选择一个消息密钥K,利用密钥提取器提取对K操作生成对称加密的密钥,再对消息密钥K进行公钥加密,同时在加密过程中对消息密钥K进行哈希生成验证密钥,有效实现了外包解密结果的验证。但是,他们都没有关注密文的长度,其加密的密文随着属性数量的增加而增大, 而且也没有关注外包密钥生成时间,其外包密钥生成时间也随着属性数量的增加而增加。Attrapadung等[13]提出了非单调访问结构的短密文KP-ABE方案,实现了固定长度的密文,但是其加解密的运算量很大。
本文在文献[12-13]方案的基础上实现了固定密文可验证外包解密,并在外包密钥生成算法上进行了改进。通过运用密钥提取器及两个散列碰撞函数,实现外包解密的验证性。与之前在ABE的外包解密方案相比,本方案不仅可以缩短外包密文的长度,还可有效节省外包密钥生成时间。
1 预备知识定义1 双线性映射e:G0×G0=G1。G0、G1是两个以素数p为阶的循环群,满足以下性质:
1) 双线性性。e(ga, gb)=e(g, g)ab,∀a, b∈Zp,∀p, q∈G0。
2) 非退化性。存在g是G0的生成元,使得e(g, g))≠1。
3) 可计算性。存在有效算法计算双线性对。
定义2 线性秘密共享方案(Linear Secret Sharing Scheme, LSSS),当满足以下两个条件时,参与方集合P上的秘密共享方案在Zp域上是线性的[12, 14]。
1) 各方共享的秘密形成一个Zp域上的矩阵;
2) 存在一个行列的秘密共享矩阵A。存在一个函数把矩阵的每一个行映射到参与方P,即矩阵的第i(i=1, 2, …, l)行被标识为参与方ρ(i),当考虑列向量ν=(α, r2, r3, …, rn),其中α∈Zp是将要共享的秘密值,r2, r3, …, rn是随机数, 则向量Αν为秘密α的l个共享子秘密,且(Αν)i属于参与方ρ(i)。
假定一个LSSS秘密共享方案的访问结构为
引理1[15] 定义X、Y和Z为随机变量,假如Y有2r种可能取值,则H∞(X|(Y, Z))≥H∞(X|Z)-r。
定理1[15] 当H∞(X|Z)≥log |
随机提取器[12] 当所有的随机变量(X, Z),X∈
X为Ω的离散分布[15],定义它的最小熵为H∞(X)=-log(
访问结构用f表示,定义(Ienc, Ikey)为加密操作和密钥生成操作,在KP-ABE中,有(Ienc, Ikey)=(ω, f),模型中允许敌手选择云服务提供者,并且腐化他们进行恶意攻击。S代表属性集,安全模型包括以下几个阶段:
1) 初始化。敌手A宣布一系列加密属性集S用于挑战阶段生成挑战密文,并把属性集S提交给挑战者。
2) 系统参数建立。挑战者运行初始化算法,将公共参数发给敌手A。
3) 阶段1。敌手重复发出私钥询问给相应的访问结构(L, π),但是ω*不满足访问结构(L, π),ω*是敌手准备攻击的属性。
4) 挑战。敌手输出两个属性长度相同的明文M0和M1,挑战者随机选择b∈{0, 1},加密明文(M, S*),并把密文CT作为挑战发给敌手A。
5) 阶段2。敌手的属性在不满足挑战访问结构(L, π)的条件下,重复阶段1的过程,发出更多的询问。
6) 猜测。敌手输出猜测的β′, 假如β=β′,则敌手获胜,敌手在游戏中的优势为|Pr[β=β′]-1/2|。
3 固定密文长度的可验KP-ABE外包解密方案 3.1 可验证外包解密方案模型定义可验证外包属性基解密方案模型通常由以下算法组成。
1) Setup (λ,n)。运行Setup′(λ,n)得一外包ABE密钥对(MPK′,MSK′),对于消息空间
2) Encrypt(MPK,M,Ienc)。随机消息K,明文M,运行Encrypt′(MPK′,K,Ienc),输出密文C。另外定义标签为Lab0=H0(K)计算对称加密密钥KSE=h(K),计算对称加密密文CSE=SE.Enc(KSE, M)和标签Lab=H1(Lab0‖CSE),输出最后密文CTIenc=(C, CSE)和验证密钥VK=Lab。
3) KeyGenout(MPK,MSK,Ikey)。外包密钥生成算法输入主私钥MSK,主公钥MPK和密钥生成算法Ikey,输出转换公钥Tkout和转换私钥Skout。
4) Transform(Tkout,CTIenc)。密文转换算法输入转换公钥Tkout和密文CTIenc。输出部分解密密文即转换密文CTout=(CTout′, CSE)。
5) Decryptout(MPK,Skout,CTout)。首先解密算法计算出随机消息K,然后计算Lab0=H0(K),若H(Lab0‖CSE)≠VK输出⊥,否则计算KSE=h(K),输出明文M=SE.Dec(KSE,CSE)。
3.2 固定密文长度的可验证外包解密方案1) Setup (λ,n)。初始化算法输入安全参数λ∈N和n∈N,n表示在密文中属性数,随机选择循环双线性群(G0, G1),以素数p > 2λ为阶,g为G0的生成元。对于消息空间
2) KeyGen(msk, A′)。定义非单调访问结构A′=NM(A),A为单调访问结构[16]。该算法利用线性秘密共享方案,获得主密钥α的共享数据{λi}, 共享数据λi可以用潜在属性素数x′i来表示,随机选择ri←Zp定义ρi=(ρi, 1, ρi, 2, …, ρi, n)T=(1, xi, xi2, …, xin-1),ρi, j=xij-1。输出私钥skA′=(Di, 1, Di, 2, Kρi, i),i∈{1, 2,…, n}则:
$ \begin{array}{l} {D_{i, 1}} = {g^{{\lambda _i}}} \cdot {h_1}^{{r_i}}, {D_{i, 2}} = {g^{{\lambda _i}}}, \\ {K_{{\rho _{i, j}}}} = {\left\{ {{K_{i, j}} = {{\left( {{h_1}^{-{\rho _{i, n}}/{\rho _{i, 1}}}\cdot{h_j}} \right)}^{{r_i}}}} \right\}_{j = 2, 3, \ldots, n}}\\ s{k_{{A'}}} = {\left\{ {{D_i}} \right\}_{{{x}'_i} \in {P_i}}} \in {G^{l \times \left( {n + 1} \right)}}。\end{array} $ |
3) Encrypt(mpk, M, S)。随机选一个消息R∈GT运行加密算法Encrypt(mpk, R, S),访问矩阵A是l行乘n列,函数ρ的作用是把矩阵中的行映射到属性。随机选择s←RZp是将要共享的秘密值,随机选择列向量ν=(s, r2, …, rn),r2, r3, …, rn∈Zp是随机数,则向量Αν为秘密s的l个共享子秘密,且(Αν)i属于参与方ρ(i)。定义I⊂{1, 2, …, l},计算{λi}i∈I=(Αν)i,存在常量值{ωi∈Zp}i∈I, 则
$ C = ({C_0}, {C_1}, {C_2}) = (R \cdot e{\left( {g, g} \right)^{\alpha s}}, {g^s}, {\left( {{\rm{}}h_1^{{y_1}}, h_2^{{y_2}}, \cdots, h_n^{{y_n}}} \right)^s}) $ |
另外Lab0=H0(R),计算对称加密密钥KSE=h(R),利用对称加密方案加密明文得CSE=SE.Enc(KSE, M),而后生成验证标签Lab=H1(Lab0, CSE), 最后输出密文CT=(C, CSE)和验证密钥VK=Lab。
4) KeyGenout(skA′, z)。外包密钥生成算法输入私钥skA′和随机数z∈Zp,输出外包私钥Skout=z,外包公钥Tkout=Di ′=(D′i, 1, D′i, 2, K′ρi, i),i={1, 2, …, n}:
$ \begin{array}{l} {D_{i, 1}}^\prime = {g^{{\lambda _i}/{z}}}{h_1}^{{r_i}}\\ {D_{i, 2}}^\prime = {g^{{r_i}}}\\ {K_{{\rho _{i, i}}}} = {\left\{ {{K_{i, j}} = {{\left( {{h_1}^{-{\rho _{i, n}}/{\rho _{i, 1}}}\cdot{h_j}} \right)}^{{r_i}}}} \right\}_{j = 2,3, \ldots, n}} \end{array} $ |
5) Decryptout(Tkout, A′, CT, S)。非单调访问结构A′=NM(A),A为单调访问结构。如果属性集S不属于A′,则输出⊥;否则,利用线性秘密共享方案LSSS,可以得S′=N(S), 让I=(i:xi′∈S′), 因为S′是在A中授权的,外包云服务器可以有效计算系数{ωi∈Zp}i∈I, 则
$ \begin{align} &{{K}_{i}}=\underset{j=2}{\overset{n}{\mathop \prod }}\, {{K}_{i, j}}^{{{y}_{i}}}={{\left( {{h}_{1}}^{-\left\langle {{\mathit{\boldsymbol{\rho}}}_{i}}, \mathit{\boldsymbol{Y}} \right\rangle /{{\rho }_{i, 1}}}\cdot {{h}_{1}}^{{{y}_{1}}}\cdot\ \cdots\ \cdot\ {{h}_{n}}^{{{y}_{n}}} \right)}^{{{r}_{i}}}} \\ &C{{{{T}'}}_{\rm{out}}}=e({{C}_{1}}, {{(\underset{i\in I}{\mathop \prod }\, {{{{D}'}}_{i, 1}})}^{{{\omega }_{i}}}})\cdot \\ &\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{\left( \frac{e\left( {{C}_{1}}, {{(\prod\limits_{i\in I}{{{K}_{i}}})}^{{{\omega }_{i}}}} \right)}{e\left( {{C}_{2}}, {{(\prod\limits_{i\in I}{{{{{D}'}}_{i, 2}}})}^{{{\omega }_{i}}}} \right)} \right)}^{\frac{{{\rho }_{I, 1}}}{\left\langle {{\mathit{\boldsymbol{ \rho}}}_{i}}, \mathit{\boldsymbol{Y}} \right\rangle }}}=e{{\left( g, g \right)}^{\alpha s/z}} \\ \end{align} $ |
返回密文CTout=(C0, CT′out, CSE)。
6) Decrypt(Skout, CTout, VK)。运行解密算法,计算得e(g, g)αs=(CT′out)z=(e(g, g)αs/z)z,那么可以恢复随机消息R=C0/e(g, g)αs。然后计算Lab0=H0(R):假如H1(Lab0‖CSE)≠VK,则输出⊥;否则计算KSE=h(R),解密出明文M=SE.Dec(KSE, CSE)。
正确性判断:
$ \begin{align} &{{\left( \frac{e\left( {{C}_{1}}, {{(\prod\limits_{i\in I}{{{K}_{i}}})}^{{{\omega }_{i}}}} \right)}{e\left( {{C}_{2}}, {{(\prod\limits_{i\in I}{{{{{D}'}}_{i, 2}}})}^{{{\omega }_{i}}}} \right)} \right)}^{\frac{{{\rho }_{i, 1}}}{\left\langle {{\mathit{\boldsymbol{ \rho}}}_{i}}, \mathit{\boldsymbol{Y}} \right\rangle }}}= \\ &{{\left( \frac{e\left( {{g}^{s}}, {{\left( {{\prod\limits_{i\in I}{\left( {{h}_{1}}^{-\left\langle {{\mathit{\boldsymbol{\rho }}}_{i}}, \mathit{\boldsymbol{Y}} \right\rangle /{{\rho }_{i, 1}}}\cdot {{h}_{1}}^{{{y}_{1}}}\cdot\ \cdots\ \cdot {{h}_{n}}^{{{y}_{n}}} \right)}}^{{{r}_{i}}}} \right)}^{{{\omega }_{i}}}} \right)}{e\left( {{\left( {{h}_{1}}^{{{y}_{1}}}\cdot {{h}_{2}}^{{{y}_{2}}}\cdot\ \cdots\ \cdot {{h}_{n}}^{{{y}_{n}}} \right)}^{s}}, {{(\prod\limits_{i\in I}{{{g}^{{{r}_{i}}}}})}^{{{\omega }_{i}}}} \right)} \right)}^{\frac{{{\rho }_{i, 1}}}{\left\langle {{\mathit{\boldsymbol{\rho }}}_{i}}, \mathit{\boldsymbol{Y}} \right\rangle }}}= \\ &\prod\limits_{i\in I}{e{{\left( g, {{h}_{1}} \right)}^{-\left( s{{\omega }_{i}}{{r}_{i}} \right)}}} \\ \end{align} $ |
所以:
$ \begin{align} &e({{C}_{1}}, {{(\underset{i\in I}{\mathop \prod }\, {{{{D}'}}_{i, 1}})}^{{{\omega }_{i}}}})\cdot \underset{i\in I}{\mathop \prod }\, e{{\left( g, {{h}_{1}} \right)}^{-\left( s{{\omega }_{i}}{{r}_{i}} \right)}}= \\ &\underset{i\in I}{\mathop \prod }\, e{{\left( g, g \right)}^{{{\omega }_{i}}{{\lambda }_{i}}s/z}}=e{{\left( g, g \right)}^{\alpha s/z}} \\ \end{align} $ |
RCCA(Replayable Chosen Ciphertext Attacks)安全:运用RCCA安全[13]对于可验证ABE外包解密,它们之间的区别是对手获得一个固定长度的密文,这可能与加密的消息中的挑战密文有关。游戏1包含挑战者和敌手A1,具体包括以下步骤:
Setup:挑战者运行Setup(κ, U)生成主密钥对(mpk, msk),把msk给敌手。
Phase 1:挑战者初始化一个空表T,一个空属性集D和一个计数器j:=0。敌手可以重复对下面的问题进行适应性的询问:
Create(Ikey):挑战者设置j:=j+1,首先运行KeyGenout(msk, Ikey)获得密钥对(Tkout, Ikey, Skout, Ikey),然后发送Tkout, Ikey给敌手,并存储在表T中,一行实体为(j, Ikey, Tkout, Ikey, Skout, Ikey)。
Corrupt(i):假如表中存在第i个实体(i, Ikey, Tkout, Ikey, Skout, Ikey),挑战者获得这个实体(i, Ikey, Tkout, Ikey, Skout, Ikey)。假如if(Ienc*, Ikey)=1,则返回⊥,否则返回选手解密密钥Skout, Ikey和属性D:=D∪{Ikey}。假如不存在这样的实体则返回⊥。
Decrypt(i, (VK, CTout)):假如表中存在第i个实体,挑战者获得实体(i, Ikey, Tkout, Ikey, Skout, Ikey)并发送解密密文Decrypt(Skout, Ikey, VK, CTout)给敌手;如果不存在这样的实体则返回⊥。
Challenge:敌手提交两个等长的消息M0和M1和挑战算法Ienc*,其中不能进行私钥询问即if(Ienc*, Ikey)≠1,挑战者随机选择b∈{0, 1},运行加密算法Encrypt(mpk, Mb, Ienc*)获得挑战密文
Phase 2:重复阶段1的询问,但是除了以下的询问:
1) 敌手不能进行Corrupt(i)来询问Ikey∈D, 使得if(Ienc*, Ikey)=1。
2) 如果解密出明文为M0或M1,那么挑战者则回应特殊的消息⊥。
Guess:敌手猜测b′=b。敌手猜对的优势为AdvABEout, Arcca(κ):=|Pr[b=b′]-1/2|。
定义3 可验证ABE外包解密是RCCA安全,当在概率多项式时间(Probabilistic Polynomial Time, PPT)内,敌手猜测成功的优势可忽略。
定理2 假设传统外包ABE方案是CPA(Chosen-Plaintext Attack)安全,
证明 本文定义三个游戏:游戏1、游戏2、游戏3。其中:游戏1是原始传统CPA安全证明,目的是证明任意两个游戏之间对于敌手是不可区分的,在游戏3中,敌手不可区分加密的是消息M0还是M1。令Si代表敌手在游戏i中成功的可能性。
游戏1 这是原始的CPA安全,令(
游戏2 选择随机消息R*∈
游戏3 在这个游戏中除了KSE*被替换成真正随机的RSE*∈{0, 1}lSE外,其他均同于游戏2。
假设1 假如外包ABE方案是CPA安全,那么敌手对游戏1和游戏2在计算上是不可区分的。
证明 首先定义一个概率多项式时间算法Sim,希望能在敌手A1的帮助下打破CPA安全的ABE方案,Sim依靠挑战密文来模仿敌手A1看待游戏1和游戏2的观点。
初始化 Sim首先运行挑战者,获得挑战共公参数mpk′*,选择两个耐碰撞散列函数H0*和H1*,选择一密钥提取器h*∈
阶段1 敌手A1可以重复进行Create(Ikey)和Corrupt(i)进行询问。
挑战 敌手发送两个等长的消息M0和M1和加密方法Ienc*,模拟器Sim选择两个随机密钥K*、R*∈
阶段2 敌手重复阶段1的相关询问,但是不能进行满足f(Ienc*, Ikey)=1的相关询问。
猜测 模拟器可以完全模拟敌手在游戏1、2中的观点,所以可得出:
$ |\Pr [{{S}_{0}}]-\Pr [{{S}_{1}}]|\le 2Adv_{AB{{E}_{\rm{out}}}, \mathscr{B}}^{\rm{cpa}}(\kappa ) $ |
多个敌手
假设2 假设
证明 选择游戏2和游戏3的随机密钥R*、随机提取器h*和主公钥mpk,另外计算Lab0*=H0*(R*)有2lH0种可能取值,因此:
$ \begin{align} &\overline{{{H}_{\infty }}}({{R}^{*}}|(mpk, C_{I_{\rm{enc}}^{*}}^{'*}, {{h}^{*}}, Lab_{0}^{*}))\ge \\ &\ \ \ \ \ \ \ \overline{{{H}_{\infty }}}({{R}^{*}}|(mpk, C_{I_{\rm{enc}}^{*}}^{'*}, {{h}^{*}}))-{{l}_{{{H}_{0}}}}=\log |\mathscr{M}|-{{l}_{{{H}_{0}}}} \\ \end{align} $ |
对敌手来说0 < lSE≤log |
假设3 假如对称加密方案SE是语义安全的,那么敌手在游戏3中有可忽略的优势。
证明 在游戏3中获得真实随机的对称加密密钥RSE*,那么我们可以直接构建一个算法
在上述安全性证明中,本文只考虑(选择性)CPA安全。同时,如果潜在的外包加密方案是RCCA安全同时对称加密方案也是RCCA安全,也可证明可验证性外包解密方案也是RCCA安全。到目前为止,所有的RCCA安全外包ABE依靠Random Oracle(RO),因此由此产生的可验证方案只是RO模型下是RCCA安全。
定理3 假设H0和H1是耐碰撞散列函数,那么本文外包解密ABE方案是可验证的。
证明 考虑敌手A1攻击可验证性,本文建立一个有效算法Sim打破哈希函数(H0, H1)的抗碰撞性。假设两个挑战哈希函数(H0*, H1*)。Sim运行初始化算法,生成主公钥MPK和主私钥MSK。因为Sim知道主私钥,因此它可以在阶段1和阶段2过程中模仿敌手的询问。敌手发送一个挑战明文M*和加密方法Ienc*,模拟器先随机选择一个密钥K*∈l, 然后运行加密算法Encrypt′(mpk′, M, Ienc*)获得密文
情形1 (CSE, Lab0)≠(CSE*, Lab0*),假如这种情形出现,那么Sim获得的碰撞哈希函数H1*。
情形2 (CSE, Lab0)=(CSE*, Lab0*),但是,K≠K*则可得H0*(K)=Lab0=Lab0*=H0*(K*),那么说明抗碰撞哈希函数H0*被破坏。
4.2 性能分析基于benchmark中的实验数据,通过对模指数和双线性对的理论分析,下面从通信开销和计算开销方面对方案进行性能分析,给出本文方案和文献[5, 11-13]方案的性能比较,如表 1所示。其中n指的是方案的访问结构中的属性个数,|G0|表示群G0中元素的长度, lH代表CRH函数的输出大小。本方案外包密钥生成时运算次数需进行n次G0群上的指数运算;Green等方案需进行2n次G0群上的指数运算。综上,本方案在通信开销和外包密钥生成算法上比较有优势,节省时间。综合考虑无疑本方案更加适用于实际环境。在表中,l代表LSSS访问结构中的l行,Out.CT.size代表外包密文大小,Ken.out表示外包密钥运算次数。
本文分析了有效验证属性基外包解密方案。结果表明, 该方案没有关注外包密文的长度,密文大小随着属性的增加而增大,这不利于通信传输。外包密钥生成时间随着属性而增加,同时也不适用于计算能力有限的小型移动设备。本文改进了该方案,实现固定密文大小的可验证KP-ABE外包解密方案,有效缩短外包密钥生成时间,并在标准模型下证明了其安全性。
[1] | SAHAI A, WATERS B. Fuzzy identity-based encryption[C]//Proceedings of the 24th Annual International Conference on Theory and Applications of Cryptographic Techniques. Berlin:Springer, 2005:457-473. |
[2] | GOYAL V, PANDEY O, SAHAI A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM Conference on Computer and Communications Security. New York:ACM, 2006:89-98. |
[3] | ATTRAPADUNG N. Dual system encryption via doubly selective security:framework, fully secure functional encryption for regular languages, and more[C]//Proceedings of the 2014 Annual International Conference on the Theory and Applications of Cryptographic Techniques. Berlin:Springer, 2014:557-577. |
[4] | YAMADA S, ATTRAPADUNG N, HANAOKA G, et al. Generic constructions for chosen-ciphertext secure attribute based encryption[C]//Proceedings of the 2011 International Workshop on Public Key Cryptography. Berlin:Springer, 2011:71-89. |
[5] | GREEN M, HOHENBERGER S, WATERS B. Outsourcing the decryption of ABE ciphertexts[C]//Proceedings of the 20th USENIX Conference on Security. Berkeley:USENIX Association, 2011:34-34. |
[6] | MAO X, LAI J, MEI Q, et al. Generic and efficient constructions of attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Dependable and Secure Computing, 2016, 13(5): 533-546. DOI:10.1109/TDSC.2015.2423669 |
[7] | LI J, HUANG X, LI J, et al. Securely outsourcing attribute-based encryption with checkability[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(8): 2201-2210. DOI:10.1109/TPDS.2013.271 |
[8] | PARNO B, RAYKOVA M, VAIKUNTANATHAN V. How to delegate and verify in public:verifiable computation from attribute-based encryption[C]//Proceedings of the 9th International Conference on Theory of Cryptography. Berlin:Springer, 2012:422-439. |
[9] | 陈飞, 韩益亮, 李晓策, 等. 支持通用电路的多线性映射外包属性加密方案[J]. 计算机应用, 2016, 36(10): 2747-2752. (CHEN F, HAN Y L, LI X C, et al. Outsourced attribute-based encryption for general circuit from multilinear maps[J]. Journal of Computer Applications, 2016, 36(10): 2747-2752. DOI:10.11772/j.issn.1001-9081.2016.10.2747) |
[10] | 方雪锋, 王晓明. 可撤销用户的外包加解密CP-ABE方案[J]. 计算机工程, 2016, 42(12): 124-128, 132. (FANG X F, WANG X M. Outsourced encryption and decryption CP-ABE Scheme with user revocation[J]. Computer Engineering, 2016, 42(12): 124-128, 132. DOI:10.3969/j.issn.1000-3428.2016.12.022) |
[11] | LAI J, DENG R H, GUAN C, et al. Attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2013, 8(8): 1343-1354. DOI:10.1109/TIFS.2013.2271848 |
[12] | QIN B, DENG R H, LIU S, et al. Attribute-based encryption with efficient verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(7): 1384-1393. DOI:10.1109/TIFS.2015.2410137 |
[13] | ATTRAPADUNG N, LIBERT B, DE PANAFIEU E. Expressive key-policy attribute-based encryption with constant-size ciphertexts[C]//Proceedings of the 14th International Conference on Practice and Theory in Public Key Cryptography Conference on Public Key Cryptography. Berlin:Springer, 2011:90-108. |
[14] | 刘梦君, 刘树波, 王颖, 等. 基于LSSS共享矩阵无授权策略的属性密码解密效率提高方案[J]. 电子学报, 2014, 43(6): 1065-1072. (LIU M J, LIU S B, WANG Y, et al. Optimizing the decryption efficiency in LSSS matrix-based attribute-based encryption without given policy[J]. Acta Electronica Sinica, 2014, 43(6): 1065-1072.) |
[15] | WATERS B. Dual system encryption:realizing fully secure IBE and HIBE under simple assumptions[C]//Proceedings of the 29th Annual International Cryptology Conference on Advances in Cryptology. Berlin:Springer-Verlag, 2009:619-636. |
[16] | YAMADA S, ATTRAPADUNG N, HANAOKA G, et al. A framework and compact constructions for non-monotonic attribute-based encryption[C]//PKC 2014:Public Key Cryptography, LNCS8383. Berlin:Springer, 2014:275-292. |