Bootstrap

shamir秘密共享算法_密码学算法:shamir门限密钥共享算法

算法原理

(t,w)门限密钥共享方案,该方案是Shamir在1979年提出。Shamir(t,w)门限方案是通过构造一个t-1次多项式,将需要共享的主密钥S作为常数项,碎片密钥分成w部分给w个参与者,当碎片密钥数量大于或者等于t的话,就可以求解出这个主密钥S。

子密钥生成

构造多项式

e85eedb9d721fde37b55e794e8d9febc.png

其中s为密钥,p为素数(s

取w个不相等的x带入F(x)中,得到w组子密钥,分发给w个人保管

将p公开,销毁子密钥生成多项式,每个人保管自己的子密钥

恢复密钥

构造多项式b9383fae7e41db3c83425404bc7a8a93.png

此多项式为上面多项式的变形

取x=0,代入t组密钥可以求解出F(0),也就是主密钥s

算法实现代码

python代码

import random
import math

# 输入p, w, t, s 程序入口

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;