Author: Adi Shamir
Date: 1979
Link: PDF
Note: This note is augmented with paragraphs from Wikipedia.
D into n pieces in such a way that D is easily reconstructable from any k pieces, but even complete knowledge of
k - 1 pieces reveals absolutely no information about D (i.e: all its possible values are equally likely).(k, n) threshold scheme.By using a
(k, n)threshold scheme withn = 2k - 1we get a very robust key management scheme: We can recover the original key even when[n / 2] = k - 1of thenpieces are destroyed, but our opponents cannot reconstruct the key even when security breaches expose[n / 2] = k - 1of the remainingkpieces.
n / 2) pieces are destroyed, the remaining 3 (k) pieces can be used to recover the key.n / 2) pieces are exposed, the opponent can’t reconstruct the key.k points in the 2-dimensional plane (x₁, y₁), … ,(xₖ, yₖ) with distinct xᵢ's , there is one and only one
polynomial q(x) of degree k - 1such that q(x) =yᵢ for all i.The essential idea of the scheme is based on the Lagrange interpolation theorem , specifically that
kpoints is enough to uniquely determine a polynomial of degree less than or equal tok − 1. For instance:
2  points  are sufficient to define a  line3 points are sufficient to define a  parabola4 points to define a  cubic curve  andD is (or can be made) a number.D into pieces Dᵢ:k - 1 degree polynomial: q(x) = a₀ + a₁x + ... aₖ₋₁ xᵏ⁻¹ in which a₀=D, andD₁= q(1), … ,Dᵢ= q(i), … ,Dₙ = q(n).k of these Dᵢ values (together with their identifying indices), the coefficients of q(x) can be found by interpolation, and then evaluate D = q(O). Knowledge of just k - 1 of these values, on the other hand, does not suffice in order to calculate D.D = 1234n = 6k = 3k - 1 = 2 numbers are taken at random. Let them be 166 and 94.a₀ = 1234 (i.e: the secret)a₁ = 166a₂ = 94q(x) = 1234 + 166x + 94x².n participant in the scheme receives a different point from the polynomial:Although the simplified version of the method demonstrated above, which uses integer arithmetic rather than finite field arithmetic, works, there is a security problem: An attacker gains information about D with every
Dᵢthey find.
p ∈ ℙ : p > D, p > n is used.p must be chosen that is bigger than the number of participants and every aᵢ (including a₀ = D).(x, q(x) mod p) instead of (x, q(x)).p is publicly known: Everybody who receives a point must also know its value.