Expand description
§RustCrypto: Authenticated Encryption with Additional Data Traits
This crate provides an abstract interface for AEAD ciphers, which guarantee both confidentiality and integrity, even from a powerful attacker who is able to execute chosen-ciphertext attacks. The resulting security property, ciphertext indistinguishability, is considered a basic requirement for modern cryptographic implementations.
See RustCrypto/AEADs for cipher implementations which use this trait.
§Minimum Supported Rust Version
Rust 1.65 or higher.
Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.
§SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
§License
Licensed under either of:
at your option.
§Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Re-exports§
pub use crypto_common::array;
pub use arrayvec;
arrayvec
pub use bytes;
bytes
pub use heapless;
heapless
pub use crypto_common::rand_core;
rand_core
Modules§
- Type aliases for many constants.
- dev
dev
Development-related functionality - stream
stream
Streaming AEAD support.
Macros§
- new_test
dev
Define AEAD test
Structs§
- Error type.
- OsRng
getrandom
A random number generator that retrieves randomness from the operating system. - Payload
alloc
AEAD payloads (message + AAD).
Traits§
- Aead
alloc
Authenticated Encryption with Associated Data (AEAD) algorithm. - Authenticated Encryption with Associated Data (AEAD) algorithm core trait.
- In-place stateless AEAD trait.
- AeadMut
alloc
Stateful Authenticated Encryption with Associated Data algorithm. - In-place stateful AEAD trait.
- In-place encryption/decryption byte buffers.
- Types which can be initialized from key.
- Types which use key for initialization.
Type Aliases§
- Key used by
KeySizeUser
implementors. - Nonce: single-use value for ensuring ciphertexts are unique
- Result type alias with
Error
. - Tag: authentication code which ensures ciphertexts are authentic