Classic Feldman VSS
Feldman的VSS是非常经典的. 最近VSS在门限签名的设计中应用非常广. VSS的目标是: 即使存在一些腐化的参与者, 也要保证所有的诚实参与者都收到正确的, 一致的shares(valid, consistent).
方案描述
首先, 我们假设 b 0 = s b_0 = s b0=s, 多项式 b ( x ) = ∑ i = 0 t − 1 b i x i b(x) = \sum_{i = 0}^{t - 1}b_ix^i b(x)=∑i=0t−1bixi. 这个多项式的常数项为秘密值.
在分发秘密时, 第三方广播 B i = b i G ( 0 ≤ i < t ) B_i = b_iG (0 \leq i < t) Bi=biG(0≤i<t).
每个参与者 P j P_j Pj, 拿到的分享为 s j = b ( α j ) s_j = b(\alpha_j) sj=b(αj). 参与者可以进行验证: s j ⋅ G = ∑ i = 0 t − 1 B i α j i s_j \cdot G = \sum_{i = 0}^{t-1} B_i \alpha_j^i sj⋅G=∑i=0t−1Biαji.
因为所有的参与者都获得了相同的广播, 所以这保证了他们获得了同一个多项式上的秘密分享.
安全性
经典的Feldman VSS考虑的是诚实者大多数模型. 安全性考虑的是 guaranteed output delivery, 即被腐化的参与者不能阻止诚实的参与者获得输出.
Feldman VSS的安全性. 秘密分享的安全性需要保证: 关于 s s s 的任何信息在传播的过程中没有被泄露. 然而在Feldman VSS中, s G sG sG 被泄露了. 所以这个方案并不是特别安全, 除非被分享的是 s s s 的hardcore, 不是 s s s 本身.