A collection of pure Rust implementations of Authenticated Encryption with Associated Data (AEAD) algorithms.
RustCrypto/AEADs is a collection of Authenticated Encryption with Associated Data algorithms implemented in pure Rust. It provides high-level symmetric encryption primitives that ensure data confidentiality, integrity, and authenticity, defending against advanced cryptographic attacks like IND-CCA3.
Rust developers and cryptographers who need reliable, secure, and performant implementations of standardized AEAD algorithms for applications requiring data encryption and authentication.
Developers choose this library for its pure Rust implementations, memory safety guarantees, comprehensive algorithm support, and adherence to cryptographic best practices, making it a trusted component in the Rust crypto ecosystem.
Authenticated Encryption with Associated Data Algorithms: high-level encryption ciphers
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
All algorithms are implemented in pure Rust with no external dependencies, ensuring memory safety and reducing attack surfaces, as highlighted in the README's emphasis on auditable code.
Includes a wide range of standardized AEAD algorithms such as AES-GCM, ChaCha20Poly1305, and Ascon, providing flexibility for different security and performance needs.
Uses traits from the `aead` crate to offer a uniform API across all crates, promoting interoperability and ease of use for developers familiar with the ecosystem.
Designed for IND-CCA3 security, as noted in the README, defending against chosen-ciphertext attacks and ensuring robust data confidentiality and integrity.
Pure Rust implementations may not fully leverage hardware acceleration (e.g., AES-NI) compared to optimized C libraries, potentially impacting throughput in high-performance scenarios.
Documentation is split across multiple crate-specific pages, requiring developers to navigate separately for each algorithm, which can increase onboarding time.
While growing, it lacks the extensive tooling, community support, and third-party integrations of established alternatives like OpenSSL, which might affect adoption in enterprise settings.
The trait-based API and need to choose from numerous crates can be overwhelming for developers new to cryptography, despite the README's technical focus.