MCPcopy Index your code
hub / github.com/RustCrypto/AEADs

github.com/RustCrypto/AEADs @chacha20poly1305-v0.11.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release chacha20poly1305-v0.11.0 ↗ · + Follow
323 symbols 689 edges 66 files 65 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RustCrypto: Authenticated Encryption with Associated Data (AEAD) Algorithms

Dependency Status Project Chat

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 crates.io Documentation 1.85
[aes-gcm-siv] AES-GCM-SIV crates.io Documentation 1.85
[aes-gcm] AES-GCM crates.io Documentation 1.85
[aes-siv] AES-SIV crates.io Documentation 1.85
[ascon-aead128] Ascon crates.io Documentation 1.85
[ccm] CCM crates.io Documentation 1.85
[chacha20poly1305] (X)ChaCha20Poly1305 crates.io Documentation 1.85
[deoxys] Deoxys-I/II crates.io Documentation 1.85
[eax] EAX crates.io Documentation 1.85
[mgm] MGM crates.io Documentation 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.

Extension points exported contracts — how you extend this code

SealedTag (Interface)
Sealed traits stop other crates from implementing any traits that use it. [7 implementers]
ccm/src/private.rs
SealedTagSize (Interface)
Sealed traits stop other crates from implementing any traits that use it. [7 implementers]
aes-gcm/src/lib.rs
NewStream (Interface)
Create a new STREAM from the provided AEAD. [2 implementers]
aead-stream/src/lib.rs
GfElement (Interface)
(no doc) [4 implementers]
mgm/src/gf.rs
CipherOp (Interface)
Marker trait denoting whether the EAX stream is used for encryption/decryption. [2 implementers]
eax/src/online.rs
DeoxysMode (Interface)
Deoxys encryption modes. This type contains the public API for a Deoxys mode, like Deoxys-I and Deoxys-II. [2 implementers]
deoxys/src/lib.rs
InternalKey (Interface)
Helper trait for handling differences in key usage of Ascon-128 For internal use-only. [1 implementers]
ascon-aead128/src/asconcore.rs
NonceSizes (Interface)
Sealed trait for nonce sizes in the range of `6..=15` bytes. [1 implementers]
ocb3/src/lib.rs

Core symbols most depended-on inside this repo

decrypt
called by 47
aes-siv/src/siv.rs
encrypt
called by 46
eax/src/online.rs
inplace_xor
called by 29
ocb3/src/lib.rs
update
called by 15
ccm/src/lib.rs
clone
called by 14
chacha20poly1305/src/lib.rs
u64_from_bytes
called by 13
ascon-aead128/src/asconcore.rs
into_bytes
called by 11
mgm/src/gf/gf64_soft64.rs
as_ref
called by 11
deoxys/src/lib.rs

Shape

Method 162
Function 96
Class 42
Interface 23

Languages

Rust100%

Modules by API surface

ocb3/src/lib.rs22 symbols
ascon-aead128/src/asconcore.rs22 symbols
ccm/src/lib.rs17 symbols
deoxys/src/lib.rs16 symbols
eax/src/online.rs15 symbols
aes-siv/src/siv.rs13 symbols
aead-stream/src/lib.rs13 symbols
deoxys/src/modes.rs10 symbols
aes-gcm/src/lib.rs10 symbols
aes-gcm-siv/src/lib.rs9 symbols
mgm/src/encdec.rs8 symbols
deoxys/tests/deoxys_ii_256.rs8 symbols

For agents

$ claude mcp add AEADs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page