Skip to main content Crate ark_test_curves Copy item path Source pub use ark_ff ;pub use ark_ec ;cubic_extension fp fp2 fp3 fp4 fp6_2over3 fp6_3over2 fp12_2over3over2 fp128 Prime field Fp where p = 2^127 - 1. hashing Provides a HashToCurve trait and implementations of this trait via
different hashing strategies. models pairing quadratic_extension scalar_mul small_fp smallfp MontFp Construct a Fp<MontBackend<T, N>, N> element from a literal string. CubicExtField An element of a cubic extension field F_p[X]/(X^3 - P::NONRESIDUE) is
represented as c0 + c1 * X + c2 * X^2, for c0, c1, c2 in P::BaseField. Fp Represents an element of the prime field F_p, where p == P::MODULUS.
This type can represent elements in any field of size at most N * 64 bits. Fp2ConfigWrapper Wrapper for Fp2Config , allowing combination of the Fp2Config and QuadExtConfig traits. Fp3ConfigWrapper Wrapper for Fp3Config , allowing combination of the Fp3Config and CubicExtConfig traits. Fp4ConfigWrapper Fp6ConfigWrapper Fp12ConfigWrapper MontBackend QuadExtField An element of a quadratic extension field F_p[X]/(X^2 - P::NONRESIDUE) is
represented as c0 + c1 * X, for c0, c1 in P::BaseField. SmallFp Represents an element of the prime field F_p, where p == P::MODULUS. LegendreSymbol Indication of the field element’s quadratic residuosity AdditiveGroup AffineRepr The canonical representation of an elliptic curve group element.
This should represent the affine coordinates of the point corresponding
to this group element. CubicExtConfig Defines a Cubic extension field from a cubic non-residue. CurveConfig Elliptic curves can be represented via different “models” with varying
efficiency properties. CurveCycle Wrapper trait representing a cycle of elliptic curves (E1, E2) such that
the base field of E1 is the scalar field of E2, and the scalar field of E1
is the base field of E2. CurveGroup An opaque representation of an elliptic curve group element that is suitable
for efficient group arithmetic. FftField The interface for fields that are able to be used in FFTs. Field The interface for a generic field.
Types implementing Field support common field operations such as addition, subtraction, multiplication, and inverses. Fp2Config Trait that specifies constants and methods for defining degree-two extension fields. Fp3Config Trait that specifies constants and methods for defining degree-three extension fields. Fp4Config Fp6Config Fp12Config FpConfig A trait that specifies the configuration of a prime field.
Also specifies how to perform arithmetic on field elements. MontConfig A trait that specifies the constants and arithmetic procedures
for Montgomery arithmetic over the prime field defined by MODULUS. PairingFriendlyCycle A cycle of curves where both curves are pairing-friendly. PrimeField The interface for a prime field, i.e. the field of integers modulo a prime $p$.
In the following example we’ll use the prime field underlying the BLS12-381 G1 curve. PrimeGroup Represents (elements of) a group of prime order r. QuadExtConfig Defines a Quadratic extension field from a quadratic non-residue. ScalarMul SmallFpConfig A trait that specifies the configuration of a prime field, including the
modulus, generator, and arithmetic implementation. VariableBaseMSM can_use_no_carry_mul_optimization can_use_no_carry_square_optimization characteristic_square_mod_6_is_one inv Compute -M^{-1} mod 2^64. modulus_has_spare_bit sqrt_precomputation Fp2 Alias for instances of quadratic extension fields. Helpful for omitting verbose
instantiations involving Fp2ConfigWrapper. Fp3 Fp4 Fp6 Fp12 Fp64 Fp128 Fp192 Fp256 Fp320 Fp384 Fp448 Fp512 Fp576 Fp640 Fp704 Fp768 Fp832 MontConfig Derive the MontConfig trait. SmallFpConfig Derive the SmallFpConfig trait for small prime fields.