两种特性:①可验证,参与秘密共享方可以验证自己的秘密份额是否正确
②计算安全,不存在概率多项式复杂度算法破解,或者遵循某些数学困难假设。
因为秘密是共享的,某人的秘密份额是否正确需要和其它人的秘密份额作某些计算,实现可验证性需要所有人的信息,包裹在Hash函数中可以验证每个元素是否相等,但无法作计算,而包裹在双线性对中可以作加法、乘法计算。
用到的双线性对性质:
① e ( a , P ) e ( b , P ) = e ( a + b , P ) e(a,P)e(b,P)=e(a+b,P) e(a,P)e(b,P)=e(a+b,P)
② e ( a , P ) b = e ( a b , P ) = e ( a , b P ) e(a,P)^{b}=e(ab,P)=e(a,bP) e(a,P)b=e(ab,P)=e(a,bP)
③ e ( a P , b P ) = e ( a b P , P ) e(aP,bP)=e(abP,P) e(aP,bP)=e(abP,P)
流程:
1 随机选择 F 1 , . . . , F t − 1 F_1,...,F_{t-1} F1,...,Ft−1以构建多项式 F ( x ) = S + x F 1 + . . . + x t − 1 F t − 1 F(x)=S+xF_1+...+x^{t-1}F_{t-1} F(x)