# Crate ring [−] [src]

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

`git clone https://github.com/briansmith/ring`

# Feature Flags

Feature | Description
--- | ---
`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.
`rsa_signing` | Enable RSA signing (`RSAKeyPair` and related things).

## 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.
pbkdf2 | PBKDF2 derivation and verification.
rand | Cryptographic pseudo-random number generation.
signature | Public key signatures: signing and verification.
test | Testing framework.

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)