Skip to main content

PrimeCurveParams

Trait PrimeCurveParams 

Source
pub trait PrimeCurveParams:
    Curve<FieldBytesSize: ModulusSize>
    + CurveArithmetic<AffinePoint = AffinePoint<Self>, ProjectivePoint = ProjectivePoint<Self>, Scalar: PrimeFieldExt + WnafSize>
    + 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§

Source

const EQUATION_A: Self::FieldElement

Coefficient a in the curve equation.

Source

const EQUATION_B: Self::FieldElement

Coefficient b in the curve equation.

Source

const GENERATOR: (Self::FieldElement, Self::FieldElement)

Generator point’s affine coordinates: (x, y).

Required Associated Types§

Source

type PointArithmetic: PointArithmetic<Self>

Point arithmetic implementation, might be optimized for this specific curve

Source

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".

Implementors§