XChaCha20-Poly1305
Was ist XChaCha20-Poly1305?
XChaCha20-Poly1305An extended-nonce variant of ChaCha20-Poly1305 that uses a 192-bit nonce, making it safe to generate nonces randomly without worrying about collision and well-suited for at-rest encryption and random-nonce designs.
XChaCha20-Poly1305 is an AEAD construction defined in IETF draft-irtf-cfrg-xchacha that combines XChaCha20 (an extended-nonce variant of ChaCha20) with the Poly1305 MAC. The original ChaCha20-Poly1305 specified in RFC 8439 uses a 96-bit nonce — large enough for the counter-based usage in TLS but borderline for systems that derive nonces randomly per message, where the birthday bound becomes relevant after ~2^32 messages per key. XChaCha20 extends the nonce to 192 bits by first running HChaCha20, a keyed function that mixes part of the nonce into a derived subkey, then running ChaCha20 with the rest as a regular nonce. The 192-bit nonce is large enough that random selection collides only after roughly 2^96 messages, which is effectively never. The construction is standardized in libsodium (`crypto_aead_xchacha20poly1305_ietf_*`) and widely used in disk encryption, password managers, and any context where a counter-style nonce isn't practical. Performance is identical to ChaCha20-Poly1305 except for one extra HChaCha20 call per message.
● Beispiele
- 01
A password manager encrypts each vault item with XChaCha20-Poly1305 using a random per-item nonce and stores nonce + ciphertext + tag in the database.
- 02
libsodium's `crypto_secretstream_xchacha20poly1305_*` API wraps XChaCha20-Poly1305 for streaming, large-file encryption.
● Häufige Fragen
Was ist XChaCha20-Poly1305?
An extended-nonce variant of ChaCha20-Poly1305 that uses a 192-bit nonce, making it safe to generate nonces randomly without worrying about collision and well-suited for at-rest encryption and random-nonce designs. Es gehört zur Kategorie Kryptografie der Cybersicherheit.
Was bedeutet XChaCha20-Poly1305?
An extended-nonce variant of ChaCha20-Poly1305 that uses a 192-bit nonce, making it safe to generate nonces randomly without worrying about collision and well-suited for at-rest encryption and random-nonce designs.
Wie funktioniert XChaCha20-Poly1305?
XChaCha20-Poly1305 is an AEAD construction defined in IETF draft-irtf-cfrg-xchacha that combines XChaCha20 (an extended-nonce variant of ChaCha20) with the Poly1305 MAC. The original ChaCha20-Poly1305 specified in RFC 8439 uses a 96-bit nonce — large enough for the counter-based usage in TLS but borderline for systems that derive nonces randomly per message, where the birthday bound becomes relevant after ~2^32 messages per key. XChaCha20 extends the nonce to 192 bits by first running HChaCha20, a keyed function that mixes part of the nonce into a derived subkey, then running ChaCha20 with the rest as a regular nonce. The 192-bit nonce is large enough that random selection collides only after roughly 2^96 messages, which is effectively never. The construction is standardized in libsodium (`crypto_aead_xchacha20poly1305_ietf_*`) and widely used in disk encryption, password managers, and any context where a counter-style nonce isn't practical. Performance is identical to ChaCha20-Poly1305 except for one extra HChaCha20 call per message.
Wie schützt man sich gegen XChaCha20-Poly1305?
Schutzmaßnahmen gegen XChaCha20-Poly1305 kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für XChaCha20-Poly1305?
Übliche alternative Bezeichnungen: XChaCha20, Extended-nonce ChaCha20-Poly1305.
● Verwandte Begriffe
- cryptography№ 179
ChaCha20-Poly1305
AEAD-Konstruktion, die die Stromchiffre ChaCha20 mit dem Einmal-Authenticator Poly1305 verbindet; normiert in RFC 8439 fuer TLS 1.3 und WireGuard.
- cryptography№ 178
ChaCha20
Moderne Stromchiffre von Daniel J. Bernstein mit 256-Bit-Schlüssel und 96-Bit-Nonce, weit verbreitet zusammen mit Poly1305 als AEAD ChaCha20-Poly1305.
- cryptography№ 021
AEAD (Authenticated Encryption with Associated Data)
A symmetric encryption primitive that provides confidentiality, integrity, and authenticity in one operation, with the ability to bind unencrypted 'associated data' (headers, routing info) to the ciphertext's authentication tag.
- cryptography№ 025
AES-GCM
Ein authentifizierter Verschluesselungsmodus, der AES im Zaehlermodus mit einem GHASH-basierten Authentifizierungstag fuer Vertraulichkeit und Integritaet in einem Durchgang kombiniert.
- cryptography№ 189
Cipher (Chiffre)
Algorithmus, der Klartext in Ciphertext umwandelt (Verschlusselung) und zuruck (Entschlusselung) - parametrisiert durch einen oder mehrere Schlussel.
- cryptography№ 1227
Stromchiffre
Symmetrische Chiffre, die Daten Bit- oder Byte-weise mit einem aus Schlüssel und Nonce abgeleiteten pseudozufälligen Schlüsselstrom per XOR verknüpft.