Module ecdsa

Source
Expand description

An implementation of the types needed for CurveArithmetic.

CurveArithmetic is a trait that is used in RustCryptos ECDSA.

CurveArithmetic contains all the types needed to implement the ECDSA algorithm over some curve.

This implementation is specifically for use inside of SP1, and internally uses SP1’s Weierstrass precompiles. Weierstrass precompiles.

In summary, SP1 overrides curve arithmetic entirely, and patches upstream field operations to be more efficient in the VM, such as sqrt or inverse.

Re-exports§

pub use affine::AffinePoint;
pub use projective::ProjectivePoint;

Modules§

affine
The affine point type for SP1. Implementation of an affine point, with acceleration for operations in the context of SP1.
ecdh
projective
The projective point type for SP1. Implementation of the SP1 accelerated projective point. The projective point wraps the affine point.

Traits§

ECDSACurve
A CurveArithmetic extension for SP1 acceleration.
ECDSAPoint
Alias trait for the SP1AffinePointTrait with 32 byte field elements.
Field
Alias trait for the ff::PrimeField with 32 byte field elements.

Type Aliases§

FieldElement