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§
- ECDSA
Curve - A
CurveArithmetic
extension for SP1 acceleration. - ECDSA
Point - Alias trait for the
SP1AffinePointTrait
with 32 byte field elements. - Field
- Alias trait for the
ff::PrimeField
with 32 byte field elements.