56 releases
Uses new Rust 2024
new 0.7.0-pre.2 | May 1, 2025 |
---|---|
0.7.0-pre.0 | Feb 18, 2025 |
0.6.0-rc.6 | Oct 5, 2024 |
0.6.0-rc.2 | Jul 26, 2024 |
0.2.2 |
|
#8 in Math
5,470,377 downloads per month
Used in 4,376 crates
(62 directly)
1MB
22K
SLoC
RustCrypto: Cryptographic Big Integers
Pure Rust implementation of a big integer library which has been designed from the ground-up for use in cryptographic applications.
Provides constant-time, no_std
-friendly implementations of modern formulas
using const generics.
Goals
- Supports
no_std
-friendly const generic stack-allocated big integers. - Constant-time by default. Variable-time functions are explicitly marked as such.
- Leverage what is possible today with const generics on
stable
rust. - Support
const fn
as much as possible with the goal of being able to compute values at compile-time. - Optional heap-allocated
Boxed*
types gated under analloc
feature.
Security Notes
This crate has been audited by NCC Group with no significant findings. We would like to thank Entropy for funding the audit.
All functions contained in the crate are designed to execute in constant
time unless explicitly specified otherwise (via a *_vartime
name suffix).
This library is not suitable for use on processors with a variable-time multiplication operation (e.g. short circuit on multiply-by-zero / multiply-by-one, such as certain 32-bit PowerPC CPUs and some non-ARM microcontrollers).
License
Licensed under either of:
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~120–560KB
~11K SLoC