Secret sharing
Problem:
persons want to share a secret.
Any group of persons can recover the secret.
Obviously, and .
On a computer program, the secret will ultimately be an integer.
How to do it:
A trusted central entity prepares and distributes part of the secret (a secret share) to each person.
Hurdles to overcome:
Knowing shares of the secret must not give any information about the secret.
Resilience to tampering:
To destroy the secret secret shares have to be corrupted.
Idea 1 - n = t
Let the secret be the integer , and let it have bits.
Let the first shares of the secret, to , be random integers with bits.
Let the last share of the secret be the exclusive-or of the secret with all the other shares of the secret (donates here the bit-wise exclusive-or binar operator)
To recover the secret it is only necessary to perform an exclusive-or of all secret shares.
Knowledge of secret shares does not give any information about the secret.
It is possible to replace the bit-wise exclusive-or operations with additions and subtractions modulo . In this case, the first secret shares are random integers from 0 to , and the last secret share is . To recover the secret it is only necessary to add all secret shares (modulo , of course). If is a prime number, we can replace addition by multiplication.
Idea 2
Blakley's secret sharing scheme:
The secret is a point a in a -dimensional space.
Each share of the secret is a linear equation (with unkowns) that has has one of its solutions.
Putting together equations allows us to find .
It is necessary to ensure that the system of equations has a unique solution for all possible possible combinations of equations chosen from the equations, and that is cumbersome.
Each share of the secret is composed by numbers.
Improved security: the secret is kept only in one of the coordinates of the point .
Modular arithmetic should be used.
Idea 3
Shamir’s secret sharing scheme:
The secret in the independent coefficient of a polynomial of degree ,
Each secret share in the pair .
Again, modular arithmetic should be used.
Each share of the secret is composed by only 2 numbers.
Things to think about:
Can we do it using square matrices for the coefficients?
And how about for the ak coefficients and the values?
Polynomial Interpolation
Given points , for , with for , compute the unique polynomial of degree that passes through these points.
Newton’s interpolation formula:
, and for
Lagrange’s interpolation formula:
If arithmetic modulo is used we must have for . If so, all modular inverses needed by Newton’s or Lagrange’s interpolation formulas exist.
Last updated