Page 264 - 《软件学报》2020年第12期
P. 264
3930 Journal of Software 软件学报 Vol.31, No.12, December 2020
DecNode ( )x = ( e B x , )(L e C K = x , i ) ( e g aQ x (0) T i − x r , g t β )(e g x r ,T i t β ) = e ( , )g g a tQβ x (0) .
其中,Q x (0)=s x .
对于共享访问树 T 的非叶子节点,其解密算法如下:
(0) = iindex () z
DecNode x ( )z , ′ x , where ′ = x S {index z z S }
() = ∏ DecNode
Δ iS
( ): ∈
zS x
∈ x
= ∏ ( ( , )eg g atQ z (0) Δ iS , ′ x (0)
β
)
zS
∈ x
= ∏ ( ( , )eg g atQ parent z () (index z ) , ′ x (0)
β
( )) Δ iS
zS
∈ x
= ∏ ( ( , )eg g atQ x i () Δ iS , ′ x (0)
β
)
zS
∈ x
β
= eg atQ x (0) ,
( , )g
其中, Δ () x = ∏ x − j .
, iS jS , j i ≠ i − j
∈
共享访问树 T 的根节点解密为
β
DecNode (root T ) = e ( , )g g atQβ root T (0) = e ( , )g g ats .
最后再计算:
at
) )
( eC , )K ( e g s ,(g g αβ
F = 0 = 2 = e (,g g 2 ) α sβ .
β
DecNode (root T ) e ( , )g g ats
• 用户客户端解密
数据所有者或共享用户将密文子项 C,C′和云服务器计算的结果 F 下载至本地,解密数据 R 的算法如下:
Decrypt (CT DK = , ) C − = R e⋅ (,g g 2 ) α s − = . R
F β 1 (( ,e g g 2 ) α sβ ) β 1
αs
计算 M=C′⊕H 2 (R),s=H 1 (R,M):若 C=R⋅e(g,g 2 ) 且 F=e(g,g 2 ) αsβ ,则输出 M;否则,直接输出⊥.
5 安全性与性能分析
5.1 安全性分析
定理 4. 对于任意基于访问树 T 的秘密共享方案,都存在一个线性秘密共享方案(M,ρ)与之等价.
证明:不妨假设访问树 T 为二叉树(任意树都可以转换为二叉树).设 T 有 n 个非叶子节点,依次编号为 1,2,…,
n;设 T 有 m 个叶子节点,依次编号为 1,2,…,m.为每个非叶子节点 i 选择函数 f i ()x = ω i , x ω i ∈ Z * p .
设从根节点到叶子节点 i 依次经过的非叶子节点(下面简称路径)为 , ,...,ii 2 i ,根据定理 1,第 i 个叶子节点的
i n
1
秘密共享数可表示为
i n
λ = s = s + ∑ f (index (i ))
i i j i j+ 1
j= 1
s ∑
1
=+ n b f j (index (suc ( ))),j ⎛ ⎜ ⎜ b = ⎨ ⎧ ⎪ 1, j ∈ { , ,..., }i i 2 i i n ⎞ ⎟ ⎟
ij
ij
j= 1 ⎝ ⎪ ⎩ 0, else ⎠
n
=+ ∑ ω iij (suc j ij 1 ,suc j 求 )
b index
( ) j在路径上的后继节点
s
( )), (b = 时
i= 1
n ⎛ ⎧ 1, suc ( )j 为左孩子 ⎞
=+ ∑ ω iij ij ⎜ b c , c = index (suc ))j = ⎨ ⎟ ⎟
(
s
⎜
ij
i= 1 ⎝ ⎩ 2, suc ( )j 为右孩子 ⎠
= (1,bc ,b c 2 i ,...,b c )( ,s ωω 2 ,...,ω n ) T
,
in in
2 i
i
11 i
1
T
( ,ωω
= Ms 1 , 2 ,...,ω n ) .
i