Secret Sharing

The Single Point of Failure

You have a secret: a master key, a password, nuclear launch codes.

One person holds it. What could go wrong?

  • They die unexpectedly
  • They get compromised
  • They go rogue
  • They simply forget

A secret held by one person is a single point of failure.


The Solution: Split It

Secret sharing splits a secret into multiple shares distributed among different people.

  • No single person can reconstruct the secret alone
  • A minimum number must cooperate (the threshold)
  • Below that minimum, nothing is revealed
RoleResponsibility
DealerHolds original secret, builds polynomial, distributes shares
PlayersEach holds one share, must cooperate to reconstruct
CombinerCollects tt shares, performs interpolation, recovers secret

The combiner could be one of the players, or a separate trusted party.


Threshold Schemes: (t, n)

A (t, n) threshold scheme splits a secret into nn shares such that:

  • Any tt or more shares can reconstruct the secret
  • Fewer than tt shares reveal absolutely nothing

Example: A (3, 5) scheme:

  • 5 people each get one share
  • Any 3 can recover the secret
  • Any 2 learn zero information

tt = threshold (minimum needed), nn = total shares


The Naive Approach Fails

Why not just split the secret into pieces?

SecretSplit into
SECRETKEYSECR + ETKE + Y

The problem: Each piece reveals partial information.

With SECR, you’ve already narrowed down possibilities. That’s a leak.

True secret sharing must be all-or-nothing. Below threshold = zero information. Not “less” information.


Shamir’s Secret Sharing

Adi Shamir (the S in RSA) invented this in 1979.

The key insight: A polynomial of degree t1t-1 is uniquely determined by exactly tt points.

PolynomialDegreePoints needed
Line12
Parabola23
Cubic34
Degree t1t-1t1t-1tt

With fewer points, infinitely many polynomials fit. You learn nothing about which one is correct.


The Setup

Dealer wants to share secret SS with:

  • Threshold: tt (minimum shares needed)
  • Players: nn (total shares)

The dealer will build a polynomial where the secret is hidden at f(0)f(0).


Step 1: Build a Random Polynomial

The dealer constructs:

f(x)=S+a1x+a2x2++at1xt1f(x) = S + a_1 x + a_2 x^2 + \ldots + a_{t-1} x^{t-1}

  • Constant term = the secret SS
  • Other coefficients a1,a2,,at1a_1, a_2, \ldots, a_{t-1} = random values
  • Degree = t1t - 1

The secret sits at f(0)=Sf(0) = S. The randomness hides everything else.


Step 2: Generate Shares

The dealer evaluates the polynomial at nn different points:

PlayerShare
Player 1(1,f(1))(1, f(1))
Player 2(2,f(2))(2, f(2))
Player 3(3,f(3))(3, f(3))
Player nn(n,f(n))(n, f(n))

Each player receives one point on the polynomial.


Step 3: Reconstruct the Secret

When tt players combine their shares:

  1. They have tt points on a degree t1t-1 polynomial
  2. Use Lagrange interpolation to recover the unique polynomial
  3. Evaluate f(0)f(0) to get the secret SS

With exactly tt points, there’s exactly one polynomial that fits. The secret is determined.


Why Fewer Shares Reveal Nothing

With only t1t-1 points on a degree t1t-1 polynomial:

Infinitely many polynomials pass through those points.

For any possible secret value SS, there exists a valid polynomial with f(0)=Sf(0) = S.

PointsPossible secrets
tt pointsExactly 1 (determined)
t1t-1 pointsInfinitely many (any value possible)

You can’t even narrow down. The secret could literally be anything.


Concrete Example: (2, 3) Scheme

Secret: S=42S = 42

Threshold: t=2t = 2

Players: n=3n = 3


Step 1: Build a degree 1 polynomial (a line):

f(x)=42+7xf(x) = 42 + 7x

The coefficient 77 is chosen randomly.


Step 2: Generate shares:

PlayerCalculationShare
1f(1)=42+7(1)f(1) = 42 + 7(1)(1,49)(1, 49)
2f(2)=42+7(2)f(2) = 42 + 7(2)(2,56)(2, 56)
3f(3)=42+7(3)f(3) = 42 + 7(3)(3,63)(3, 63)

Step 3: Reconstruction

Any 2 players can find the line through their points and compute f(0)=42f(0) = 42.

1 player alone? Infinitely many lines pass through one point. The secret could be any value.


Information-Theoretic Security

This isn’t “computationally hard to break.” It’s impossible.

With t1t-1 shares, every possible secret is equally consistent with your data. No amount of computing power helps.

Unconditional security. Not based on assumptions. Mathematically absolute.


Applications

Use caseHow secret sharing helps
Key escrowCompany recovery key split among executives. No single person can access alone.
Cloud securityEncryption key shared across servers. Compromise one, learn nothing.
CryptocurrencyMulti-signature wallets. Require 3-of-5 holders to authorize.
Nuclear launchMultiple officers must cooperate. No single person can act alone.

Key Insight

Secret sharing transforms a single point of failure into distributed trust.

The secret exists nowhere until enough parties cooperate. No single share, no single person, no single server holds the answer.

The whole is recoverable. The parts are useless.