Crate fedimint_threshold_crypto
source ·Expand description
A pairing-based threshold cryptosystem for collaborative decryption and signatures.
Re-exports§
Modules§
- Crypto errors.
- Utilities for distributed key generation: uni- and bivariate polynomials and commitments.
- Serialization and deserialization implementations for group and field elements.
Structs§
- An encrypted message.
- A decryption share. A threshold of decryption shares can be used to decrypt a message.
- This is an element of $\mathbb{G}_1$ represented in the affine coordinate space. It is ideal to keep elements in this representation to reduce memory usage and improve performance through the use of mixed curve model arithmetic.
- This is an element of $\mathbb{G}_1$ represented in the projective coordinate space.
- This is an element of $\mathbb{G}_2$ represented in the affine coordinate space. It is ideal to keep elements in this representation to reduce memory usage and improve performance through the use of mixed curve model arithmetic.
- This is an element of $\mathbb{G}_2$ represented in the projective coordinate space.
- A
pairing::Engine
for BLS12-381 pairing operations. - A public key.
- A public key and an associated set of public key shares.
- A public key share.
- Represents an element of the scalar field $\mathbb{F}_q$ of the BLS12-381 elliptic curve construction.
- A secret key; wraps a single prime field element. The field element is heap allocated to avoid any stack copying that result when passing
SecretKey
s between stack frames. - A secret key and an associated set of secret key shares.
- A secret key share.
- A signature.
- A signature share.
Constants§
- The size of a key’s representation in bytes.
- The size of a signature’s representation in bytes.
Traits§
- A conversion into an element of the field
Scalar
.
Functions§
- Returns a hash of the given message in
G2
.