Skip to main content

Crate confium_tc

Crate confium_tc 

Source
Expand description

Confium threshold-cryptography primitives — the headline deliverable.

This crate is a compatibility facade that re-exports the core session primitives from confium_tc_core and adds:

  • the cfm_tc_* FFI surface for threshold sessions
  • async session coordinator (for globally distributed signers)
  • share re-sharing + proactive refresh (committee evolution without changing public key)
  • threshold KEM session interface (parallel to signing session)
  • Paillier encryption (used by CMP20 / GG18 MtA)

§Migration: confium-tcconfium-tc-core

New consumers should depend on confium-tc-core directly for the session primitives (Session, SessionParams, Party, PartyList, Share, TcScheme, etc.). The coordinator, KEM, Paillier, and reshare modules are still being extracted and remain in this crate temporarily.

See TODO.roadmap/04-threshold-cryptography.md — this is the entire reason Confium exists.

Modules§

coordinator
Async session coordinator for distributed threshold signing.
error
Error type for the threshold-cryptography crate.
ffi
cfm_tc_* C ABI for the threshold-cryptography session interface.
inprocess
In-process synchronous driver for any registered threshold scheme.
kem
Threshold KEM session interface, parallel to confium-tc (signing).
message
Round message exchanged between parties.
paillier
Paillier homomorphic encryption.
party
Party identity and the roster of participants in a threshold session.
registry
Link-time registry of in-process threshold schemes.
reshare
Share re-sharing and proactive refresh protocol.
schemes
Built-in threshold-cryptography schemes that ship with confium-tc.
session
Session lifecycle: create, round, result, destroy.
share
Opaque handle to a party’s portion of a distributed secret.
share_envelope
Versioned share envelope — canonical wire format for threshold shares.

Macros§

register_tc_scheme
Submit a scheme implementation to the link-time registry.

Structs§

Message
A single inter-party message belonging to one round of a session.
Party
One participant in a threshold session.
PartyList
Ordered roster of parties for a session.
RoundResult
Outcome of one SessionImpl::round call.
Session
One party’s view of one threshold protocol run.
SessionParams
Parameters handed to Session::create.
Share
A party’s share of a distributed secret.

Enums§

Error
TcSchemeKind
Broad category of a threshold scheme. Drives which lifecycle entry points apply (e.g. DKG produces a share on output; signing consumes a share on input).

Traits§

SessionImpl
Per-session scheme state, driven round-by-round by the framework.
TcScheme
A registered threshold scheme.

Type Aliases§

Result