Trait ECDSACurve

Source
pub trait ECDSACurve
where Self: CurveArithmetic<FieldBytesSize = U32, AffinePoint = AffinePoint<Self>, ProjectivePoint = ProjectivePoint<Self>>,
{ type FieldElement: Field<Self> + Neg<Output = Self::FieldElement>; type SP1AffinePoint: ECDSAPoint; const EQUATION_A: Self::FieldElement; const EQUATION_B: Self::FieldElement; }
Expand description

A CurveArithmetic extension for SP1 acceleration.

Patched crates implement this trait to take advantage of SP1-specific acceleration in the zkVM context.

Note: This trait only supports 32 byte base field curves.

Required Associated Constants§

Source

const EQUATION_A: Self::FieldElement

The a coefficient in the curve equation.

Source

const EQUATION_B: Self::FieldElement

The b coefficient in the curve equation.

Required Associated Types§

Source

type FieldElement: Field<Self> + Neg<Output = Self::FieldElement>

Source

type SP1AffinePoint: ECDSAPoint

The underlying SP1AffinePointTrait 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.

Implementors§