Differenzial cryptanalysis

Differenzial cryptanalysis ist eine allgemeine Form von cryptanalysis anwendbar in erster Linie, um Ziffern, sondern auch zu Strom-Ziffern und kryptografischen Kuddelmuddel-Funktionen zu blockieren. Im weitesten Sinn ist es die Studie dessen, wie Unterschiede in einem Eingang den resultierenden Unterschied an der Produktion betreffen können. Im Fall von einer Block-Ziffer bezieht es sich auf eine Reihe von Techniken, um Unterschiede durch das Netz von Transformationen zu verfolgen, entdeckend, wo die Ziffer nichtzufälliges Verhalten und Ausnutzung solcher Eigenschaften ausstellt, den heimlichen Schlüssel wieder zu erlangen.

Geschichte

Die Entdeckung des Differenzials cryptanalysis wird allgemein Eli Biham und Adi Shamir gegen Ende der 1980er Jahre zugeschrieben, wer mehrere Angriffe gegen verschiedene Block-Ziffern und Kuddelmuddel-Funktionen einschließlich einer theoretischen Schwäche in Data Encryption Standard (DES) veröffentlicht hat. Es wurde von Biham und Shamir bemerkt, dass DES gegen das Differenzial cryptanalysis im Sinn überraschend widerstandsfähig ist, dass sogar kleine Modifizierungen zum Algorithmus es viel empfindlicher machen würden.

1994 hat ein Mitglied der ursprünglichen Mannschaft von IBM DES, Don Coppersmith, eine Zeitung veröffentlicht feststellend, dass Differenzial cryptanalysis IBM schon in 1974 bekannt war, und dass, gegen das Differenzial verteidigend, cryptanalysis eine Designabsicht gewesen war.

Gemäß dem Autor Steven Levy hatte IBM Differenzial cryptanalysis selbstständig entdeckt, und der NSA war anscheinend der Technik gut bewusst.

IBM hat einige Geheimnisse behalten, wie Kupferschmied erklärt: "Nach Diskussionen mit NSA wurde es entschieden, dass die Enthüllung der Designrücksichten die Technik des Differenzials cryptanalysis, eine starke Technik offenbaren würde, die gegen viele Ziffern verwendet werden konnte. Das würde der Reihe nach den Wettbewerbsvorteil die Vereinigten Staaten schwächen, die über andere Länder im Feld der Geheimschrift genossen sind."

Innerhalb von IBM war Differenzial cryptanalysis als der "T-Angriff" bekannt, oder "Kitzeln Angriff".

Während DES mit dem Widerstand gegen das Differenzial cryptanalysis im Sinn entworfen wurde, haben sich andere zeitgenössische Ziffern erwiesen, verwundbar zu sein. Ein frühes Ziel für den Angriff war die FEAL-Block-Ziffer. Die ursprüngliche vorgeschlagene Version mit vier Runden (FEAL-4) kann mit nur acht gewählten plaintexts gebrochen werden, und sogar eine 31-Runden-Version von FEAL ist gegen den Angriff empfindlich.

Angriffsmechanik

Differenzial cryptanalysis ist gewöhnlich ein gewählter Plaintext-Angriff, bedeutend, dass der Angreifer im Stande sein muss, encrypted ciphertexts für einen Satz von plaintexts seiner Auswahl zu erhalten. Das Schema kann erfolgreich cryptanalyze DES mit einer Anstrengung auf dem Auftrag 2 gewählter plaintexts. Es, gibt jedoch, Erweiterungen, die einen bekannten plaintext oder sogar einen ciphertext-einzigen Angriff erlauben würden. Die grundlegende Methode verwendet Paare von durch einen unveränderlichen Unterschied verbundenem plaintext; Unterschied kann auf mehrere Weisen definiert werden, aber die exklusive ODER (XOR) Operation ist üblich. Der Angreifer schätzt dann die Unterschiede des entsprechenden ciphertexts, hoffend, statistische Muster in ihrem Vertrieb zu entdecken. Das resultierende Paar von Unterschieden wird ein Differenzial genannt. Ihre statistischen Eigenschaften hängen von der Natur der für die Verschlüsselung verwendeten S-Kästen ab, so analysiert der Angreifer Differenziale (Δ, Δ), wo Δ = S (X  Δ)  S (X) (und  zeigt exklusiv oder an), für jeden solchen S-Kasten S. Im grundlegenden Angriff, wie man erwartet, ist ein besonderer ciphertext Unterschied besonders häufig; auf diese Weise kann die Ziffer vom zufälligen bemerkenswert sein. Hoch entwickeltere Schwankungen erlauben dem Schlüssel, schneller wieder erlangt zu werden, als erschöpfende Suche.

