When we need to share a secret among k parties
we create the first k−1xs randomly and the last one as
xk:=x⊕i=1k−1xi
Threshold schemes (k,l)
Divides to k parts. l are enough to recover the secret.
We are always calculating in some huge finite field.
(k,2)
f(t)=at+bf(0)=xf(1)=random
generating xi:
xi=f(i)
(k,l)
f is a polynomial of degree less than l over a finite field.
f(0)=xf(1) up to f(l−1) are random
we share f(1) up to f(k).
Lemma I.
If x1,…,xt are all roots of nonzero polynomial p then
p(x)=(x−x1)(x−x2)…(x−xt)⋅q(x),
where q(x) is a polynomial with no roots in the field.
Which implies that poly with degree d has atmost the same number of roots.
Lemma II.
If polynomials with a degree less than
d agree in d points then they are equal.
Proof
r:=p−q,deg<d,x1,…xd are roots of r⟹r=0⟹p=q
Lagrange theorem
For every x1,…,xd and
y1,…,yd∃!p deg<d:∀i∈[d]:p(xi)=yi.
Lagrange interpolation is a way to find such polynomial.