Expand description
§blstrs
An implementation of the BLS12-381 pairing-friendly elliptic curve construction.
Structs§
- Bls12-381 engine
Fp
values are always in Montgomery form; i.e., Fp(a) = aR mod p, with R = 2^384.blst_fp.l
is in little-endianu64
limbs format.- This represents an element $c_0 + c_1 w$ of $\mathbb{F}{p^12} = \mathbb{F}{p^6} / w^2 - v$.
- 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.
MillerLoopResult
s 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.