秘密共享方案

今天有时间来记录一些东西,刚开始,记录一些简单的东西。希望对初学者有帮助。

首先说一下自己的理解,假设一个秘密s,秘密分发者将s运用某种特定的算法分成n份,然后将n份分别分发给n个参与者。

在重构时,在n个参与者中选取t个人来重构这个秘密s。任意的t个人都可以重构,任意的t-1个参与者无法获得秘密的任何信息。

举个例子说明一下:

假设有多项式:

在这个所有的值都必须模取一个素数,这里取的是13.

假设秘密s被隐藏在多项式中,也就是常数项1,我们分别将x=1,2,3,4代入求得:

这里的n=4,这4个人分别拿到的秘密为4,9,3,12

当然这是一个二次多项式,所以t=3,我们任意的取三组数据就可以恢复上面的多项式,任意的(t-1=)2组数据无法恢复多项式。

我们可以列一个方程组即可求得一元二次方程。

或者我们可以用插值多项式进行恢复,其实道理都是一样的。

插值多项式的公式:

我们可以将前三组代入上面的公式中可以得到:

当化解完后,就是上面的多项式,这样就可以得到秘密s了。

当然这里的x的值,可以任意的取值,我在这里就是举了一个例子。

本文禁止抄袭,转载请注明地址。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值