Secret sharing - arealive/Viper GitHub Wiki

Secret sharing (also called secret splitting) refers to methods for distributing a secret amongst a group of participants, each of whom is allocated a share of the secret. The secret can be reconstructed only when a sufficient number, of possibly different types, of shares are combined together; individual shares are of no use on their own.

In the image above, each secret share is a plane, and the secret is the point at which three shares intersect. Two shares yield only a line intersection.

Secret sharing was invented independently by Adi Shamir and George Blakley in 1979.1

The essential idea of Adi Shamir's threshold scheme is that 2 points are sufficient to define a line, 3 points are sufficient to define a parabola, 4 points to define a cubic curve and so forth.

One can draw an infinite number of polynomials of degree 2 through 2 points. 3 points are required to define a unique polynomial of degree 2. This image is for illustration purposes only — Shamir's scheme uses polynomials over a finite field, not representable on a 2-dimensional plane.

[1] https://en.wikipedia.org/wiki/Secret_sharing

[2] https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing

See also

Protocol

⚠️ **GitHub.com Fallback** ⚠️