Crate ring

Source
Expand description

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

Modules§

aead
Authenticated Encryption with Associated Data (AEAD).
agreement
Key Agreement: ECDH, including X25519.
constant_time
Constant-time operations.
digest
SHA-2 and the legacy SHA-1 digest algorithm.
error
Error reporting.
hkdf
HMAC-based Extract-and-Expand Key Derivation Function.
hmac
HMAC is specified in RFC 2104.
io
Serialization and deserialization.
pbkdf2
PBKDF2 derivation and verification.
pkcs8
PKCS#8 is specified in RFC 5958.
rand
Cryptographic pseudo-random number generation.
signature
Public key signatures: signing and verification.
test
Testing framework.

Macros§

test_file
References a test input file.