Crate blstrs

Crate blstrs 

Source
Expand description

§blstrs

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

Structs§

Bls12
Bls12-381 engine
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.
G1Compressed
G1Projective
This is an element of $\mathbb{G}_1$ represented in the projective coordinate space.
G1Uncompressed
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.
G2Compressed
G2Prepared
G2Projective
This is an element of $\mathbb{G}_2$ represented in the projective coordinate space.
G2Uncompressed
Gt
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$.
MillerLoopResult
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.
PairingG1G2
Aggregate pairings efficiently.
PairingG2G1
Aggregate pairings efficiently.
Scalar
Represents an element of the scalar field $\mathbb{F}_q$ of the BLS12-381 elliptic curve construction.

Traits§

Compress
This traits enables reading and writing a compressed version.

Functions§

pairing
Execute a complete pairing operation (p, q).
unique_messages
Returns true if all provided messages are distinctly unique, false otherwise.