Secret sharing: Shamir's and Blakley's schemes
The act of distributing a secret, S, to a group of i members, in such a way that no single member holds any intelligible information about the secret, but when a sufficient number, k, of individuals combine their “shares”, the secret may be reconstructed. In other words: Split a secret S to a group of i number of individuals, but require cooperation from k number of individuals to learn the secret.
Adi Shamir’s scheme
Uses polynomial interpolation to recover the secret
3 shares, but only 2 required to find S
Doing a Lagrange interpolation with Sage:
points = [(9, 27), (2, 6), (5, 15)]
R = PolynomialRing(QQ, "x")
f = R.lagrange_polynomial(points)
# Prints value of `y` where `x = 3`
print(f(3))
# prints: 9Resources
George Blakley’s scheme
Uses geometric methods to recover the secret. Explained in detail on Wikipedia