Crate blstrs

source ·
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.