Skip to main content

Crate confium_tc_gg18

Crate confium_tc_gg18 

Source
Expand description

GG18 threshold ECDSA over P-256 (Gennaro & Goldfeder 2018, eprint 2019/114).

Wired as a confium_tc::registry::TcScheme plugin with two scheme names registered through confium_tc::register_tc_scheme!:

  • GG18-ECDSA-P256 (DKG via Feldman VSS) — produces per-party Gg18Share + shared public key.
  • GG18-ECDSA-P256-SIGN — produces a standard 64-byte (r, s) ECDSA signature verifiable with the p256 crate.

See the module-level docs of keygen, sign, vss, mta for what is implemented and what is omitted. In short: the Feldman VSS, Lagrange interpolation, and threshold-ECDSA combine are all real; the MtA sub-round is a simplified in-process stub (nonce reveal in the clear) rather than a Paillier-based homomorphic MtA.

Re-exports§

pub use scheme::Gg18EcdsaP256;
pub use scheme::Gg18EcdsaP256Sign;
pub use share::Gg18Share;

Modules§

error
Error helpers for the GG18 scheme crate.
inprocess
In-process synchronous driver for GG18 DKG and signing.
keygen
GG18 distributed key generation over P-256.
lagrange
Lagrange interpolation in the P-256 scalar field.
mta
Multiplicative-to-Additive (MtA) sub-round.
scheme
GG18 scheme registration.
share
Per-party share material produced by GG18 DKG and consumed by signing.
sign
GG18 threshold ECDSA signing over P-256.
vss
Feldman verifiable secret sharing over P-256.

Constants§

DKG_SCHEME_NAME
Canonical scheme name for GG18 DKG over P-256.
SIGN_SCHEME_NAME
Canonical scheme name for GG18 signing over P-256.