Expand description
Polynomial helpers for verifiable secret sharing.
FROST’s DKG and signing both rest on Shamir-style secret sharing over
the scalar field: a secret a_0 is committed as the constant term of
a degree-T-1 polynomial f(X) = a_0 + a_1·X + … + a_{T-1}·X^{T-1},
and party i’s share is f(i). lagrange_coefficient rebuilds the
original secret (or any linear function of it) from any T shares via
interpolation, without ever recombining the shares themselves.
Structs§
- Commitment
List - A Feldman-style commitment list to a VSS polynomial:
C_k = a_k · Bfor each coefficienta_k. Reveal nothing about the secret beyond what the public key already does (sinceC_0 = A, the public key), but let recipients verify that a sharef(i)is consistent with the committed polynomial viaf(i)·B == Σ_k i^k · C_k. - Polynomial
- A degree-
(t-1)polynomial over the scalar field used for VSS. Coefficients are little-endian:f(X) = sum coeff[k] * X^k.
Functions§
- lagrange_
coefficient - Compute the Lagrange coefficient
λ_ifor partyirelative to the participating setS(party indices, all distinct). The coefficient is