Shamir’s Secret Sharing
by James Buckland
Shamir’s Secret Sharing is a method of encrypting information by splitting it into n parts, such that the number of parts necessary to entirely reconstruct the information is less than n, often considerably. It has applications in coding theory, cryptography, and error-correcting codes.
It works on a very simple geometric principle. Take two points on a plane. Each has an x and y coordinate, some of them possibly negative. Through these two points pass any number of polynomials — we’ll stick with parabolas so that the degree k is low. We’ll select, say, three parabolas that pass through these two points.
This is the basis for the entire encryption algorithm. Shamir’s Secret Sharing can be expanded outwards into any number of points (the more points, the more information in this chunk) with any number n of k-degree polynomials. The actual secret to be shared is the first term of each polynomial. The mathematics is not terribly complicated, but it works on this incredibly simple geometric principle.