#encryption #data-integrity #crypto

no-std aead

Traits for Authenticated Encryption with Associated Data (AEAD) algorithms, such as AES-GCM as ChaCha20Poly1305, which provide a high-level API

15 releases

0.6.0-pre.0 Mar 8, 2024
0.5.2 Apr 2, 2023
0.5.1 Aug 10, 2022
0.5.0 Jul 24, 2022
0.0.0 Oct 6, 2016

#418 in Cryptography

Download history 181740/week @ 2023-12-23 291173/week @ 2023-12-30 377206/week @ 2024-01-06 400748/week @ 2024-01-13 433479/week @ 2024-01-20 433591/week @ 2024-01-27 414449/week @ 2024-02-03 460271/week @ 2024-02-10 469574/week @ 2024-02-17 473362/week @ 2024-02-24 458945/week @ 2024-03-02 454767/week @ 2024-03-09 471583/week @ 2024-03-16 451953/week @ 2024-03-23 517501/week @ 2024-03-30 405659/week @ 2024-04-06

1,917,529 downloads per month
Used in 2,356 crates (98 directly)

MIT/Apache

70KB
1.5K SLoC

RustCrypto: Authenticated Encryption with Additional Data Traits

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

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.

Documentation

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.

Dependencies

~185–510KB
~11K SLoC