curveforge 0.3.0

Optimised, secure, and generalised algorithms for elliptic curve arithmetic
Documentation

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 Name Feature Flag
Double-Odd double_odd
Short Weierstrass short_weierstrass
Montgomery montgomery
Twisted Edwards twisted_edwards

Provided Curves

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

Curve Name Feature Flag Underlying Model
NIST P256 and P384 nist Short Weierstrass
Jq255s jq255s Double-Odd
Curve25519 curve25519 Montgomery
Curve448 curve448 Montgomery
Ed25519 ed25519 Twisted Edwards
rtr family rtr Various (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.