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
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.
Serialization and deserialization.
PBKDF2 derivation and verification.
Cryptographic pseudo-random number generation.
Public key signatures: signing and verification.
Testing framework.
Macros
References a test input file.