package bls12-381

  1. Overview
  2. Docs
module Fr : sig ... end
module type CURVE = sig ... end
module Fq12 : sig ... end

Represents the field extension constructed as described here. The interface does not provide the full requirements to be a field (like the addition).

module G1 : sig ... end

Elliptic curve built over the field Fq and the equation y^2 = x^3 + 4

module G2 : sig ... end

Elliptic curve built over the field Fq^2 and the equation y^2 = x^3 + 4(u + 1)

module GT : sig ... end

Prime subgroup of Fq12, of order Fr.order, represented additively

module Pairing : sig ... end

Provides routines to compute the pairing over G1 x G2 -> GT

module Poseidon128 : sig ... end

Implementation of an instantiation of Poseidon over the scalar field of BLS12-381 for a security of 128 bits and with the permutation x^5. The parameters of the instantiation are:

module Rescue : sig ... end

Implementation of an instantiation of Rescue over the scalar field of BLS12-381 for a security of 128 bits and with the permutation x^5. The parameters of the instantiation are:

val built_with_blst_portable : bool

Return true if the environment variable `BLST_PORTABLE` was set when building the library, otherwise false. Can be used to detect if the backend blst has been optimised with ADX on ADX-supported platforms.

OCaml

Innovation. Community. Security.