Crate curveforge

Crate curveforge 

Source
Expand description

§CurveForge

CurveForge is a Rust crate that provides concrete implementations of elliptic curves and models built using the curveforge_traits and curveforge_macro libraries.

It serves as a showcase and testbed for curve and field definitions written with curveforge_macro, implementing standard and custom elliptic curve constructions in a modular and ergonomic way.

§Provided Models

Curveforge includes implementations of several elliptic curve models in the models module:

Model NameFeature Flag
Double-Odddouble_odd
Short Weierstrassshort_weierstrass
Montgomerymontgomery
Twisted Edwardstwisted_edwards

§Provided Curves

Curveforge includes implementations of several well-known elliptic curves, each associated with a specific model in the curves module:

Curve NameFeature FlagUnderlying Model
NIST P256 and P384nistShort Weierstrass
Jq255sjq255sDouble-Odd
Curve25519curve25519Montgomery
Curve448curve448Montgomery
Ed25519ed25519Twisted Edwards
rtr familyrtrVarious (mainly Double-Odd)

Enable features in your Cargo.toml as needed to include these curves and models. Enabling a curve will automatically enable its underlying model.

Modules§

curves
models
prelude