CyberGlossary

Kryptografie

ChaCha20

Definition

Moderne Stromchiffre von Daniel J. Bernstein mit 256-Bit-Schlüssel und 96-Bit-Nonce, weit verbreitet zusammen mit Poly1305 als AEAD ChaCha20-Poly1305.

ChaCha20 ist eine 20-rundige Stromchiffre, die Daniel J. Bernstein 2008 als Weiterentwicklung von Salsa20 entworfen hat. Sie erzeugt einen Schlüsselstrom aus einem 256-Bit-Schlüssel, einem 96-Bit-Nonce und einem 32-Bit-Blockzähler mittels einfacher Add-Rotate-XOR-Operationen auf 32-Bit-Worten – schnell und konstant in der Zeit auf CPUs ohne AES-Hardware (Mobile, Embedded). Kombiniert mit dem Poly1305-MAC entsteht das AEAD-Schema ChaCha20-Poly1305, standardisiert in RFC 8439, eine der beiden Pflicht-Ciphersuites in TLS 1.3 (neben AES-GCM). ChaCha20 wird in TLS, QUIC, WireGuard, OpenSSH, dem Signal-Protokoll und der Linux-Kernel-Kryptographie eingesetzt. Nach über einem Jahrzehnt Kryptanalyse ist keine Attacke gegen die volle 20-Runden-Version bekannt.

Beispiele

  • TLS 1.3 und QUIC nutzen auf Mobilgeräten oft TLS_CHACHA20_POLY1305_SHA256.
  • WireGuard verschlüsselt sämtliche Datenpakete mit ChaCha20-Poly1305.

Verwandte Begriffe