Expand description

blstrs

An implementation of the BLS12-381 pairing-friendly elliptic curve construction.

Structs

Bls12-381 engine

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.

This is an element of $\mathbb{G}_T$, the target group of the pairing function. As with $\mathbb{G}_1$ and $\mathbb{G}_2$ this group has order $q$.

Represents results of a Miller loop, one of the most expensive portions of the pairing function. MillerLoopResults cannot be compared with each other until .final_exponentiation() is called, which is also expensive.

Aggregate pairings efficiently.

Aggregate pairings efficiently.

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

Traits

This traits enables reading and writing a compressed version.

Functions

Execute a complete pairing operation (p, q).

Returns true if all provided messages are distinctly unique, false otherwise.