1 unstable release
Uses new Rust 2024
| 0.3.0 | Sep 15, 2025 |
|---|
#2093 in Cryptography
85KB
1.5K
SLoC
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.
Dependencies
~13MB
~240K SLoC