关于LSSS
1
LSSS英文精确定义如下:
翻译后:
一个关于参与者集合 P \Rho P关于秘密分享方案 Π \Pi Π在 Z p Z_p Zp上是线性的,则需要满足以下条件:
1.每一个参与者的分享份额(见2点)构成 Z p Z_p Zp上的一个向量;
2.存在一个关于 Π \Pi Π的秘密生成矩阵 M M M,这个矩阵有 m m m行 d d d列,对于 i = 1 , 2 , . . . . m i=1,2,....m i=1,2,....m, M M M的第 i i i行 M i M_i Mi被一个参与者 ρ ( i ) \rho (i) ρ(i)标识, ρ \rho ρ是一个从 { 1 , 2 , . . . , m } \{1,2,...,m\} {1,2,...,m}映射到 P \Rho P的一个函数。给一个列向量 v ⃗ = ( s , r 2 , . . . , r d ) \vec {v}=(s,r_2,...,r_d) v=(s,r2,...,rd),其中 s ∈ Z p s \in Z_p s∈Zp是需要共享的秘密, r 2 , r 3 , . . . , r d r_2,r_3,...,r_d r2,r3,...,rd是随机选取的。 M v ⃗ M \vec{v} Mv表示 Π \Pi Π对秘密 s s s的 m m m个分享份额, λ i = ( M v ⃗ ) i \lambda _i=(M\vec{v})_i λi=(Mv)i是属于参与者 ρ ( i ) \rho(i) ρ(i)的分享份额。
初步感知一下 M M M是 m m m行 d d d列的, v ⃗ \vec{v} v是 d d d行 1 1 1列的, M v ⃗ M\vec{v} Mv则是 m m m行 1 1 1列的,每一行的一个值就是每个对应的参与者的分享份额。
2
下面讲如何讲访问树(access tree,构造参见分栏KP-ABE那一篇)转化为分享生成矩阵。前面一篇讲过访问树叶子节点代表属性,非叶节点表示与或门,约定 ( 1 , 0 , 0 , . . . , 0 ) (1,0,0,...,0) (1,0,0,...,0)是目标向量。首先,根节点标识为 ( 1 ) (1) (1),全局计数器 c = 1 c=1 c=1,自上而下构建其他节点。