www.wikidata.de-de.nina.az
Differenzielle Kryptoanalyse verfolgt das Ziel rundenbasierte Blockchiffren und kryptologische Hashfunktionen zu brechen Zu diesem Zweck untersucht sie die Auswirkungen von Differenzen in Klartextblocken auf die Differenzen in den durch Verschlusselung erzeugten Geheimtextblocken Inhaltsverzeichnis 1 Einleitung 1 1 Bezug zum DES 2 Prinzip 2 1 Differenzen 2 2 Schlusselkandidaten eine Runde 2 3 Charakteristiken mehrere Runden 2 4 Angriff 3 Beispiel DES 3 1 Differenzenverteilungstabelle 3 2 Schlusselkandidaten finden 4 Siehe auch 5 Weblinks 6 EinzelnachweiseEinleitung BearbeitenDie Methode der differenziellen Kryptoanalyse wurde im Jahr 1991 von den Kryptologen Eli Biham und Adi Shamir veroffentlicht 1 Dabei handelt es sich um einen statistischen Angriff auf beliebige Feistelchiffren Der Angriff wird als chosen plaintext attack ausgefuhrt Das heisst man nimmt an dass der Angreifer Zugriff auf beliebige selbstgewahlte Klartext Geheimtext Paare hat Ziel des Angriffs ist es den geheimen Schlussel der Chiffre oder Teile davon zu ermitteln Der Angreifer untersucht welchen Effekt bestimmte Differenzen von Klartextpaaren auf die Differenzen der resultierenden Geheimtextpaare haben Diese Differenzen konnen genutzt werden um die Wahrscheinlichkeiten moglicher Schlussel zu berechnen und den wahrscheinlichsten Schlussel zu ermitteln Der Schlussel kann dann vom Angreifer verwendet werden um weitere Geheimtexte des Opfers zu entschlusseln Bezug zum DES Bearbeiten Biham und Shamir entwickelten die differenzielle Kryptoanalyse um die Sicherheit des seit 1976 weit verbreiteten Verschlusselungsstandards DES zu analysieren Sie stellten fest dass DES durch die Konstruktion der nicht linearen Substitutionsboxen sehr resistent gegen dieses Verfahren ist Don Coppersmith einer der DES Entwickler bei IBM gab im Jahr 1994 an dass Sicherheit gegen diesen Angriff eines der Entwicklungsziele war 2 Folglich wussten die Entwickler schon im Jahr 1974 von dem Angriff Nach einer Diskussion mit der NSA entschieden sie sich weder den Angriff selbst noch die Sicherung dagegen zu veroffentlichen 2 Das Wissen um den Angriff erklart warum DES exakt 16 Runden hat Die Komplexitat eines naiven Angriffs mit der Brute Force Methode liegt bei 2 56 displaystyle 2 56 nbsp Operationen da die effektive Lange des Schlussels 56 Bit betragt Hatte DES nur 15 Runden dann lage die Komplexitat eines Angriffs mit differenzieller Kryptoanalyse mit 2 52 displaystyle 2 52 nbsp Operationen darunter Bei 16 Runden ist der Angriff jedoch mit 2 58 displaystyle 2 58 nbsp Operationen geringfugig komplexer als mit der Brute Force Methode 1 Prinzip BearbeitenKern des Verfahrens ist die Analyse der Auswirkung von Differenzen in Klartextpaaren auf die Differenzen der daraus resultierenden Geheimtextpaare Differenzen Bearbeiten Die Differenzen werden bitweise gebildet durch eine XOR Verknupfung Seien P displaystyle P nbsp und P displaystyle P ast nbsp zwei Klartexte so ist ihre Differenz P P P displaystyle P prime P oplus P ast nbsp Diese Differenz kann man durch die einzelnen Verschlusselungsschritte hindurch beobachten Schritte welche nur XOR Verknupfungen enthalten verandern die Differenz nicht Auch Permutationen und Expansionen wie sie in den meisten Feistelchiffren vorkommen konnen leicht berechnet werden indem auch die Bits der Differenzen in der Weise vertauscht oder dupliziert werden wie dies die Permutationen und Expansionen vorsehen Nur uber die nicht linearen Substitutionsboxen hinweg ist eine Berechnung der Differenzen nicht moglich Um das Verhalten der Differenzen in einer Substitutionsbox S Box genauer zu untersuchen gibt man unterschiedliche Eingangswerte S X I displaystyle SX I nbsp und S X I displaystyle SX I ast nbsp mit der gleichen Eingangsdifferenz in eine S Box X displaystyle X nbsp ein also S X I c o n s t displaystyle SX I prime const nbsp Man kann dann feststellen dass die Differenzen S X O displaystyle SX O prime nbsp der Werte S X O displaystyle SX O nbsp und S X O displaystyle SX O ast nbsp am Ausgang ungleich verteilt sind Das heisst bei konstanter Eingangsdifferenz treten einige Ausgangsdifferenzen haufiger andere seltener oder gar nicht auf Diese Eigenschaft einer S Box wird in einer Differenzenverteilungstabelle festgehalten S X O 0 displaystyle SX O0 prime nbsp S X O 1 displaystyle SX O1 prime nbsp S X O 2 displaystyle SX O2 prime nbsp S X I 0 displaystyle SX I0 prime nbsp x 0 0 displaystyle x 0 0 nbsp x 1 0 displaystyle x 1 0 nbsp x 2 0 displaystyle x 2 0 nbsp S X I 1 displaystyle SX I1 prime nbsp x 0 1 displaystyle x 0 1 nbsp x 1 1 displaystyle x 1 1 nbsp x 2 1 displaystyle x 2 1 nbsp Der Wert x i j displaystyle x i j nbsp gibt dabei an wie oft bei Eingangsdifferenz S X I j displaystyle SX Ij prime nbsp die Ausgangsdifferenz S X O i displaystyle SX Oi prime nbsp auftritt wenn man alle moglichen Paare von Eingabewerten mit der S Box X displaystyle X nbsp untersucht Die Eingangsdifferenz S X I j displaystyle SX Ij prime nbsp verursacht dann die Ausgangsdifferenz S X O i displaystyle SX Oi prime nbsp mit einer Wahrscheinlichkeit p D x i j 2 l displaystyle p D frac x i j 2 l nbsp durch die untersuchte S Box X displaystyle X nbsp mit einem l displaystyle l nbsp Bit breiten Eingang Schlusselkandidaten eine Runde Bearbeiten nbsp Ausschnitt aus einer Rundenfunktion des Data Encryption Standard Die Unterteilung des Eingangswertes und des Rundenschlussels in 8 Blocke zu je 6 Bit soll die Zuordnung der Bits zu den 8 S Boxen symbolisieren Fur eine Feistelchiffre mit nur einer Runde kann man mit diesem Wissen bestimmte Schlussel ausschliessen Die verbleibenden Schlussel sind die Schlusselkandidaten Die Abbildung rechts macht die im Folgenden verwendeten Bezeichnungen am Beispiel des DES etwas klarer Der Angreifer lasst zwei Klartexte mit einer selbst gewahlten Differenz verschlusseln Er erfahrt die Geheimtexte oder zumindest deren Differenz Er kann aus der Kenntnis der Klartexte den Status der Verschlusselung S X E displaystyle SX E nbsp vor der XOR Verknupfung displaystyle oplus nbsp mit dem Rundenschlussel K displaystyle K nbsp berechnen Aus der Geheimtextdifferenz kann er die Ausgangsdifferenz S X O displaystyle SX O prime nbsp der S Box X displaystyle X nbsp berechnen Anhand der Differenzenverteilungstabelle ist aus der Eingangsdifferenz S X I displaystyle SX I prime nbsp und der Ausgangsdifferenz S X O displaystyle SX O prime nbsp die Anzahl der in Betracht kommenden Eingangswerte der S Box ersichtlich Die Paare von Eingangswerten S X I displaystyle SX I nbsp und S X I displaystyle SX I ast nbsp mit Differenz S X I displaystyle SX I prime nbsp welche die Ausgangsdifferenz S X O displaystyle SX O prime nbsp erzeugen mussen vom Angreifer berechnet oder aus einer Tabelle abgelesen werden Man geht davon aus dass dem Angreifer die Berechnungsvorschrift fur die S Boxen bekannt ist Kerckhoffs Prinzip Dem Angreifer sind nun die Werte von S X E displaystyle SX E nbsp sowie die moglichen Werte von S X I displaystyle SX I nbsp bekannt Damit kann er Kandidaten fur den Rundenschlussel berechnen K S X E S X I displaystyle K SX E oplus SX I nbsp Dies kann mit verschiedenen Klartextpaaren wiederholt werden Der korrekte Rundenschlussel befindet sich immer unter den Schlusselkandidaten eines Durchlaufs Schlussel die nicht in den Schlusselkandidaten aller Durchlaufe enthalten sind scheiden damit als Rundenschlussel aus Charakteristiken mehrere Runden Bearbeiten Die Menge der Eingangs und Ausgangsdifferenzen uber n displaystyle n nbsp Runden bezuglich irgendeines Klartextpaares sowie der Klartext und der Geheimtextdifferenz nennt man n Runden Charakteristik W displaystyle Omega nbsp Wenn die vertauschten Halften der Klartextdifferenz einer n Runden Charakteristik W 1 P L 0 R 0 displaystyle Omega 1P L 0 prime R 0 prime nbsp der Geheimtextdifferenz einer m Runden Charakteristik W 2 T L m R m displaystyle Omega 2T L m prime R m prime nbsp gleich sind also L m R 0 displaystyle L m prime R 0 prime nbsp und R m L 0 displaystyle R m prime L 0 prime nbsp dann konnen diese zu einer m n displaystyle m n nbsp Runden Charakteristik aneinander gehangt werden Jeder Charakteristik W displaystyle Omega nbsp kann man eine Wahrscheinlichkeit p W displaystyle p Omega nbsp zuordnen dass ein zufalliges Klartextpaar mit der gegebenen Differenz W P displaystyle Omega P nbsp genau die in der Charakteristik angenommenen Differenzen in den einzelnen Runden aufweist Die Wahrscheinlichkeit einer n Runden Charakteristik p W displaystyle p Omega nbsp ist dabei das Produkt der Wahrscheinlichkeiten aller 1 Runden Charakteristiken p i W displaystyle p i Omega nbsp aus denen sich die n Runden Charakteristik W displaystyle Omega nbsp zusammensetzt p W i 1 n p i W displaystyle p Omega prod i 1 n p i Omega nbsp Die Wahrscheinlichkeit einer 1 Runden Charakteristik ist p D displaystyle p D nbsp siehe oben also die Wahrscheinlichkeit dass die Eingangsdifferenz dieser Charakteristik die Ausgangsdifferenz dieser Charakteristik verursacht Ein Sonderfall sind sogenannte iterative Charakteristiken mit W 1 W 2 displaystyle Omega 1 Omega 2 nbsp welche immer wieder an sich selbst angehangt werden konnen Die vertauschten Halften der Klartextdifferenz sind also gleich der Geheimtextdifferenz derselben Charakteristik Diese lassen sich also leicht zu beliebig grossen n Runden Charakteristiken zusammenhangen Wahrend bei nicht iterativen Charakteristiken die Wahrscheinlichkeit mit grosserem n displaystyle n nbsp bedingt durch den Avalanche Effekt immer schneller abnimmt bleiben die Wahrscheinlichkeiten der Teilcharakteristiken aus denen iterative Charakteristiken zusammengesetzt sind gleich Iterative Charakteristiken werden deshalb bei einem Angriff bevorzugt eingesetzt Ein Klartextpaar dessen Klartextdifferenz und dessen korrespondierende Ein und Ausgangsdifferenzen der einzelnen Runden mit einer bestimmten n Runden Charakteristik ubereinstimmen nennt man richtiges Paar Klartextpaare die nicht diese Differenzen erzeugen sind falsche Paare Die Wahrscheinlichkeit dass ein Klartextpaar mit der durch eine n Runden Charakteristik gegebenen Klartextdifferenz ein richtiges Paar ist ist gleich der Wahrscheinlichkeit der n Runden Charakteristik p W displaystyle p Omega nbsp falls zufallige unabhangige Rundenschlussel benutzt werden Die Verallgemeinerung dass die Rundenschlussel unabhangig sind vereinfacht die Analyse und stellt sicher dass die differenzielle Kryptoanalyse auf verschiedene Verschlusselungsverfahren anwendbar ist Angriff Bearbeiten Um nun die Rundenschlussel der n displaystyle n nbsp Runden zu ermitteln benotigt man zunachst mehrere n Runden Charakteristiken mit moglichst hoher Wahrscheinlichkeit p W displaystyle p Omega nbsp Der Angreifer wahlt dann eine genugend grosse Menge an Klartextpaaren mit Differenzen welche denen der n Runden Charakteristiken entsprechen Es lassen sich auf unbestimmte Art und Weise die dazugehorigen 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 dazugehorigen Geheimtexte bekannt sind kann der Angriff auch als known plaintext attack durchgefuhrt werden Entspricht auch die Differenz der Geheimtexte der von der n Runden Charakteristik vorgegebenen Geheimtextdifferenz so ist das korrespondierende Klartextpaar mit Wahrscheinlichkeit p W displaystyle p Omega nbsp ein richtiges Paar Die zu den einzelnen Runden der Charakteristik gehorenden Mengen mit Schlusselkandidaten enthalten also mit Wahrscheinlichkeit p W displaystyle p Omega nbsp den korrekten Rundenschlussel fur die jeweilige Runde Dieses Vorgehen wiederholt man mit verschiedenen n Runden Charakteristiken Die Rundenschlussel welche am haufigsten unter den Kandidaten einer Runde auftreten sind mit entsprechend hoher Wahrscheinlichkeit die gesuchten Rundenschlussel Abhangig vom Berechnungsverfahren der Rundenschlussel im jeweiligen Verschlusselungsalgorithmus kann daraus der geheime Schlussel oder Teile davon berechnet werden Hat das Verschlusselungsverfahren mehr als n displaystyle n nbsp Runden so kann eine kleine Anzahl verbleibender Runden auch uberbruckt werden indem man fur diese alle moglichen Rundenschlussel probiert Brute Force Methode und jeweils uberpruft ob die Differenz des so gewonnenen Wertepaars mit der Geheimtextdifferenz der n Runden Charakteristik ubereinstimmt Beispiel DES BearbeitenDas folgende Beispiel bezieht sich auf den Data Encryption Standard DES Es soll zum Verstandnis der grundlegenden Prinzipien beitragen Zahlenwerte mit Suffix h sind hexadezimal Differenzenverteilungstabelle Bearbeiten Die folgende Tabelle zeigt einen Ausschnitt aus der Differenzenverteilungstabelle fur die S Box S 1 displaystyle S1 nbsp 0h 1h 2h 3h 4h 5h 6h 7h 8h 9h Ah Bh Ch Dh Eh Fh0h 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01h 0 0 0 6 0 2 4 4 0 10 12 4 10 6 2 42h 0 0 0 8 0 4 4 4 0 6 8 6 12 6 4 2 34h 0 8 16 6 2 0 0 12 6 0 0 0 0 8 0 6 3Fh 4 8 4 2 4 0 2 4 4 2 4 8 8 6 2 2Die erste Spalte zeigt die Eingangsdifferenzen S 1 I displaystyle S1 I nbsp Der Eingang einer S Box ist 6 Bit breit Es sind also insgesamt 2 6 2 6 2 12 4096 displaystyle 2 6 cdot 2 6 2 12 4096 nbsp Wertepaare moglich Diese konnen 2 6 64 displaystyle 2 6 64 nbsp verschiedene Differenzen haben und zwar 0h 3Fh Die Titelzeile zeigt die moglichen Ausgangsdifferenzen S 1 O displaystyle S1 O nbsp Der Ausgang einer S Box ist 4 Bit breit Es sind also insgesamt 2 4 2 4 2 8 256 displaystyle 2 4 cdot 2 4 2 8 256 nbsp Wertepaare moglich Diese konnen 2 4 16 displaystyle 2 4 16 nbsp verschiedene Differenzen haben und zwar 0h Fh Es gibt jeweils 64 Kombinationen von Eingangswerten welche eine Eingangsdifferenz erzeugen Die Zeilensumme muss also immer 64 sein Intuitiv ist auch dass bei zwei gleichen Eingangswerten Eingangsdifferenz S 1 I 0 h displaystyle S1 I 0h nbsp der gleiche Ausgangswert Ausgangsdifferenz S 1 O 0 h displaystyle S1 O 0h nbsp auftreten sollte Wie in Zelle 0h 0h der Tabelle zu sehen ist gilt dies fur alle 64 moglichen Wertepaare mit S 1 I 0 h displaystyle S1 I 0h nbsp Also ist die Wahrscheinlichkeit dass S 1 I 0 h displaystyle S1 I 0h nbsp S 1 O 0 h displaystyle S1 O 0h nbsp verursacht 1 Die Wahrscheinlichkeit dass S 1 I 34 h displaystyle S1 I 34h nbsp S 1 O 4 h displaystyle S1 O 4h nbsp verursacht ist 2 64 0 031 25 displaystyle frac 2 64 0 03125 nbsp Schlusselkandidaten finden Bearbeiten Man geht davon aus dass ein Angreifer ein Klartextpaar kennt P L 0 R 0 displaystyle P L 0 R 0 nbsp mit R 0 A 800 0001 h displaystyle R 0 A800 0001h nbsp und P L 0 R 0 displaystyle P ast L 0 ast R 0 ast nbsp mit R 0 0800 0000 h displaystyle R 0 ast 0800 0000h nbsp Dann kann er auf die rechte Halfte der beiden Klartexte der Teil der in die Rundenfunktion eingeht die Expansion anwenden E A 800 0001 h 3510 0000 0003 h displaystyle E A800 0001h 3510 0000 0003h nbsp und E 0800 0000 h 0110 0000 0000 h displaystyle E 0800 0000h 0110 0000 0000h nbsp Es ist also S 1 E 35 h displaystyle S1 E 35h nbsp und S 1 E 1 h displaystyle S1 E ast 1h nbsp Dann ist S 1 E S 1 E S 1 E 34 h displaystyle S1 E prime S1 E oplus S1 E ast 34h nbsp die Differenz der Werte vor der Verknupfung mit dem Rundenschlussel Da beide Werte mit dem gleichen Rundenschlussel K displaystyle K nbsp XOR verknupft werden bleibt die Differenz unverandert S 1 I S 1 I S 1 I S 1 E K S 1 E K S 1 E S 1 E S 1 E 34 h displaystyle S1 I prime S1 I oplus S1 I ast S1 E oplus K oplus S1 E ast oplus K S1 E oplus S1 E ast S1 E prime 34h nbsp Man geht weiter davon aus dass dem Angreifer die Ausgangsdifferenz bekannt ist S 1 O 4 h displaystyle S1 O prime 4h nbsp Die Differenzenverteilungstabelle fur die S Box S 1 displaystyle S1 nbsp zeigt dass es 2 mogliche Belegungen der Eingangswerte gibt bei denen S 1 I 34 h displaystyle S1 I prime 34h nbsp und S 1 O 4 h displaystyle S1 O prime 4h nbsp ist Mit Kenntnis der S Box diese ist offentlich bekannt ist es moglich zu berechnen welche 2 Belegungen fur die Eingangswerte mit der gegebenen Eingangsdifferenz die gegebene Ausgangsdifferenz erzeugen Zu diesem Zweck kann der Angreifer bereits im Vorhinein eine Tabelle angelegt haben aus welcher er die Werte abliest In diesem Fall sind die moglichen Eingangswertepaare S 1 I S 1 I 13 h 27 h displaystyle S1 I S1 I ast 13h 27h nbsp oder S 1 I S 1 I 27 h 13 h displaystyle S1 I S1 I ast 27h 13h nbsp 1 Die Schlusselkandidaten ergeben sich aus K S 1 I S 1 E displaystyle K S1 I oplus S1 E nbsp Damit ist der korrekte Rundenschlussel entweder 13 h 35 h 26 h displaystyle 13h oplus 35h 26h nbsp oder 27 h 35 h 12 h displaystyle 27h oplus 35h 12h nbsp Der Rundenschlussel kann entweder durch Probieren oder durch Wiederholung mit einem anderen Klartextpaar gefunden werden Siehe auch BearbeitenKryptoanalyse Lineare KryptoanalyseWeblinks BearbeitenAusfuhrliches Paper englisch Eli Biham Adi Shamir Differential cryptanalysis of DES like cryptosystems In Journal of Cryptology 4 Jahrgang Nr 1 Januar 1991 S 3 72 doi 10 1007 BF00630563 psu edu PDF Vereinfachtes Beispiel deutsch Praktikumsversuch PDF 965 kB S 42 ff Einzelnachweise Bearbeiten a b c Eli Biham Adi Shamir Differential cryptanalysis of DES like cryptosystems In Journal of Cryptology 4 Jahrgang Nr 1 Januar 1991 S 3 72 doi 10 1007 3 540 38424 3 1 psu edu PDF a b Don Coppersmith The Data Encryption Standard DES and its strength against attacks In IBM Journal of Research and Development 38 Jahrgang Nr 3 Mai 1994 S 243 ibm com PDF Abgerufen von https de wikipedia org w index php title Differenzielle Kryptoanalyse amp oldid 219535696