关于秘密共享方案的实例(shamir)

网上有些博主可能发布过相关的文章,我之前也动手算过一次,怎么算都算不对。后来发现mod p这个运算的除法运算比较独特。

首先介绍一个小费马定理
在这里插入图片描述
引申为:
在这里插入图片描述
那么有:
在这里插入图片描述

接下来步入正题:shamir(t, n)门限秘密共享方案

秘密分发阶段:

首先构造多项式:
在这里插入图片描述
其中S为我们的秘密。p是一个大素数,且S<p。取w个不相等的x,带入F(x)中,得到w组(xi,yi),分配给w个人,公开p,销毁多项式,每个人负责保密自己的(xi,yi)。

秘密重构阶段:
使用拉格朗日插值公式:
在这里插入图片描述
F(0) = S。

接下来拿一个实例来说明一下:

假设我们有w=4个人,设定至少t=3人才能恢复秘密。
秘密S=2,p=23
构造

在这里插入图片描述
取x1=1,x2=2,x3=3,x4=4
带入得y1=7,y2=16, y3=6,y4=0
利用3组进行恢复(1,7) (3,6) (4,0)

在这里插入图片描述
其中的除法,使用上述的小费马定理。

很多读者可能发现这个不使用小费马定理也可以解出来正确的结果。大家可以使用其他比较简单的多项式构造尝试一下,会发现,先算出来所有结果,最后取模,得不到原来的秘密。如果使用小费马定理的话,可以计算出来原来的结果。

猜你喜欢

转载自blog.csdn.net/i_want_study/article/details/107183172