Crate ring

source ·
Expand description

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

git clone

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.


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


References a test input file.