In der grundlegendsten Form der Schlüsselwiederherstellung durch das Differenzial cryptanalysis bittet ein Angreifer um den ciphertexts für eine Vielzahl von plaintext Paaren, nimmt dann an, dass das Differenzial für mindestens r-1 Runden hält, wo r die Gesamtzahl von Runden ist. Der Angreifer leitet dann ab, welche runde Schlüssel (für die Endrunde) das mögliche Annehmen des Unterschieds zwischen den Blöcken sind, bevor die Endrunde befestigt wird. Wenn runde Schlüssel kurz sind, kann das einfach erschöpfend das Entschlüsseln der ciphertext Paare eine Runde mit jedem möglichen runden Schlüssel erreicht werden. Als ein runder Schlüssel ein potenzieller runder Schlüssel beträchtlich öfter gehalten worden ist als jeder andere Schlüssel, wie man annimmt, ist er der richtige runde Schlüssel.

Für jede besondere Ziffer muss der Eingangsunterschied sorgfältig ausgewählt werden, wenn der Angriff erfolgreich sein soll. Eine Analyse des internals des Algorithmus wird übernommen; die Standardmethode ist, einen Pfad von hoch wahrscheinlichen Unterschieden durch die verschiedenen Stufen der Verschlüsselung zu verfolgen, hat eine Differenzialeigenschaft genannt.

Seit dem Differenzial ist cryptanalysis öffentliche Kenntnisse geworden, es ist eine grundlegende Sorge von Ziffer-Entwerfern geworden. Wie man erwartet, werden neue Designs durch Beweise begleitet, dass der Algorithmus gegen diesen Angriff widerstandsfähig ist, und viele, einschließlich des Fortgeschrittenen Verschlüsselungsstandards, sicher gegen den Angriff bewiesen worden sind.

Angriff in Details

Der Angriff verlässt sich in erster Linie auf die Tatsache, dass ein gegebenes Unterschied-Muster des Eingangs/Produktion nur für bestimmte Werte von Eingängen vorkommt. Gewöhnlich wird der Angriff hauptsächlich auf die nichtlinearen Bestandteile angewandt, als ob sie ein fester Bestandteil waren (gewöhnlich, sind sie tatsächlich Nachschlagetabellen oder sboxes). Das Beobachten des gewünschten Produktionsunterschieds (zwischen zwei gewählten oder bekannten Plaintext-Eingängen) deutet mögliche Schlüsselwerte an.

Zum Beispiel, wenn ein Differenzial 1 => 1 (führt Andeutung eines Unterschieds im LSB des Eingangs zu einem Produktionsunterschied im LSB), mit der Wahrscheinlichkeit von 4/256 (möglich mit der nichtlinearen Funktion in der AES Ziffer zum Beispiel) dann für nur 4 Werte vorkommt (oder 2 Paare) Eingänge dieses mögliche Differenzial ist. Nehmen Sie an, dass wir eine nichtlineare Funktion haben, wo der Schlüssel XOR'ed vor der Einschätzung und den Werten ist, die das Differenzial erlauben, sind {2,3} und {4,5}. Wenn der Angreifer die Werte {6, 7} einsendet und den richtigen Produktionsunterschied beobachtet, bedeutet es, dass der Schlüssel entweder 6 xor K = 2 oder 6 xor K = 4 ist, bedeutend, dass der Schlüssel irgendein K = {2,4} ist.

