隐私保护机器学习
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4.3 Blakley算法

Shamir方案是基于插值法的秘密分享方案,现在我们来介绍基于射影几何的Blakley方案[60]

1.示例

这个算法可以分为两个阶段——份额分发阶段和秘密重构阶段。

(1)份额分发阶段

1)确定NK的具体数值,比如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方案的原理。对于一个(KN)-秘密分享门限方案,假设需要共享的秘密为S,那么我们只需要随机构造一个K维空间中的点S,取任意N个互不相同且经过该点的平面作为份额分给N个人,那么只要凑齐K个人,便可以解出K个平面唯一的相交点,这个点即为秘密S。Blakley方案由以下两个阶段组成。

• 份额分发阶段:分发者随机构造一个K维空间中的一点S,然后构造N个互不相同的经过S的平面,并将这些平面作为份额分发给各个成员。

• 秘密重构阶段:任意K个成员合作可以重构出秘密。任意K个成员所持有的份额可以构成一个方程组,解这个方程组便可以求得唯一解,这个唯一解便是所要重构的秘密S