门限秘密分割
秘密s
被分成n
份毫无相关的部分信息,每一部分信息称为一个子密钥,由一个参与者持有,只有至少拥有k
份子密钥时才能恢复出秘密s
,这种方案为(k, n)-秘密分割门限方案
,k
称为方案的门限值
Shamir门限方案就是一种门限秘密分割方案,他是基于拉格朗日插值公式的。
子密钥生成算法
- 秘密为
S
- 取大素数
p
- 确定
n
,作为子密钥的持有者的数量 - 确定
k
,作为门限值 - 在
1
到p
的有限域中随机取k-1
个数,记做,作为 k-1
次多项式f(x)
的非常数项的系数 - 写出多项式为
,共n项, S
是秘密,作为常数项放在多项式内 n
个持有者记做, 分到的子密钥为 - 销毁多项式
复原秘密
复原秘密至少需要 k 个子密钥
利用
而我们如果只需要计算秘密,就只需要将x=0带入,得到的数就是所需要的秘密