crypto-bigint 0.2.2

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.
Documentation

RustCrypto: Cryptographic Big Integers

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

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.

Documentation

Minimum Supported Rust Version

Rust 1.51 at a minimum.

Goals

  • No heap allocations (no_std-friendly)
  • Constant-time by default. We may add variable-time operations in the future but they will be secondary and explicitly marked as such.
  • Leverage what is possible today with const generics on stable rust.
  • Support const fn as much as possible, including decoding big integers from bytes/hex and performing arithmetic operations on them, with the goal of being able to compute values at compile-time.

Status

This library presently provides only a baseline level of functionality. It's new, unaudited, and may contain bugs. We recommend that it only be used in an experimental capacity for now.

Please see the feature wishlist tracking ticket for more information.

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.