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

19 releases

Uses new Rust 2021

0.4.8 Jun 30, 2022
0.4.3 May 31, 2022
0.4.0-pre.0 Jan 18, 2022
0.3.2 Nov 17, 2021
0.2.2 Jun 27, 2021

#658 in Cryptography

Download history 107645/week @ 2022-06-10 108338/week @ 2022-06-17 121584/week @ 2022-06-24 154082/week @ 2022-07-01 162293/week @ 2022-07-08 165280/week @ 2022-07-15 140242/week @ 2022-07-22 141747/week @ 2022-07-29 135356/week @ 2022-08-05 129233/week @ 2022-08-12 131954/week @ 2022-08-19 150300/week @ 2022-08-26 142714/week @ 2022-09-02 150361/week @ 2022-09-09 165751/week @ 2022-09-16 134851/week @ 2022-09-23

622,733 downloads per month
Used in 705 crates (12 directly)

Apache-2.0 OR MIT

180KB
4.5K 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.57 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

~27–265KB