秘密分享(Secret Sharing)

本文介绍了秘密共享的概念,起源于1979年Shamir和Blakey的工作,主要探讨了(t,n)阈值方案。秘密共享通过将秘密分割成多个子秘密,由不同持有者保管,只有当至少t个持有者合作时才能恢复原始秘密。文章列举了三种实现技术:超平面几何、多项式插值和中国剩余定理。特别地,Shamir算法利用拉格朗日插值公式实现秘密共享,并具有加同态性质,允许在不暴露原始秘密的情况下进行秘密的求和操作。

秘密共享(Secret Sharing,SS)是1979年由Shamir和Blakey提出的,并在此之后40多年秘密共享被广泛认识和深入的研究。

秘密共享著名的(t,n)阈值方案如图所示:设秘密s被分成n个部分,每一部分被称为一个子秘密并由一个持有者持有,并且大于等于t个参与者所持有的子秘密可以重构(Reconstruction)秘密s,而少于t个参与者所持有的子秘密无法重构秘密并且无法获得秘密s的任何信息。

秘密共享方案的三种实现技术:

  1. 基于超平面几何的秘密共享,包括Blakley方案和Brickell方案;
  2. 基于插值多项式的秘密共享,包括经典的Shamir阈值秘密共享方案;
  3. Mignotte,Asmuth & Bloom提出的基于中国剩余定理的秘密共享;

共享原理

形式化定义如下:

其中s表示需要拆分的秘密,t表示恢复门限,n为拆分数目。
存在恢复函数 R,对于任意 m ≥ t 有

shamir算法

shamir是一种秘密共享的实现1,利用了拉格朗日插值公式2。详细原理见参考文献。
下面补充一个shamir算法的有用的性质:加同态。
已知已有两个用于秘密共享的多项式
 以及素数p。通过秘密共享分享的分片形式是
将分片中的多项式结果求和,得到 

根据shamir算法中的定义,a0,b0 是原秘密。因此通过恢复算法对求和后的分片进行恢复,将会得到 a0 + b0 。这就实现了秘密求和。在双方求和的情况下,没有意义,但在参与者数目大于等于3时,就会有用。

### 秘密共享技术的发展历史 秘密共享的概念最早由Adi Shamir和George Blakley分别于1979年独立提出[^4]。Shamir提出了基于多项式的方案,而Blakley则采用了几何方法来实现这一目标。 #### Adi Shamir的秘密分享方案 Shamir的秘密分享算法是一种门限方案(threshold scheme),即(n,k)门限方案意味着将一个秘密分割成n份,任何k个或更多份额可以用来重构原始秘密,但是少于k个份额无法获得关于该秘密的任何信息。此方案利用了拉格朗日插值法原理,在有限域上构建了一个(k-1)次多项式函数f(x)[^5]: ```python import numpy as np from sympy import GF, lagrange_interpolate def shamir_secret_sharing(secret, n, k, prime=257): """Generate shares using Shamir's Secret Sharing Scheme""" # Define finite field F = GF(prime) # Generate random coefficients for polynomial f(x)=a_0+a_1*x+...+a_(k-1)*x^(k-1), where a_0 is secret coeffs = [F(int(secret))] + list(F(randint(0, prime)) for _ in range(k - 1)) def poly_eval(x): return sum(coeff * pow(x, i, prime) % prime for i, coeff in enumerate(coeffs)) # Create share points (xi,yi=f(xi)), xi≠0 shares = [(i, int(poly_eval(i))) for i in range(1, n + 1)] return shares # Example usage shares = shamir_secret_sharing('123', 5, 3) print(shares) ``` #### George Blakley的秘密分享方案 相比之下,Blakley的方法依赖于超平面交集理论。具体来说,就是通过定义多个高维空间中的随机超平面,并让这些超平面对应不同的参与者所持有的部分;只有当足够数量(达到预定阈值)的参与者的超平面相交时才能恢复出完整的秘密数据[^6]。 随着时间推移,研究人员不断改进和完善这两种基本模型,使得现代密码协议能够更加安全高效地处理分布式环境下的敏感信息安全存储与传输需求。例如,Pedersen承诺机制、Verifiable Secret Sharing(VSS)以及其后的Threshold Cryptography都是在此基础上发展起来的重要成果[^7]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值