crypto/crypto/zcrypto/zcrypto library

Classes

Absorbing<F extends Object>
BaseBls12Point<SCALAR extends JubJubField<SCALAR>, P extends BaseBls12Point<SCALAR, P>>
BaseCommitDomain<SCALAR extends PastaFieldElement<SCALAR>, BASE extends PastaFieldElement<BASE>, P extends PastaPoint<SCALAR, BASE, P>, AFFINE extends PastaAffinePoint<SCALAR, BASE, P>>
BaseHashDomain<SCALAR extends PastaFieldElement<SCALAR>, BASE extends PastaFieldElement<BASE>, P extends PastaPoint<SCALAR, BASE, P>, AFFINE extends PastaAffinePoint<SCALAR, BASE, P>>
BaseJubJubAffinePoint<SCALAR extends JubJubScalar<SCALAR>>
Base class for affine JubJub points.
BaseJubJubNielsPoint<SCALAR extends JubJubScalar<SCALAR>>
Base class for Niels-form JubJub points (used for fast addition).
BaseJubJubPoint<SCALAR extends JubJubScalar<SCALAR>, P extends BaseJubJubPoint<SCALAR, P>>
Base abstract class for JubJub points with full group and cofactor operations.
BasePastaPoint<SCALAR extends PastaFieldElement<SCALAR>, BASE extends PastaFieldElement<BASE>>
BaseRedJubJubPoint<SCALAR extends JubJubScalar<SCALAR>>
BinaryNumeralString
Numeral string representation for FF1 in binary form (radix = 2).
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.
CommitDomain
CommitDomainNative
F4Jumble
Implements the F4Jumble transformation and its inverse.
FF1<T extends NumeralString<T>>
FF1Binary
FF1 format-preserving encryption specialized for binary data.
FF1Flexible
FF1 format-preserving encryption using a flexible numeral string.
FF1Radix
Represents an FF1 radix configuration, including its type and length constraints.
FieldSqrtResult<F extends CryptoField<F>>
FlexibleNumeralString
Numeral string representation for FF1 with flexible radix digits.
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²).
Grain<F extends PastaFieldElement<F>>
GtNative
Element of GT, the BLS12-381 pairing target group, represented additively.
HashDomain
HashDomainConst
HashDomainNative
JubJubAffineNativePoint
JubJubAffineNielsNativePoint
JubJubAffineNielsPoint
JubJubAffinePoint
JubJubField<F extends JubJubField<F>>
JubJubFq
JubJubFqConst
JubJubFr
Element of the JubJub scalar field Fr, internally represented as 4 64-bit limbs in Montgomery form.
JubJubFrConst
JubJubNativeConst
JubJubNativeFieldElement<F extends JubJubNativeFieldElement<F>>
JubJubNativeFq
Element of the JubJub field Fq.
JubJubNativeFr
Element of the JubJub scalar field Fr.
JubJubNativePoint
JubJubNielsNativePoint
JubJubNielsPoint
JubJubPoint
JubJubPrimeField<F extends JubJubPrimeField<F>>
JubJubScalar<F extends JubJubScalar<F>>
LimbBuffer
MdsGenerateResult<F extends PastaFieldElement<F>>
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.
NumeralString<T extends NumeralString<T>>
Abstract interface representing a numeral string over some radix.
P128Pow5T3Fp
P128Pow5T3Fq
P128Pow5T3NativeFp
P128Pow5T3NativeFq
PallasAffineNativePoint
PallasAffinePoint
PallasFp
PallasFPConst
PallasIsoAffineNativePoint
PallasIsoAffinePoint
PallasIsoNativePoint
PallasIsoPoint
PallasNativeFp
PallasNativePoint
PallasPoint
PastaAffinePoint<SCALAR extends PastaFieldElement<SCALAR>, BASE extends PastaFieldElement<BASE>, P extends PastaPoint<SCALAR, BASE, P>>
PastaCurveParams<F extends PastaFieldElement<F>>
PastaFieldElement<F extends PastaFieldElement<F>>
Abstract base class for elements of a Pasta prime field, supporting arithmetic, comparison, and byte/bit conversions.
PastaNativeConst
PastaNativeFieldElement<F extends PastaNativeFieldElement<F>>
PastaPoint<SCALAR extends PastaFieldElement<SCALAR>, BASE extends PastaFieldElement<BASE>, P extends PastaPoint<SCALAR, BASE, P>>
PastaSqrtTables<F extends PastaFieldElement<F>>
PastaUtils
PoseidonHash<F extends PastaFieldElement<F>>
PoseidonHashDomain<F extends PastaFieldElement<F>>
PoseidonSpec<F extends PastaFieldElement<F>>
PoseidonUtils
SinsemillaPad
Pads the given iterator
Sponge<F extends PastaFieldElement<F>>
SpongeMode<F extends Object>
Squeezing<F extends Object>
VestaAffineNativePoint
VestaAffinePoint
VestaFq
VestaFQConst
VestaIsoAffineNativePoint
VestaIsoAffinePoint
VestaIsoNativePoint
VestaIsoPoint
VestaNativeFq
VestaNativePoint
VestaPoint
WnafBase<SCALAR extends CryptoPrimeFieldElement<SCALAR>, G extends CryptoGroupElement<G, SCALAR>>
WnafScalar<SCALAR extends CryptoPrimeFieldElement<SCALAR>, G extends CryptoGroupElement<G, SCALAR>>
WnafUtils

Enums

FF1Encoding
Encoding modes for FF1 format-preserving encryption.
FieldType
PastaCurveName
SboxType

Exceptions / Errors

PoseidonException