Hauptsächlich für ein N-Bit nichtlineare Funktion würde man so in der Nähe von 2 ideal suchen wie möglich, um Differenzialgleichförmigkeit zu erreichen. Wenn das geschieht, verlangt der Differenzialangriff, dass so viel Arbeit den Schlüssel bestimmt wie einfach Tier, das den Schlüssel zwingt.

Die AES nichtlineare Funktion hat eine maximale Differenzialwahrscheinlichkeit von 4/256 (die meisten Einträge sind jedoch entweder 0 oder 2). Wenn er bedeutet, dass in der Theorie man den Schlüssel mit halb so viel Arbeit bestimmen konnte wie rohe Gewalt jedoch, verhindert der hohe Zweig von AES irgendwelche hohen Wahrscheinlichkeitsspuren am vorhandenen über vielfache Runden. Tatsächlich würde die AES Ziffer so zu unterschiedlichen und geradlinigen Angriffen mit einer viel schwächeren nichtlinearen Funktion geschützt sein. Der unglaublich hohe Zweig (energische Sbox-Zählung) 25 über 4R bedeutet, dass sich mehr als 8 Runden kein Angriff ist mit weniger als 50 nichtlinear verbunden, verwandeln, bedeutend, dass die Wahrscheinlichkeit des Erfolgs Pr [Angriff] nicht übertrifft. Zum Beispiel mit dem Strom sbox strahlt AES kein festes Differenzial mit einer Wahrscheinlichkeit höher aus als (4/256) oder 2, der viel niedriger ist als die erforderliche Schwelle 2 für eine 128-Bit-Block-Ziffer. Das hätte Zimmer für einen effizienteren sbox erlaubt, selbst wenn es 16-Uniformen-ist, wäre die Wahrscheinlichkeit des Angriffs noch 2 gewesen.

Dort besteht keine Bijektionen für sogar große Eingänge/Produktionen mit einem 2-Gleichförmigkeit-. Sie bestehen in sonderbaren Feldern (wie GF (2)) verwendend entweder kubierend oder Inversion (es gibt andere Hochzahlen, die ebenso verwendet werden können). Zum Beispiel S (x) = x in jedem sonderbaren binären Feld ist zu unterschiedlichem und geradlinigem cryptanalysis geschützt. Das ist teilweise, warum die NEBELIGEN Designs 7- und 9-Bit-Funktionen in der nichtlinearen 16-Bit-Funktion verwenden. Was diese Funktionen in der Immunität gegen unterschiedliche und geradlinige Angriffe gewinnen, verlieren sie gegen algebraische Angriffe. D. h. sie sind möglich, zu beschreiben und über einen GESESSENEN solver zu lösen. Das ist teilweise, warum AES (zum Beispiel) einen affine hat, der nach der Inversion kartografisch darstellt.

Spezialtypen

  • Höherwertiges Differenzial cryptanalysis
  • Gestutztes Differenzial cryptanalysis
  • Unmögliches Differenzial cryptanalysis
  • Bumerang-Angriff

Siehe auch

Geheimschrift
  • Geradliniger cryptanalysis
  • Eli Biham, Adi Shamir, Unterschiedlicher Cryptanalysis des Datenverschlüsselungsstandards, Springer Verlags, 1993. Internationale Standardbuchnummer 0-387-97930-1, internationale Standardbuchnummer 3-540-97930-1.
  • Biham, E. und A. Shamir. (1990). Unterschiedlicher Cryptanalysis von DES ähnlichem Cryptosystems. Fortschritte in Cryptology - GEHEIM-'90. Springer-Verlag. 2-21.
  • Eli Biham, Adi Shamir, "Unterschiedlicher Cryptanalysis des Vollen 16-Runden-DES," CS 708, Verhandlungen von GEHEIM-'92, Band 740 von Vortrag-Zeichen in der Informatik, Dezember 1991. (Nachschrift)
  • Eli Biham, Gleiten von, am 16. März 2006, FSE 2006, Graz, Österreich

Links


Depeche Weise / Dokumenttyp-Definition
Impressum & Datenschutz