43 releases

0.17.0-alpha.11 Dec 16, 2021
0.17.0-alpha.10 May 4, 2021
0.17.0-alpha.8 Dec 2, 2020
0.17.0-alpha.7 Nov 18, 2020
0.6.0-alpha Nov 15, 2016

#143 in Cryptography

Download history 482248/week @ 2022-11-30 461804/week @ 2022-12-07 432835/week @ 2022-12-14 313637/week @ 2022-12-21 287682/week @ 2022-12-28 464152/week @ 2023-01-04 481234/week @ 2023-01-11 499376/week @ 2023-01-18 527983/week @ 2023-01-25 543287/week @ 2023-02-01 535082/week @ 2023-02-08 520913/week @ 2023-02-15 600418/week @ 2023-02-22 548462/week @ 2023-03-01 585844/week @ 2023-03-08 486386/week @ 2023-03-15

2,313,244 downloads per month
Used in 5,833 crates (617 directly)

Custom license

5MB
162K SLoC

GNU Style Assembly 83K SLoC // 0.0% comments Assembly 31K SLoC // 0.0% comments Perl 29K SLoC // 0.1% comments Rust 13K SLoC // 0.1% comments C 4.5K SLoC // 0.2% comments Python 161 SLoC // 0.2% comments

See https://github.com/briansmith/ring.


lib.rs:

Safe, fast, small crypto using Rust with BoringSSL's cryptography primitives.

Feature Flags

Feature Description
alloc (default) Enable features that require use of the heap, RSA in particular.
dev_urandom_fallback (default) This is only applicable to Linux. On Linux, by default, ring::rand::SystemRandom will fall back to reading from /dev/urandom if the getrandom() syscall isn't supported at runtime. When the dev_urandom_fallback feature is disabled, such fallbacks will not occur. See the documentation for rand::SystemRandom for more details.
std Enable features that use libstd, in particular std::error::Error integration. Implies `alloc`.
wasm32_c Enables features that require a C compiler on wasm32 targets, such as the constant_time module, HMAC verification, and PBKDF2 verification. Without this feature, only a subset of functionality is provided to wasm32 targets so that a C compiler isn't needed. A typical invocation would be: TARGET_CC=clang-10 TARGET_AR=llvm-ar-10 cargo test --target=wasm32-unknown-unknown --features=wasm32_c with llvm-ar-10 and clang-10 in $PATH. (Going forward more functionality should be enabled by default, without requiring these hacks, and without requiring a C compiler.)

Dependencies