curveforge-traits

Crates.iocurveforge-traits
lib.rscurveforge-traits
version0.3.0
created_at2025-09-15 14:28:32.907925+00
updated_at2025-09-15 14:28:32.907925+00
descriptionOptimised, secure, and generalised algorithms for elliptic curve arithmetic
homepage
repository
max_upload_size
id1840129
size82,031
Ruben De Smet (rubdos)

documentation

README

CurveForge Traits

This library provides a modular and extensible framework for working with elliptic curves, finite fields, and related algebraic structures in a cryptographically sound and performance-conscious manner.

Modules

  • curve: Contains definitions and utilities for elliptic curve point types and their algebraic properties.
  • curve_group: Implements group-related traits and operations for curve points
  • curve_model: Provides abstraction for models for elliptic curves (e.g., Weierstrass or Montgomery forms) and their associated operations.
  • finite_field: Manages arithmetic over finite fields which underlie elliptic curve operations.

Features

  • Generic and trait-driven design for extensibility.
  • Constant-time operations for cryptographic safety via the subtle crate.
  • Strong typing using typenum and generic_array to enforce compile-time optimisations.

Dependencies

  • generic_array – Enables compile-time generic array sizes.
  • rand – Random number generation, suitable for cryptographic use.
  • subtle – Ensures constant-time execution for comparisons and conditionals.
  • typenum – Compile-time unsigned integer arithmetic.

TODO

  • Replace Vec with a more controlled buffer strategy for certain writes to enhance performance and reduce dynamic allocation overhead.
Commit count: 0

cargo fmt