6 releases

0.16.25 Jun 12, 2023
0.16.24 Jun 12, 2023

#2423 in Cryptography

23 downloads per month

Custom license

5MB
130K SLoC

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

Contains (static library, 140KB) wasm-libs/libring_core_dev_.a, (static library, 4KB) wasm-libs/libring_core_dev_test.a

This is the ring crate, with support for the wasm32-wasi and wasm32-wasix targets.

A C compiler is not required; the relevant code is already precompiled using Zig 0.11.

For more information about Ring itself, 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