Differenzielle_Kryptoanalyse
Differenzielle_Kryptoanalyse

=== Angriff ===
Um nun die Rundenschlüssel der  Runden zu ermitteln, benötigt man zunächst mehrere n-Runden-Charakteristiken (mit möglichst hoher Wahrscheinlichkeit ). Der Angreifer wählt dann eine genügend große Menge an Klartextpaaren mit Differenzen, welche denen der n-Runden-Charakteristiken entsprechen. Es lassen sich (auf unbestimmte Art und Weise) die dazugehörigen Geheimtextpaare oder deren Differenzen berechnen. Dies entspricht der Vorgehensweise einer ''chosen plaintext attack''. Wenn dem Angreifer bereits ausreichend Klartextpaare mit den passenden Differenzen und die dazugehörigen Geheimtexte bekannt sind, kann der Angriff auch als ''known plaintext attack'' durchgeführt werden.
Entspricht auch die Differenz der Geheimtexte der von der n-Runden-Charakteristik vorgegebenen Geheimtextdifferenz, so ist das korrespondierende Klartextpaar mit Wahrscheinlichkeit  ein ''richtiges Paar''. Die zu den einzelnen Runden der Charakteristik gehörenden Mengen mit Schlüsselkandidaten enthalten also mit Wahrscheinlichkeit  den korrekten Rundenschlüssel für die jeweilige Runde.
Dieses Vorgehen wiederholt man mit verschiedenen n-Runden-Charakteristiken. Die Rundenschlüssel, welche am häufigsten unter den Kandidaten einer Runde auftreten sind mit entsprechend hoher Wahrscheinlichkeit die gesuchten Rundenschlüssel. Abhängig vom Berechnungsverfahren der Rundenschlüssel im jeweiligen Verschlüsselungsalgorithmus kann daraus der geheime Schlüssel (oder Teile davon) berechnet werden.
Hat das Verschlüsselungsverfahren mehr als  Runden, so kann eine kleine Anzahl verbleibender Runden auch überbrückt werden, indem man für diese alle möglichen Rundenschlüssel probiert (Brute-Force-Methode) und jeweils überprüft, ob die Differenz des so gewonnenen Wertepaars mit der Geheimtextdifferenz der n-Runden-Charakteristik übereinstimmt.