上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.4.3 Blakley算法
Shamir方案是基于插值法的秘密分享方案,现在我们来介绍基于射影几何的Blakley方案[60]。
1.示例
这个算法可以分为两个阶段——份额分发阶段和秘密重构阶段。
(1)份额分发阶段
1)确定N和K的具体数值,比如N=5, K=3。
2)随机挑选打开保险箱需要的正确答案S,用K维空间中的一点来表示,比如S=(3,10,5)。
3)随机构造出经过这个点的N个平面,例如
4)把第i个平面作为份额分发给第个人。
(2)秘密重构阶段
1)集齐任意K个人的份额,例如,第一个人、第三个人和第五个人。
2)解方程式:
3)解得S=(3,10,5) ,这就是所要重构出来的密钥。
2. 原理
现在,我们来介绍Blakley方案的原理。对于一个(K,N)-秘密分享门限方案,假设需要共享的秘密为S,那么我们只需要随机构造一个K维空间中的点S,取任意N个互不相同且经过该点的平面作为份额分给N个人,那么只要凑齐K个人,便可以解出K个平面唯一的相交点,这个点即为秘密S。Blakley方案由以下两个阶段组成。
• 份额分发阶段:分发者随机构造一个K维空间中的一点S,然后构造N个互不相同的经过S的平面,并将这些平面作为份额分发给各个成员。
• 秘密重构阶段:任意K个成员合作可以重构出秘密。任意K个成员所持有的份额可以构成一个方程组,解这个方程组便可以求得唯一解,这个唯一解便是所要重构的秘密S。