Expand description

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

Re-exports

pub use group;
pub use crate::error::Error;
pub use crate::error::Result;

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.

Represents an element of the scalar field $\mathbb{F}_q$ of the BLS12-381 elliptic curve construction.

This is an element of $\mathbb{G}_1$ represented in the projective coordinate space.

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}_2$ 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.

Bls12-381 engine

A public key.

A public key and an associated set of public key shares.

A public key share.

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.

A secret key and an associated set of secret key shares.

A secret key share.

A signature.

A signature share.

Constants

The domain separator tag

The size of a key’s representation in bytes.

The size of a signature’s representation in bytes.

The size of a secret key’s representation in bytes.

Traits

A conversion into an element of the field Fr.

Functions

Returns a hash of the given message in G2.