Grundlagen der differentiellen Kryptoanalyse
Lernen Sie die Ausbreitung von Eingabe-Ausgabe-Differenzen kennen, um Runden-reduzierte Chiffren anzugreifen.
Grundlagen der differentiellen Kryptoanalyse ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Was ist differentielle Kryptanalyse?
Differenzielle Kryptanalyse (Biham und Shamir, 1990) ist ein Angriff mit gewähltem Klartext, bei dem untersucht wird, wie sich Unterschiede in Klartextpaaren durch eine Chiffre fortpflanzen. Indem Eingabedifferenzen gefunden werden, die mit hoher Wahrscheinlichkeit vorhersehbare Ausgabedifferenzen erzeugen, kann ein Angreifer statistisch Schlüsselbits ermitteln.
Definition der Differenz
Für XOR-basierte Chiffren gilt: Differenz ΔX = X XOR X'. Für additionsbasierte Chiffren gilt: Differenz ΔX = X - X' mod 2^n. XOR-Differenzen sind am weitesten verbreitet, da XOR mit der XOR-Schlüsselverknüpfung kommutiert (Effekte des Schlüsselplans heben sich in differentiellen Paaren auf).
Differenzielles Paar
Ein differentielles Paar (P, P') hat die Eingabedifferenz ΔP = P XOR P'. Nach der Verschlüsselung entsteht (C, C') mit der Ausgabedifferenz ΔC = C XOR C'. Eine nützliche Differenz ist ΔP → ΔC mit hoher Wahrscheinlichkeit p — das bedeutet, dass viele Paare (P, P') mit der Differenz ΔP die Ausgabedifferenz ΔC erzeugen.
Differentielle Verteilungstabelle der S-Box
Die DDT (Differential Distribution Table) zählt für jede Eingabedifferenz Δx und Ausgabedifferenz Δy, wie viele Eingaben x die Bedingung S(x) XOR S(x XOR Δx) = Δy erfüllen. Durch Division durch 2^n erhält man die Wahrscheinlichkeit. Eine gute S-Box hat den maximalen DDT-Wert 2 (Wahrscheinlichkeit 1/2^{n-1}) — also keine starken Differenzen.
Differentieller Pfad durch eine Chiffre
Für eine Blockchiffre mit r Runden wird eine Folge ΔP → ΔU1 → ΔU2 → ... → ΔU_{r-1} gesucht, bei der die Wahrscheinlichkeit jedes Rundenübergangs bekannt ist. Die Wahrscheinlichkeiten werden über die Runden multipliziert: Gesamtwahrscheinlichkeit p = p1 * p2 * ... * p_{r-1}. Der Angriff verwendet 2/p Paare, um den Schlüssel der letzten Runde zu ermitteln.
Angriff auf die letzte Runde
Bei einer differentiellen Charakteristik über r-1 Runden mit hoher Wahrscheinlichkeit werden N = 2/p Klartextpaare gesammelt. Für jeden Kandidaten des Rundenschlüssels K' werden beide Chiffretexte eine Runde entschlüsselt, die Ergebnisse per XOR verknüpft und darauf geprüft, ob die Differenz ΔU_{r-1} entspricht. Der korrekte Schlüssel K' stimmt ungefähr N/2-mal überein; falsche Schlüssel stimmen ungefähr N/2^{bit_size}-mal überein.
Entwurf der AES-S-Box
Die AES-S-Box ist die multiplikative Inverse über GF(2^8), gefolgt von einer affinen Transformation. Ihr maximaler DDT-Wert beträgt 4 (von 256), was eine differentielle Wahrscheinlichkeit von höchstens 4/256 = 1/64 pro S-Box ergibt. AES hat 4 S-Boxen pro Runde, aber der Wide-Trail-Entwurf stellt sicher, dass vollständige differentielle Pfade unter 2^{-100} liegen.
Wide-Trail-Strategie
Joan Daemens Wide-Trail-Entwurf (verwendet in AES/Rijndael): Die Verzweigungszahl B von MixColumns wird festgelegt. Jeder nichttriviale differentielle Pfad durch eine Runde aktiviert mindestens B aktive S-Boxen. 4 Runden × 4 S-Boxen pro Runde garantieren mindestens 25 aktive S-Boxen → Wahrscheinlichkeit < 2^{-100}.
Abgeschnittene Differenzen
Abgeschnittene Differenzen geben nur einen Teil der Differenz an (z. B. nur, welche Spalten aktiv sind, nicht die exakten Differenzwerte). Dadurch werden Angriffe auf mehr Runden ermöglicht, wenn vollständige Differenzen zu schwach sind. Sie werden gegen AES mit reduzierter Rundenzahl, SERPENT und andere SPN-Chiffren eingesetzt.
Unmögliche Differenzen
Eine unmögliche Differenz ist ein Paar (ΔP, ΔC), das für keinen Schlüssel auftreten kann. Jeder Schlüssel, der ein beobachtetes Paar (P, P') mit dieser Differenz abbildet, wird ausgeschlossen. Durch das Sammeln ausreichender Paare werden alle falschen Schlüssel ausgeschlossen, sodass der korrekte Schlüssel übrig bleibt.
Boomerang-Angriff
Der Boomerang-Angriff (Wagner, 1999) kombiniert zwei kurze Differenzen zu einem adaptiven Angriff mit gewähltem Klartext und Chiffretext. Dabei wird die Chiffre in zwei Hälften zerlegt, die jeweils eine kurze differentielle Charakteristik mit hoher Wahrscheinlichkeit besitzen. So wird ein Angriff über mehr Runden ermöglicht, als eine einzelne Differenz erlauben würde.
Kurze Überprüfung
Welchen Zweck hat die Differential Distribution Table (DDT) in der Kryptanalyse?
Zusammenfassung
Differenzielle Kryptanalyse nutzt die Fortpflanzung von Eingabe- zu Ausgabedifferenzen mit hoher Wahrscheinlichkeit. AES widersteht ihr durch seine DDT-optimierte S-Box und den Wide-Trail-Entwurf. Als Nächstes: lineare Kryptanalyse und Approximationstabellen.
Häufig gestellte Fragen
Ist die Lektion „Grundlagen der differentiellen Kryptoanalyse“ kostenlos?
Ja — der vollständige Text von „Grundlagen der differentiellen Kryptoanalyse“ 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 „Grundlagen der differentiellen Kryptoanalyse“?
Lernen Sie die Ausbreitung von Eingabe-Ausgabe-Differenzen kennen, um Runden-reduzierte Chiffren anzugreifen. 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 1 von 4.
Wie lange dauert die Lektion „Grundlagen der differentiellen Kryptoanalyse“?
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
- Grundlagen der differentiellen Kryptoanalyse
- Lineare Kryptoanalyse und Approximationstabellen
- Geburtstags- und Kollisionsangriffe
- Meet-in-the-Middle und Zeit-Speicher-Kompromisse