门限签名(1)——秘密共享

门限签名(threshold signature区块链中叫多重签名 multisig),即n个用户中有t个签名时,签名有效。
秘密共享是门限签名的一种特殊情况,即多个用户共享一个秘密,并不是把秘密发给每个人,而是把秘密拆分开发给每个人(当然,也不能直接把信息拆开分发,存在语义上的安全问题),我总结的条件为:
(1)用户能够验证自己的秘密份额是正确的
(2)数量足够的用户能够重构秘密
对于条件(1),就是要让秘密份额满足某个等式,等式中包含公开信息和私人信息,对于条件(2),要求秘密份额包含秘密的信息,一种载体是拉格朗日插值,少于t个信息不能重构t-1次多项式,且都是普通运算,适合搬到有限域。
我们假设秘密为 S S S,构造一个多项式
F ( x ) = S + ∑ l = 1 t − 1 x l F l F(x)=S+\sum_{l=1}^{t-1}x^l F_l F(x)=S+l=1t1xlFl
其中, F l F_l Fl是有限域中随机选取的元素。
F ( i ) F(i) F(i)发送给第 i i i个用户,且有 S = F ( 0 ) S=F(0) S=F(0),注意, F ( i ) F(i) F(i)看上去是一个随机数。
重构时, F ( x ) = ∑ j ∈ Φ π x j Φ S j F(x)=\sum_{j\in \Phi} \pi_{xj}^{\Phi}S_j F(x)=jΦπxjΦSj
其中, π x j Φ = Π m ∈ Φ , m ≠ j x − m j − m \pi_{xj}^{\Phi}=\Pi_{m\in \Phi, m\neq j}\frac{x-m}{j-m} πxjΦ=ΠmΦ,m̸=jjmxm为拉格朗日插值的系数,小于t个已知值时,不能插值得到正确的 S S S

你可能感兴趣的:(数字签名)