pub trait CurveConfig:
Send
+ Sync
+ Sized
+ 'static {
type BaseField: Field;
type ScalarField: PrimeField;
const COFACTOR: &'static [u64];
const COFACTOR_INV: Self::ScalarField;
// Provided method
fn cofactor_is_one() -> bool { ... }
}Expand description
Elliptic curves can be represented via different “models” with varying efficiency properties.
CurveConfig bundles together the types that are common
to all models of the given curve, namely the Self::BaseField over which
the curve is defined, and the Self::ScalarField defined by the
appropriate prime-order subgroup of the curve.
Required Associated Constants§
Sourceconst COFACTOR: &'static [u64]
const COFACTOR: &'static [u64]
The cofactor of this curve, represented as a sequence of little-endian limbs.
Sourceconst COFACTOR_INV: Self::ScalarField
const COFACTOR_INV: Self::ScalarField
The inverse of the cofactor.
Required Associated Types§
Sourcetype ScalarField: PrimeField
type ScalarField: PrimeField
Finite prime field corresponding to an appropriate prime-order subgroup of the curve group.
Provided Methods§
Sourcefn cofactor_is_one() -> bool
fn cofactor_is_one() -> bool
Returns true if the cofactor is one.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.