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.

Any two parabolas define a set of two points.

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.