pub trait PrimeCurveParams:
Curve<FieldBytesSize: ModulusSize>
+ CurveArithmetic<AffinePoint = AffinePoint<Self>, ProjectivePoint = ProjectivePoint<Self>, Scalar: PrimeFieldExt>
+ FieldArithmetic<FieldElement: PrimeFieldExt>
+ PrimeCurve {
type PointArithmetic: PointArithmetic<Self>;
type Backend: MulBackend<Self>;
const EQUATION_A: Self::FieldElement;
const EQUATION_B: Self::FieldElement;
const GENERATOR: (Self::FieldElement, Self::FieldElement);
}Expand description
Parameters for elliptic curves of prime order which can be described by the short Weierstrass equation.
Required Associated Constants§
Sourceconst EQUATION_A: Self::FieldElement
const EQUATION_A: Self::FieldElement
Coefficient a in the curve equation.
Sourceconst EQUATION_B: Self::FieldElement
const EQUATION_B: Self::FieldElement
Coefficient b in the curve equation.
Sourceconst GENERATOR: (Self::FieldElement, Self::FieldElement)
const GENERATOR: (Self::FieldElement, Self::FieldElement)
Generator point’s affine coordinates: (x, y).
Required Associated Types§
Sourcetype PointArithmetic: PointArithmetic<Self>
type PointArithmetic: PointArithmetic<Self>
Point arithmetic implementation, might be optimized for this specific curve
Sourcetype Backend: MulBackend<Self>
type Backend: MulBackend<Self>
Scalar arithmetic backend implementation.
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.