数学构造沙米尔的门限秘密共享算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
门限共享秘密的数学设计 1.定义
在密码学中,秘密共享是指一个方法用于分发一个秘密在一组参与者,每个分配一个共享的秘密。这个秘密只能将每个人的密钥共享组合在一起才能解密;在他们自己的个人密钥是无法单独使用的。
2.目的
a.给了严格的控制和消除单点漏洞。
b.个人密钥持有人不能改变/访问数据。
3.数学定义
a.目标是将一些数据D 分为n 块,每块取名D1、D2…,Dn:
知道的k 或多与D 的n 个模块使D 容易可计算的。
b.知道的任何k-1或更少的子块使D 完全隐藏(在某种意义上,其所有可能的值也同样无法解密)。
这个方案被称为(k,n)阈值方案。如果k = n 然后需要所有参与者一起重建的秘密。
4.沙米尔的秘密共享:
假设我们想要使用(k,n)阈值方案分享我们的秘密S,k < n 。
随意选择(k-1)系数a1,a2,a3…ak-1,让S 是a0
112210.....)(--++++=k k a x a x a a x f
构造一个点(i,f(i)),i=1,2,3.....n
鉴于任何子集的这些k,我们可以找到的系数的多项式插值,然后评估a0 = S,这是秘密。
例子:
S=1234;
n = 6和k = 3,获得随机整数 a1 = 94和a2 = 166
共享密钥:
(1,1494), (2,1942) (3,2598) (4,3402) (5,4414) (6,5614)
我们给每个参与者不同的单点(包括x 和f(x))。
为了重构秘密任何3点就够了
222220212102022
212010122021010221100941661234)()
3/2223/1(4414)52/312/1(3402)3/312/116/1(1942)()(3
/2223/145/4*25/2/*/5
2/312/154/5*24/2/*/3
/312/116/152/5*42/4/*/sin )4414,5(),(),3402,4(),(),1924,2(),(x x x f x x x x x x x l y x f x x x x x x x x x x x x l x x x x x x x x x x x x l x x x x x x x x x x x x l olynomials
gLagrangep U y x y x y x j j j ++=+-+---++-==+-=----=----=---=----=----=+-=----=----====∑
=
期待解决:
1.添加用户怎么办?
2.删除用户怎么办?
3.我们希望持有n 块的用户互相做身份认证?
基于沙米尔的门限秘密共享算法,提出动态门限秘密算法。