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-tc → confium-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.
- Party
List - Ordered roster of parties for a session.
- Round
Result - Outcome of one
SessionImpl::roundcall. - Session
- One party’s view of one threshold protocol run.
- Session
Params - Parameters handed to
Session::create. - Share
- A party’s share of a distributed secret.
Enums§
- Error
- TcScheme
Kind - 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§
- Session
Impl - Per-session scheme state, driven round-by-round by the framework.
- TcScheme
- A registered threshold scheme.