This crate defines a general purpose API for various cryptographic primitives. It's goal is to provide an abstraction layer that allows you to switch your cryptographic backend easily.
The following primitives are covered:
Ciphers
- Normal cipher
- AEAD cipher
- Streaming API
Hash
- Normal hash
- Variable-length hash
- Streaming API
KDF
- Normal parametrized KDF (tweaked with salt/info)
MAC
- Normal MAC
- Streaming API
PBKDF
- Normal (CPU-hard) PBKDF
- Memory-hard PBKDF
RNG
- Cryptographically secure RNG
- Cryptographically secure, seedable RNG
- Cryptographically secure, deterministic RNG
Asymmetric Signer
- Normal signer