Secret sharing
A -secret sharing scheme allows a dealer to split a secret among parties such that any or more parties can reconstruct exactly, while any set of fewer than parties learns nothing about . Introduced independently by Shamir and Blakley — Sha79, Bla79.
Syntax
A -secret sharing scheme over a secret space is a pair of efficient functions:
- a randomized algorithm that distributes the secret into shares
- a deterministic reconstruction algorithm for any set with
Properties
Correctness
For any , any set with , and :
Privacy
For any set with and any two secrets :
This is perfect privacy: no information about leaks from any shares, even to computationally unbounded adversaries.
Variations
Shamir secret sharing
The canonical construction works over a prime field . The dealer samples a random polynomial of degree with , and gives party the share . Reconstruction uses polynomial interpolation (e.g., Lagrange’s formula) on any points.
Blakley’s geometric construction
The dealer fixes a point representing the secret, and gives each party a random hyperplane in passing through . Any hyperplanes uniquely determine their intersection — Bla79.
Computational secret sharing
Relaxes perfect privacy to computational indistinguishability. Allows secret sharing below the information-theoretic threshold (e.g., -sharing, i.e., encryption).
Verifiable secret sharing (VSS)
A secret sharing scheme augmented with commitments so that parties can verify their shares are consistent, even against a malicious dealer. Used in MPC and distributed key generation.
Linear secret sharing schemes (LSSS)
A secret sharing scheme is linear if the shares are linear functions of the secret and randomness. Equivalent to monotone span programs over .
Other results
- -threshold secret sharing exists information-theoretically for all — Sha79, Bla79
- Secret sharing is information-theoretically achievable; no computational hardness assumption required
- Multi-server PIR follows directly from secret sharing by sharing the database index query — CGKS98
- Verifiable secret sharing (VSS) is a sufficient primitive for MPC — BGW88
- LSSS is equivalent to monotone span programs, which characterize the class of access structures realizable by linear schemes — standard