Page 263 - 《软件学报》2020年第12期
P. 263
罗王平 等:一种支持快速加密的基于属性加密方案 3929
*
项式 Q j (x),其中,0=Q j (0)且 Q j (x)的其他系数从群 Z 中随机选择.再对非叶子节点 I j 的每个孩子节点
p
I j,child 计算部分秘密值 s i,j =Q j (index(I j,child ))(其中,index(I j,child )表示孩子节点 I j,child 在兄弟节点中的序号,
从左往右进行编号),将该秘密值输出至每个叶子节点 L i ∈I j,child 所在 Reduce 操作,即 Map 操作输出的
键值对为(L i ,s i,j );
′
s
*
¾ 针对叶子节点 L i ,Map 操作输入的键值对为(L i ,g ),随机选择 r′∈ Z ,令 r = r s⋅ ,计算:
p
i
i
i
B′′= i T i − i r′ ,C = i (g s ) = i r′ g i r .
′′
将计算结果输出至叶子节点 L i 所在的 Reduce 操作,即 Map 操作输出的键值对为 (,( ,L BC i )).
i
i
• Reduce 操作
′′
以叶子节点 L i 在 Map 操作输出的键值对 (,( ,L BC i )) 与该叶子节点到根节点路径上所有非叶子节点 I j 在
i
i
Map 操作输出的键值对(L i ,s i,j )为 Reduce 操作的输入,令 s′ =+ ∑ | parents L )| s , i j (其中,parents(L i )表示根节点到叶子
( i
1
i
j=
1
as′
节点 L i 路径上所有非叶子节点集合),计算 B′ i g B′ = as′ i i ′ = g T i − i r′ ,该叶子节点 L i 在 Reduce 操作输出的键值对为
i
′
( ,( ,L BC i )).
i
i
用 户客户 端将 {}B′ ii T∈ LeafNode 下载 至本 地 ,计算 B = i ()B′ = i s g T i − i r (其中 , s = ss⋅ ),将密 文子 项 C,C′,C 0 ,
′
as
i
i
i
{} LeafNode 上传至云服务器,并将密文 CT 交由云服务器存储.数据 M 在共享访问树 T 下的完整密文 CT 如下:
B
ii T∈
α
CT =〈 , T C = R e ⋅ ( ,g g 2 ) ,C′ = M ⊕ , r C = g ∀ ∈ LeafNode : B = g T i − i r ,C = g i r . 〉
s
s
as
, i T
i
i
i
0
开始
选择随机值R
R
共享逻辑表达式和g s
计算s,C,C′,C 0 构建访问树
(L i , g s ) (L j , L set )
选择d-1次多 选择d-1次多
随机选择r′ i 随机选择r′ i
(令r i =r′ i ·s) (令r i =r′ i ·s) 项式Q j (x) 项式Q j (x)
用 Map … … 云
户 计算s i,j = 计算s i,j = Spark 并行处理
客 S,C,C′,C 0 计算B″ i ,C i 计算B″ i ,C i Q j (index(I j,child )) Q j (index(I j,child )) 服
户 务
端 (L i , (B″ i ,C i )) (L i , (B″ i ,C i )) (L i , s i,j ) 器
(L i , s i,j )
Reduce 计算s′ i ,B′ i … 计算s′ i ,B′ i
(L i , (B′ i ,C i ))
{B′ i }
B i =(B′ i ) s 整合B′ i ,C i
C,C′,C 0 ,{B i }
存储成功
结束 存储密文CT
Fig.3 Flow chart of encryption
图 3 加密流程图
(4) 解密:Decrypt(CT,TK,DK)
解密时,先将大部分解密工作交由云服务器完成,再由用户客户端完成最后的解密工作.
• 云服务器解密
若用户私钥属性集合 S 不满足 T,则直接输出⊥;否则,继续下面的计算.
对于共享访问树 T 的叶子节点 x,i=att(x)(att(x)为叶子节点 x 的属性),其解密算法为