Crate fedimint_threshold_crypto

Source
Expand description

A pairing-based threshold cryptosystem for collaborative decryption and signatures.

Re-exports§

pub use ff;
pub use group;
pub use pairing;

Modules§

error
Crypto errors.
poly
Utilities for distributed key generation: uni- and bivariate polynomials and commitments.
serde_impl
Serialization and deserialization implementations for group and field elements.

Structs§

Ciphertext
An encrypted message.
DecryptionShare
A decryption share. A threshold of decryption shares can be used to decrypt a message.
G1Affine
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.
G1Projective
This is an element of $\mathbb{G}_1$ represented in the projective coordinate space.
G2Affine
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.
G2Projective
This is an element of $\mathbb{G}_2$ represented in the projective coordinate space.
PEngine
A pairing::Engine for BLS12-381 pairing operations.
PublicKey
A public key.
PublicKeySet
A public key and an associated set of public key shares.
PublicKeyShare
A public key share.
Scalar
Represents an element of the scalar field $\mathbb{F}_q$ of the BLS12-381 elliptic curve construction.
SecretKey
A secret key; wraps a single prime field element. The field element is heap allocated to avoid any stack copying that result when passing SecretKeys between stack frames.
SecretKeySet
A secret key and an associated set of secret key shares.
SecretKeyShare
A secret key share.
Signature
A signature.
SignatureShare
A signature share.

Constants§

PK_SIZE
The size of a key’s representation in bytes.
SIG_SIZE
The size of a signature’s representation in bytes.

Traits§

IntoScalar
A conversion into an element of the field Scalar.

Functions§

hash_g2
Returns a hash of the given message in G2.