cralgebra

Crates.iocralgebra
lib.rscralgebra
version0.2.1
created_at2025-08-30 16:23:44.259201+00
updated_at2025-09-08 18:31:28.600178+00
descriptionA fast crypto algebra library
homepage
repositoryhttps://github.com/aerkiaga/cralgebra
max_upload_size
id1817746
size183,991
Aritz Erkiaga (aerkiaga)

documentation

README

cralgebra

A fast crypto algebra library.

Status

The current version is to be considered unstable, and breaking changes are possible. New features and fixes will be added in small incremental releases.

  • ✅: complete
  • ⚡: partial
  • ❌: none
Feature Completion Optimization
Modular arithmetic
Big integers
Cyclotomic polynomials
Primality testing
Uniform sampling
Discrete Gaussian sampling

"Complete" optimization here refers to using optimal algorithms. SIMD and/or inline assembly may also be considered in the future.

Using the API

See the documentation.

Performance

Run this to measure latencies for different operations:

cargo run --example bench --release

This Cargo.toml configuration is recommended for maximum performance:

[profile.release]
opt-level = 3
debug-assertions = false
overflow-checks = false
lto = true
panic = 'unwind'
incremental = false
codegen-units = 1
rpath = false

Further tips:

  • Use the most specific type or method for each task.
  • Use MontgomeryDyn instead of ModularDyn if doing multiple operations in series, containing multiplications.

Alternative projects

  • feanor-math: more featured, with a different approach to API organization.
Commit count: 16

cargo fmt