curveforge

Crates.iocurveforge
lib.rscurveforge
version0.3.0
created_at2025-09-15 14:29:39.142214+00
updated_at2025-09-15 14:29:39.142214+00
descriptionOptimised, secure, and generalised algorithms for elliptic curve arithmetic
homepage
repository
max_upload_size
id1840132
size127,052
Ruben De Smet (rubdos)

documentation

README

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.

Commit count: 0

cargo fmt