通用访问结构上的非完美秘密共享
1. 非完美秘密共享基础
在非完美秘密共享(NSS)中,我们会用到目标矩阵。目标矩阵是指所有元素为0或1,且所有1都位于矩阵前z列中的某些j列里的矩阵集合。分发者会选择一个随机向量v = (s1, s2, …, sz, ρ1, ρ2, …, ρe - z)。对于每一行i,分发者会向玩家ψ(i)发送份额⟨Mi, vT⟩,其中Mi1×e表示矩阵Md×e的第i行。
对于任意子集X ⊂ P,当∆(X) = (1/|S|, 1/|S|)时,根据广义单调跨度程序(GenMSP)的性质可以重构秘密s。因为存在重组向量λ(i)X,使得⟨λ(i)X, SX⟩ = si,这里SX表示X中玩家的份额向量,1 ≤ i ≤ z。同样,目标函数的选择确保了对于任意A ⊂ P,当∆(A) = (α, β)时,有1/(α|S|) ≤ 从A中玩家的份额重构s的概率 ≤ 1/(β|S|)。
该方案可行的原因在于,对于允许z个si中的j个被泄露的集合A,我们要保证从A中玩家的份额来看,在前z列中恰好有一个1的向量最多有j个属于A的张成空间。这样就无法重构出超过j个si。
理想情况下,我们希望构建与给定访问层次结构相对应的最小GenMSP,但这是一个非常困难的问题。不过,我们可以通过已知的GenMSP(如阈值、斜坡、多级层次结构等方案)及其对应的访问层次结构,构建新的GenMSP,从而为任何访问层次结构构建NSS方案。
2. 构建NSS方案的框架
2.1 GenMSPTree的定义
我们构建NSS方案的框架基于虚拟份额和GenMSP的组合概念。核心是广义单调跨度程序树(GenMSPTree),给定玩家
超级会员免费看
订阅专栏 解锁全文
48

被折叠的 条评论
为什么被折叠?



