Secret Sharing: Difference between revisions

From
Jump to navigation Jump to search
Line 11: Line 11:
Let <math>D = 4</math>, <math>k = 3</math>, <math>n = 5</math>, that is: The secret is split into 5 parts of which at least 3 are necessary to reconstruct the secret.
Let <math>D = 4</math>, <math>k = 3</math>, <math>n = 5</math>, that is: The secret is split into 5 parts of which at least 3 are necessary to reconstruct the secret.


Now generate 2 random numbers <math>a_1</math> and <math>a_2</math>, let's say: <math>a_1 = 3, a_2 = -1</math> which give the polynomial <math>f(x) = 4 + 3 x - 1 x^2</math>. Obviously that's a quadratic function and any 3 points on the function are sufficient to interpolate the function.
Now generate 2 random numbers <math>a_1</math> and <math>a_2</math>, let's say: <math>a_1 = 3</math>, <math>a_2 = -1</math> which give the polynomial <math>f(x) = 4 + 3 x - 1 x^2</math>. Obviously that's a quadratic function and any 3 points on the function are sufficient to interpolate the function.

[[Image:Secret-Sharing-polynomial.png]]

The image shows the resultant function (in red), the original secret (in green, at <math>x=0</math>) and the 5 new secret parts (in blue).

To reconstruct the original secret any 3 secret parts (let's say <math>D_2, D_3</math> and <math>D_5</math> are merged together:
[[Image:Secret-Sharing-merging.png]]

Then the polynomial is interpolated and <math>f(0)</math> computed:
[[Image:Secret-Sharing-reconstruction.png]]

Revision as of 11:09, 1 December 2004

Secret Sharing is used to split a secret (usually a key) into several pieces which are then given to distinct persons so that some of these persons must cooperate to reconstruct the secret.

A Simple Approach

One simple approach to split a secret number into pieces such that any pieces are sufficient (and necessary) to reconstruct is using a polynomial.

When splitting the secret a random polynomial with is generated. The are calculated as for .

Given any it is possible to interpolate the polynomial and calculate which gives the original secret .

Example

Let , , , that is: The secret is split into 5 parts of which at least 3 are necessary to reconstruct the secret.

Now generate 2 random numbers and , let's say: , which give the polynomial . Obviously that's a quadratic function and any 3 points on the function are sufficient to interpolate the function.

Secret-Sharing-polynomial.png

The image shows the resultant function (in red), the original secret (in green, at ) and the 5 new secret parts (in blue).

To reconstruct the original secret any 3 secret parts (let's say and are merged together: Secret-Sharing-merging.png

Then the polynomial is interpolated and computed: Secret-Sharing-reconstruction.png