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.
§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;arrayvecpub use bytes;bytespub use crypto_common::rand_core;rand_corepub use heapless;heaplesspub use inout;
Modules§
Macros§
- new_
test dev - Define AEAD test
Structs§
Enums§
- TagPosition
- Enum which specifies tag position used by an AEAD algorithm.
Traits§
- Aead
alloc - Authenticated Encryption with Associated Data (AEAD) algorithm.
- Aead
Core - Authenticated Encryption with Associated Data (AEAD) algorithm.
- Aead
InOut - In-place and inout AEAD trait which handles the authentication tag as a return value/separate parameter.
- Buffer
- In-place encryption/decryption byte buffers.
- KeyInit
- Types which can be initialized from key.
- KeySize
User - Types which use key for initialization.