| Crates.io | curveforge |
| lib.rs | curveforge |
| version | 0.3.0 |
| created_at | 2025-09-15 14:29:39.142214+00 |
| updated_at | 2025-09-15 14:29:39.142214+00 |
| description | Optimised, secure, and generalised algorithms for elliptic curve arithmetic |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1840132 |
| size | 127,052 |
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.
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 |
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.