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.
less-safe-getrandom-custom-or-rdrand Treat user-provided ("custom") and RDRAND-based getrandom implementations as secure random number generators (see SecureRandom). This feature only works with os = "none" targets. See register_custom_getrandom and RDRAND on x86 for additional details.
less-safe-getrandom-espidf Treat getrandom as a secure random number generator (see SecureRandom) on the esp-idf target. While the esp-idf target does have hardware RNG, it is beyond the scope of ring to ensure its configuration. This feature allows ring to build on esp-idf despite the likelihood that RNG is not secure. This feature only works with os = espidf targets. See
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. This enables the `getrandom` crate's `js` feature.

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.
  • RSA.
  • Public key signatures: signing and verification.
  • Testing framework.

Macros§