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_unknown_unknown_js When this feature is enabled, for the wasm32-unknown-unknown target, Web APIs will be used to implement features like `ring::rand` that require an operating environment of some kind. This has no effect for any other target.

Modules

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

Macros