#arbitrary #crypto #bignum #integer #precision

no-std crypto-bigint

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.

26 releases

0.5.1 Mar 13, 2023
0.5.0-pre.3 Jan 31, 2023
0.4.9 Oct 11, 2022
0.4.8 Jun 30, 2022
0.2.2 Jun 27, 2021

#2 in #integer

Download history 166335/week @ 2022-12-09 156357/week @ 2022-12-16 76642/week @ 2022-12-23 114411/week @ 2022-12-30 167592/week @ 2023-01-06 167548/week @ 2023-01-13 176092/week @ 2023-01-20 180273/week @ 2023-01-27 171035/week @ 2023-02-03 184036/week @ 2023-02-10 186417/week @ 2023-02-17 193453/week @ 2023-02-24 192022/week @ 2023-03-03 212994/week @ 2023-03-10 227164/week @ 2023-03-17 235661/week @ 2023-03-24

904,595 downloads per month
Used in 1,286 crates (14 directly)

Apache-2.0 OR MIT

285KB
7K SLoC

RustCrypto: Cryptographic Big Integers

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

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

Goals

  • No heap allocations. no_std-friendly.
  • 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, 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.

Minimum Supported Rust Version

This crate requires Rust 1.65 at a minimum.

We may change the MSRV in the future, but it will be accompanied by a minor version bump.

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

~34–285KB