Some secrets are too important to trust to one person, and too important to lose if that person disappears.
A company wants three officers present before the master key is used. A family wants account recovery to need more than one envelope. A team wants a backup that survives a missing member without handing anyone the whole thing.
Adi Shamir (the S in RSA), published a way to do this in 1979. Split a secret into pieces so that some number of them can recover it, and any smaller number reveals nothing at all. Not "is hard to crack." Reveals nothing.
The core idea fits on a page.
Two points make a line
Start with something you already know: two distinct points determine exactly one straight line.
A single point does not. Infinitely many lines pass through one point, and each line crosses the vertical axis somewhere different.
Now hide a secret where a line crosses the vertical axis. Say the secret is the number 7. Draw a random line through that height. The slope is not important. It is just randomness that hides the secret.
Give each person one point from the line. Nobody gets the line itself.
A person with one point can draw many possible lines through it. Each line implies a different secret. Their share is compatible with every possible answer, so it tells them nothing useful by itself.
... continue reading