Authenticated Encryption with Associated Data Algorithms: high-level encryption ciphers
- Rust 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Three independent defects blocked the pact migration. 1. belt-dwp depended on universal-hash from kade/universal-hashes, which does not ship that package. It lives in kade/traits. 2. Four crates resolved twice in the graph, once from crates.io and once from the forks: belt-block, cipher, crypto-common and aead. The two BeltBlock types are distinct, so the cipher trait impls did not unify and belt-dwp failed with 8 unsatisfied-bound errors. Added patch.crates-io entries for all four. Registry sources drop from 37 to 12; patch.unused is empty. 3. crypto-common::InnerIvInit::inner_iv_init takes Self::Inner by value. belt-dwp called it on the BeltBlock-pinned BeltCtrCore alias while passing &self.cipher of the generic parameter C, which never unified. BeltCtr/BeltCtrCore are aliases for GenericBeltCtr<C> / GenericBeltCtrCore<C>, so the call sites now use the generic types and clone the inner cipher; the AeadInOut bound gains Clone. cargo test --workspace: 217 passed, 0 failed, 10 ignored. cargo clippy --workspace: clean. The one remaining clippy error is pre-existing upstream, belt-dwp/benches/mod.rs uses #![feature(test)] and cannot build on stable under --all-targets. |
||
| .cargo | ||
| .github | ||
| aead-stream | ||
| aes-gcm | ||
| aes-gcm-siv | ||
| aes-siv | ||
| ascon-aead128 | ||
| belt-dwp | ||
| benches | ||
| ccm | ||
| chacha20poly1305 | ||
| deoxys | ||
| eax | ||
| mgm | ||
| ocb3 | ||
| xaes-256-gcm | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
| SECURITY.md | ||
| traits | ||
RustCrypto: Authenticated Encryption with Associated Data (AEAD) Algorithms
Collection of Authenticated Encryption with Associated Data (AEAD) algorithms written in pure Rust.
AEADs are high-level symmetric encryption primitives which defend against a wide range of potential attacks (i.e. IND-CCA3).
Usage
Crates functionality is expressed in terms of traits defined in the aead
crate.
Crates
| Name | Algorithm | Crates.io | Documentation | MSRV |
|---|---|---|---|---|
aead-stream |
STREAM | 1.85 | ||
aes-gcm-siv |
AES-GCM-SIV | 1.85 | ||
aes-gcm |
AES-GCM | 1.85 | ||
aes-siv |
AES-SIV | 1.85 | ||
ascon-aead128 |
Ascon | 1.85 | ||
ccm |
CCM | 1.85 | ||
chacha20poly1305 |
(X)ChaCha20Poly1305 | 1.85 | ||
deoxys |
Deoxys-I/II | 1.85 | ||
eax |
EAX | 1.85 | ||
mgm |
MGM | 1.85 |
License
All crates 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.