0Pricing
Cryptology Academy · Lektion

Aufbau von Salsa20 und ChaCha20

Vollziehen Sie den Quarter-Round von ChaCha20 nach und erfahren Sie, wie schnell er auf mobiler Hardware ist.

Aufbau von Salsa20 und ChaCha20 ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

ChaCha20 ist die dominante Stromchiffre moderner Systeme – sie wird unter anderem in TLS 1.3, WireGuard und Signal verwendet. Sehen wir uns ihr elegantes Design im Detail an.

Ursprünge von ChaCha20

Daniel J. Bernstein entwickelte 2005 Salsa20 und verbesserte es anschließend 2008 zu ChaCha20. Das Präfix 'Cha' weist auf 8 zusätzliche Verbesserungen der Diffusion hin. Standardisiert in RFC 7539 (2015) und RFC 8439 (2018).

ChaCha20-Zustand

ChaCha20 arbeitet mit einer 4×4-Matrix aus 32-Bit-Wörtern (insgesamt 512 Bit): - Wörter 0–3: Konstanten ('expa', 'nd 3', '2-by', 'te k') - Wörter 4–11: 256-Bit-Schlüssel (8 Wörter) - Wort 12: 32-Bit-Blockzähler - Wörter 13–15: 96-Bit-Nonce

Die Quarter Round

Die zentrale Operation von ChaCha20 – die Quarter Round für (a,b,c,d): a+=b; d^=a; d<<<= 16 c+=d; b^=c; b<<<= 12 a+=b; d^=a; d<<<= 8 c+=d; b^=c; b<<<= 7 Add-Rotate-XOR (ARX). Es werden keine S-Boxen benötigt – dadurch ist die Methode auf jeder Hardware schnell.

20 Runden

ChaCha20 führt 20 Runden aus: abwechselnd Spalten- und Diagonalrunden mit jeweils 4 Quarter Rounds. 8 Runden = ChaCha8 (schnell), 12 Runden = ChaCha12 (ausgewogen). ChaCha20 ist die sichere Standardwahl.

Schlüsselstromerzeugung

1. Zustand aus Schlüssel + Nonce + Zähler initialisieren 2. 20 Runden aus Quarter Rounds anwenden 3. Anfangszustand zum rotierten Zustand addieren (verhindert die Umkehrbarkeit) 4. Einen 64 Byte großen Schlüsselstromblock ausgeben 5. Den Zähler für den nächsten Block erhöhen

Sicherheitsvorteile von ARX

ARX-Chiffren (Add, Rotate, XOR) laufen auf den meisten CPUs von Natur aus in konstanter Zeit. Durch den Verzicht auf Tabellenzugriffe entstehen keine Seitenkanäle durch Cache-Timing. Das ist für sichere Implementierungen entscheidend.

ChaCha20-Leistung

Ohne AES-NI ist ChaCha20 etwa dreimal schneller als AES-CBC. Auf Mobilgeräten (ARM Cortex-A) ist ChaCha20 die schnellere Wahl. Mit AES-NI (modernes x86) ist AES-GCM schneller. TLS 1.3 unterstützt beide Verfahren.

Salsa20 vs. ChaCha20

ChaCha20 verbessert Salsa20 durch eine bessere Diffusion in den frühen Runden und bietet dadurch einen höheren Widerstand gegen differentielle Kryptoanalyse. Die Initialisierung des Zustands unterscheidet sich. Beide Verfahren sind sicher; ChaCha20 ist der aktuelle Standard.

ChaCha20 in Python

from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305 import os key = ChaCha20Poly1305.generate_key() nonce = os.urandom(12) ct = ChaCha20Poly1305(key).encrypt(nonce, b'hello', None)

XChaCha20: Erweiterte Nonce

ChaCha20 verwendet eine 96-Bit-Nonce. XChaCha20 erweitert sie mithilfe der Funktion HChaCha20 auf 192 Bit. Größere Nonces ermöglichen eine zufällige Erzeugung, ohne dass Kollisionen befürchtet werden müssen. libsodium verwendet XChaCha20-Poly1305.

Kurze Überprüfung

Warum verhindert das ARX-Design von ChaCha20 Cache-Timing-Seitenkanäle?

Zusammenfassung

ChaCha20 ist elegant und sicher. Als Nächstes sehen Sie, wie es in TLS 1.3 als ChaCha20-Poly1305-AEAD eingesetzt wird.

Häufig gestellte Fragen

Ist die Lektion „Aufbau von Salsa20 und ChaCha20“ kostenlos?

Ja — der vollständige Text von „Aufbau von Salsa20 und ChaCha20“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Aufbau von Salsa20 und ChaCha20“?

Vollziehen Sie den Quarter-Round von ChaCha20 nach und erfahren Sie, wie schnell er auf mobiler Hardware ist. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Aufbau von Salsa20 und ChaCha20“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Konzepte von Stromchiffren und PRNGs
  2. RC4: Aufbau, Schwächen und WEP-Angriffe
  3. Aufbau von Salsa20 und ChaCha20
  4. ChaCha20-Poly1305 AEAD in TLS 1.3
← Zurück zu Cryptology Academy