1. 定义

秘密分享,即需要传输的隐私数据被分割成n份,参与方分别拥有一份,这些参与方一般是对等的角色,且其中的分享或者说分割和还原均不涉及加解密,只有多于特定t个参与者合作才可以计算出或是恢复秘密,而少于t个参与者则不可以得到有关秘密。秘密分享的优势正在于此,数据的分裂和还原运算一般来说成本极低,如加性秘密分享(Additive Secret Sharing),分裂和还原只是加减法,除此之外,就是对分裂点的选择需要做一次随机数生成,这些运算成本远低于一般的加解密运算。更为重要的是,秘密分享真正价值在于处于分裂态可以运算,而运算的结果在多方参与的情况下可以还原

image-20231129144346572

2. Shamir密钥分享算法

​ 其基本思想是分发者通过多项式,将一个密文C分成 N份共享单元,使得其中的任意 t 份共享单元可以组合重构出C ,但是其中任何的 t−1 份共享单元都无法得到关于C 的信息。

依赖的数学基础:

image-20231129145006800

算法原理:

image-20231129145204215

基于异或运算的秘密分享

image-20231129145334373

加法重构:多方计算 M+N

image-20231129151153640

乘法重构:多方计算 M*N

image-20231129151246994

【参考】

多方安全计算之秘密分享 - 知乎 (zhihu.com)

应用密码学 | 秘密共享的概念与算法详解 - 知乎 (zhihu.com)

Shamir秘密共享协议 - 知乎 (zhihu.com)