crypto/crypto/zcrypto/bls12_381/bls12 library

Classes

BaseBls12Point<SCALAR extends JubJubField<SCALAR>, P extends BaseBls12Point<SCALAR, P>>
Bls12AffinePoint<P extends Bls12Point<P>>
Affine-coordinate BLS12 point with non-native field elements.
Bls12Fp
Implementation of the BLS12-381 base field GF(p).
Bls12Fp12
Quadratic extension field GF(p¹²) over GF(p⁶), represented as c0 + c1·w with w² = v.
Bls12Fp2
Implements arithmetic over the quadratic extension field Fp2.
Bls12Fp6
Cubic extension field GF(p⁶) over GF(p²), represented as c0 + c1·v + c2·v² with v³ = u + 1.
Bls12FpConst
Constants for the BLS12-381 base field GF(p). All values are expressed using BigInt.
Bls12NativeAffinePoint<P extends Bls12NativePoint<P>>
Affine-coordinate BLS12 point with native field elements (coordinates stored as single BigInts).
Bls12NativeFp
Native BLS12-381 base field element backed by a single BigInt.
Bls12NativeFp12
Quadratic extension field GF(p¹²) over GF(p⁶), represented as c0 + c1·w with w² = v.
Bls12NativeFp2
Implements arithmetic over the quadratic extension field Fp2.
Bls12NativeFp6
Cubic extension field GF(p⁶) over GF(p²), represented as c0 + c1·v + c2·v² with v³ = u + 1.
Bls12NativePoint<P extends Bls12NativePoint<P>>
BLS12 point using native field representation (each field element is backed by a single BigInt).
Bls12PairingUtils
Utilities for computing pairings and Miller loop operations on BLS12-381.
Bls12Point<P extends Bls12Point<P>>
Generic BLS12 point using non-native field representation (field elements may be split into limbs).
BlsField<F extends BlsField<F>>
Base interface for BLS scalar or base fields.
G1AffinePoint
BLS12-381 G1 group in projective coordinates (x : y : z).
G1NativeAffinePoint
BLS12-381 G1 group in projective coordinates (x : y : z).
G1NativeProjective
BLS12-381 G1 group in projective coordinates (x : y : z).
G1Projective
BLS12-381 G1 group in projective coordinates (x : y : z).
G2AffinePoint
BLS12-381 G2 group afiine in projective coordinates (x : y : z) over GF(p²).
G2NativeAffinePoint
BLS12-381 G2 group affine in projective coordinates (x : y : z) over GF(p²).
G2NativePrepared
Precomputes Miller loop coefficients for a G2 point to speed up pairings.
G2NativeProjective
BLS12-381 G2 group in projective coordinates (x : y : z) over GF(p²).
G2Projective
BLS12-381 G2 group in projective coordinates (x : y : z) over GF(p²).
GtNative
Element of GT, the BLS12-381 pairing target group, represented additively.
MillerLoopDriver<O>
Interface defining operations required to drive a Miller loop computation.
MillerLoopDriverBls12
MillerLoopDriverBls12Pairing
Implements the Miller loop driver for BLS12-381 pairings using affine G1 and projective G2 points.
MillerLoopResultBls12
MultiMillerLoop<TERMS extends Object, RESULT extends Object>
Interface for performing multi-Miller loop computations over multiple term pairs.
MultiMillerLoopBls12
Computes a combined Miller loop over multiple G1/G2 pairs for BLS12-381.