XChaCha20-Poly1305 AEAD construction

E268251

XChaCha20-Poly1305 AEAD construction is an authenticated encryption scheme that extends ChaCha20-Poly1305 with a longer nonce for improved security and robustness against nonce reuse.

All labels observed (5)

How this entity was disambiguated

Statements (46)

Predicate Object
instanceOf AEAD construction ⓘ
authenticated encryption with associated data scheme ⓘ
avoids AES-specific side-channel issues on some platforms ⓘ
basedOn ChaCha20 stream cipher ⓘ
linked to: ChaCha20

Poly1305 one-time MAC ⓘ
category symmetric-key cryptography ⓘ
designedFor software efficiency without specialized hardware instructions ⓘ
designedTo allow random nonces ⓘ
improve robustness against nonce reuse ⓘ
encryptionMode stream cipher with one-time MAC ⓘ
extends ChaCha20-Poly1305 AEAD construction ⓘ
hasKeyLength 256 bits ⓘ
32 bytes ⓘ
hasNonceLength 192 bits ⓘ
24 bytes ⓘ
hasTagLength 128 bits ⓘ
16 bytes ⓘ
implementedIn BoringSSL ⓘ
Go crypto/x/crypto packages ⓘ
Rust crates such as chacha20poly1305 ⓘ
libsodium ⓘ
nonceMisuseResistance improved but not fully misuse-resistant ⓘ
origin proposed by cryptographers including Jason A. Donenfeld and others in the context of extended-nonce ChaCha ⓘ
performance similar to ChaCha20-Poly1305 on modern CPUs ⓘ
providesProperty authenticity ⓘ
confidentiality ⓘ
integrity ⓘ
recommendedFor applications requiring large number of encryptions per key ⓘ
applications where nonce uniqueness cannot be guaranteed ⓘ
requires unique key and nonce pair for strongest security guarantees ⓘ
securityDependsOn pseudorandomness of ChaCha20 ⓘ
unforgeability of Poly1305 MAC ⓘ
securityGoal IND-CCA2 security under standard assumptions ⓘ
standardizedIn IETF draft libsodium documentation (non-RFC, library specification) ⓘ
suitableFor datagram encryption ⓘ
file encryption ⓘ
network protocols ⓘ
supports associated data ⓘ
tagComputation Poly1305 over ciphertext and associated data ⓘ
thenUses ChaCha20-Poly1305 with derived subkey and remaining 64-bit nonce ⓘ
usesBlockFunction ChaCha20 quarter-round function ⓘ
usesCipher XChaCha20 ⓘ
usesConstruction HChaCha20 key derivation for subkey ⓘ
usesKeyDerivation HChaCha20 to derive subkey from main key and first 128 bits of nonce ⓘ
usesMAC Poly1305 ⓘ
usesNonceStructure 192-bit nonce split into 128-bit extended nonce and 64-bit ChaCha20 nonce ⓘ

How these facts were elicited

Referenced by (7)

Full triples — surface form annotated when it differs from this entity's canonical label.

RFC 8439 → specifies → XChaCha20-Poly1305 AEAD construction ⓘ
Noise_XX pattern → canBeInstantiatedWith → Noise_XX_25519_ChaChaPoly_BLAKE2s ⓘ
linked to: XChaCha20-Poly1305 AEAD construction
XChaCha20-Poly1305 AEAD construction → usesCipher → XChaCha20 ⓘ
linked to: XChaCha20-Poly1305 AEAD construction
XChaCha20-Poly1305 AEAD construction → extends → ChaCha20-Poly1305 AEAD construction ⓘ
linked to: XChaCha20-Poly1305 AEAD construction
HChaCha20 → usedIn → XChaCha20 ⓘ
linked to: XChaCha20-Poly1305 AEAD construction
HChaCha20 → usedWith → XChaCha20-Poly1305 AEAD ⓘ
linked to: XChaCha20-Poly1305 AEAD construction
HChaCha20 → relatedTo → XChaCha20 ⓘ
linked to: XChaCha20-Poly1305 AEAD construction