秘密共享方案 (Secret Sharing Scheme)
秘密共享方案 (Secret Sharing Scheme,简称 SSS) 是由两个协议组成的:
- 分发协议
- 重构协议
在分发协议中,一个经销商取一个秘密 S 并分发给 n 个参与方。在重构协议中,选择一个子集的参与方披露他们的秘密份额,以学习秘密 S。这可以保证,如果未授权的参与方无法获取原始秘密的任何信息。
秘密共享方案与访问结构相关联,访问结构是能够恢复秘密的参与方集合(或者等价于无法访问秘密的参与方集合)的集合。访问结构总是单调递增的,也就是说,如果你给能够访问秘密的集合加入一个参与方,那么更大的参与方集合也可以访问秘密。有许多不同的方法可以进行秘密共享。
在多方计算中,我们通常对线性秘密共享方案 (Linear Secret Sharing Scheme,简称 LSSS) 感兴趣,因为它们允许参与方本地免费计算他们秘密的线性函数。
SHAMIR 秘密共享
在 Shamir 秘密共享中,可以拥有对抗的参与方数量 t,这是参与方总数 n 的阈值。在多方计算协议中,通常有 t < n / 2 或者 t < n / 3。Shamir 是一种 LSSS,通常用于介绍入门课程的概念。
重复秘密共享
另一种流行的 LSSS 方案称为重复秘密共享,这对于阈值结构通常比 Shamir 共享更不效率。但是,使用重复秘密共享可以表示任何访问结构。
全门限秘密共享
最简单的秘密分享方案是所有参与方需要一起恢复秘密。这种共享形式是在诚实的多数设置下几乎所有多方计算协议的基础。在这种秘密共享中,每个参与方 P_i 都具有值 x_i,实际秘密为 x = x_1 + ... + x_n。