Michael Miller Symmetrische Verschlusselungsverfahren Michael Miller Symmetrische u Versch I {issei n9s verfahren Design, Entwicklung und Kryptoanalyse klassischer und moderner Chiffren 1m Teubner B. G. Teubner Stuttgart· Leipzig· Wiesbaden Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliographie; detaillierte bibliografische Daten sind im Internet Ober <http://dnb.ddb.de> abrufbar. Prof. Dr. rer. nat. Michael Miller Geboren 1966 in Wiesbaden. Von 1986 bis 1992 Studium der Mathematik, 1992 Diplom an der Johannes Gutenberg-Universitat Mainz. Von 1992 bis 1995 Systemadministrator im Bereich Musik informatik und Medientechnik der Johannes Gutenberg-Universitat Mainz. 1995 Promotion an der Justus-Liebig-Universitat GieBen. 1995 bis 1999 Berater bei der Industrieanlagen-Betriebsgesellschaft mbH, MOnchen. Seit 1999 Professor an der FH Gelsenkirchen. 1. Auflage April 2003 Aile Rechte vorbehalten © B. G. Teubner GmbH, Stuttgart/Leipzig/Wiesbaden, 2003 Der Verlag Teubner ist ein Unternehmen der Fachverlagsgruppe BertelsmannSpringer. www.teubner.de Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von jedermann benutzt werden dOrften. Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de Gedruckt auf saurefreiem und chlorfrei gebleichtem Papier. ISBN-13: 978-3-519-02399-9 e-ISBN-13: 978-3-322-80101-2 DOT: 10.1007/978-3-322-80101-2 In Erinnerung an meinen Vater Gunter Miller 1925 - 1997 vi Vorwort Kryptologie ist eine Wissenschaft, die sieh mit dem Verschlusseln geheimer Informationen beschaftigt. Schon im 17. Jahrhundert wurden mechanische Chif friermaschinen gebaut. Diese Maschinen ermoglichen es, einen "Klartext" ein fach und schnell zu verschlusseln, oder umgekehrt, einen chiffrierten Text zu entschlusseln. Anfangs funktionierten diese Maschinen rein mechanisch, spater elektrisch oder sogar elektronisch. Heute gibt es spezielle Mikrochips, deren einzige Aufgabe es ist, schnell und zuverlassig Daten zu chiffrieren und dechif frieren. Aber ebenso, wie man sieh bemuhte, immer bessere Chiffriermaschinen zu konstruieren, so hat man sieh auch bemuht, Analysemethoden und Maschinen zu entwiekeln, um Chiffren zu brechen. Das spektakularste Beispiel fUr erfolg reiche Kryptoanalyse ist die sogenannte "Turing-Bombe", ein Verfahren, das von Polen und Englandern entwickelt wurde und mit dem es noch wahrend des 2. Weltkriegs gelang, die Chiffren der Deutschen Wehrmacht, erfolgreieh zu ent schlusseln. Die deutsche Chiffriermaschine "ENIGMA" galt, nach Meinung der fUhrenden Experten, als "absolut sieher"! Bemerkenswert ist auch die Tatsache, dafi das Analyseverfahren erst nach 1967 veroffentlicht wurde. Bis dahin war die Kryptologie eine Domane militarischer Forschungseinriehtungen. Mit fortschreitender Entwieklung der Informatik ergaben sieh, auf3er weite ren militarischen Anwendungen, auch zivile Anwendungsgebiete fUr die Kryp tologie. Heute werden kryptographische Methoden im elektronischen Zahlungs verkehr und vielen anderen Bereiehen eingesetzt. Mit zunehmender Vernetzung der Computer werden neue Methoden gebraucht, um Daten sicher vor den Au gen Unbefugter zu ubertragen und zu speiehern. Viele Probleme sind noch ungelost. In diesem Buch wird die Entwicklung (im Sinne von Evolution) symmetri scher Kryptosysteme vorgestellt. Dabei werden die wichtigsten Chiffren ausfUhr lich beschrieben. Auf3erdem wird auf ausgewahlte Techniken der Kryptoanalyse eingegangen. Diese Techniken werden jeweils so detailliert beschrieben, daf3 der Leser alle Informationen erhalt,' die zur Implementierung der Analyseverfahren notwendig sind. Alle Definitionen, Satze und deren Beweise sind grundlich aus gefuhrt, so dafi sie auch ohne Spezialkenntnisse oder weiterfUhrende Literatur nachvollziehbar sind. Die mathematischen Grundlagen werden erklart. Es ist moglich, das Buch innerhalb eines Semesters. durchzuarbeiten. Dazu benotigt man etwa vier Vorlesungsstunden pro Woche. Da alle Inhalte sehr ausfuhrlich beschrieben sind, ist das Buch aber auch zum Selbststudium geeig net. vii Danksagung Ein mathematisches Buch zu schreiben beansprucht viel Zeit und als Au tor empfinde ich das nicht als Belastung. Als freizeitliebender Mensch und als Ehemann tut es mir jedoch urn jede Stunde leid, die ich nicht mit den wirk lich wichtigen Dingen verbringe. Trotzdem hat es einen Weg zu diesem Buch gegeben, und dafur danke ich meiner Frau Pia, ohne deren Verstandnis und Ermutigungen das alles nicht moglich gewesen ware. Inhaltsverzeichnis 1 Kryptoanalyse klassischer Chiffrierverfahren 1 1.1 Einleitung.................. 2 1.2 Elemente der Verschliisselung . . . . . . 4 1.3 Monoalphabetische Substitutionschiffren . 7 1.4 Analyse monoalphabetischer Chiffren . . . 10 1.5 Beispiel: Analyse einer monoalphabetischen Chiffre . 13 1.6 Polyalphabetische Chiffrierverfahren 20 1. 7 Kasiski-Test . . . . . . . . . . . . . . . . . . . . . . 25 1.8 Koinzidenzindex von Friedman . . . . . . . . . . . 27 1.9 Beispiel: Analyse einer polyalphabetischen Chiffre 34 1.10 Permutationschiffren . . . . . . . . . . . . . . . . . 38 2 Die Kryptoanalyse der "Enigma"-Chiffre 43 2.1 Entwicklung kryptographischer Gerate zu Beginn des 20. Jahr- hunderts . . . . . . . . . . . . . . . . 44 2.2 Prinzip der Rotorchiffrierung . . . . . . . . . . . 49 2.3 Arbeitsweise der Wehrmachtsenigma . . . . . . . 51 2.4 Enigma-Schliisselverfahren im zweiten Weltkrieg 55 2.5 Polnische Analysen - 1926 bis 1939 . 57 2.6 Britische Analysen - 1939 bis 1945 ....... 64 3 Shannons Theorie der Kryptosysteme 73 3.1 Hintergrund und Notation ...... . 74 3.2 Stochastische Modellierung . . . . . . 78 3.3 Perfekte Chiffren - absolute Sicherheit 81 3.4 Das One-Time-Pad ..... 84 3.5 Entropie........... '. 88 3.6 Theorie der Kryptosysteme 105 3.7 Konfusion und Diffusion .. 111 4 Lucifer-Chiffre und der Data Encryption Standard 115 4.1 Grundlagen ......... . 116 4.2 Die Lucifer-Algorithmen .. . 120 4.3 Struktur einer Feistel-Chiffre 127 ix x 4.4 Geschichte des DES ......... 130 4.5 Beschreibung des DES-Algorithmus . 133 4.6 Beispiel einer DES-Verschllisselung 144 4.7 Betriebsarten einer Blockchiffre 147 5 Differentielle Kryptoanalyse 149 5.1 Einleitung - Motivation. . . . . . . . . . . . . . . . . . . . .. 150 5.2 Ubersicht zur Vorgehensweise der differentiellen Kryptoanalyse 151 5.3 Grundlagen . . . . . . . . . . . . . . 154 5.4 Analyse einer DES-Rundenfunktion. . . 158 5.5 Analyse des DES mit drei Runden . . . 163 5.6 Analyse des DES mit mehreren Runden 164 5.7 Schliisselbestimmung mit Hilfe der Charakteristik . 172 5.8 Differentielle Kryptoanalyse des DES mit sechs Runden 174 5.9 Aufwandsanalyse und Aufwandsreduzierung 176 5.10 Resultate der differentiellen Kryptoanalyse 182 6 Lineare Kryptoanalyse 187 6.1 Einleitung - Motivation. . . . . . . . . . . . . . . . . . . 188 6.2 Grundlagen.......................... 188 6.3 Ubersicht zur Vorgehensweise der linearen Approximation 194 6.4 Analyse des DES mit drei Runden 202 6.5 Analyse des DES mit fiinf Runden . . . . . 204 6.6 Analyse des DES mit acht Runden . . . . . 207 6.7 Analyse des DES mit mehr als acht Runden 216 6.8 Aufwand und Erfolgswahrscheinlichkeit der linearen Analyse. 218 7 Advanced Encryption Standard 223 7.1 Geschichte des AES ..... . 224 7.2 Grobstruktur des Verschliisselungsalgorithmus . 227 7.3 Notation ..................... . 230 7.4 Mathematische Grundlagen .......... . 232 7.5 Beschreibung der einzelnen Verschliisselungsschritte 236 7.6 Struktur des Entschliisselungsalgorithmus 242 7.7 Auswahl der Rundenschliissel ... 249 7.8 Beispiel einer AES-Verschliisselung 253 8 Mathematische Grundlagen 255 8.1 Zahlentheorie ................ . 255 8.1.1 Natiirliche Zahlen und ganze Zahlen 256 8.1.2 Modulare Arithmetik 256 8.2 Algebra ..... 257 8.2.1 Gruppen. 257 8.2.2 Ringe . . 259 8.2.3 K6rper.. 260 8.2.4 Polynomringe. 262 Kapitell Kryptoanalyse klassischer Chiffrierverfahren In diesem erst en Kapitel werden ausschlieBlich klassische Chiffrierverfahren be trachtet. Dabei handelt es sich urn Verfahren, die (lange) vor dem zweiten Weltkrieg entwickelt und verwendet wurden. Besonders interessant sind die Verfahren von J. G. Caesar, Leon Battista Alberti und Blais de Vigenere. Diese Verfahren werden im Rahmen von Beispielen kurz vorgestellt. Caesar, Alberti und Vigenere waren natiirlich nicht die einzigen, die sich Gedanken urn Chiffren machten und entsprechende Verfahren erfanden. Viele interessante Verfahren sind entworfen worden, und es wurden die unterschied lichsten Chiffriermaschinen konstruiert und gebaut. Einige dieser Meisterwerke der Feinmechanik sind noch erhalten und konnen in Museen und Ausstellun gen bewundert werden. Eine hervorragende Ubersicht der Verfahren und viele Abbildungen von historischen Chiffriermaschinen wurden von D. Kahn zusam mengestellt und in dem Klassiker "The Codebreakers" [Kah67] veroffentlicht. Urn wenigstens einen Teil der klassischen Verfahren zu erfassen, werden in dies em Kapitel drei Klassen von Chiffrierverfahren beschrieben: Die monoal phabetischen Substitutionschiffren, die polyalphabetischen Substitutionschiffren und die Permutationschiffren. Die Beschreibung dieser Chiffren geht so weit, daB auch detailliert dargestellt wird, wie man diese Chiffren analysiert (knackt). Daflir gibt es zwei Grlinde: Erstens sind die klassischen Analysetechniken grund legend und sollten natlirlich auch bei der Entwicklung und Anwendung moder ner Chiffrierverfahren entsprechend berlicksichtigt werden. Zweitens gibt es auch heute noch einige Produkte zum Schutz von Daten, die auf klassischen Verfahren basieren und somit nachweislich unsicher sind. Das Kapitel ist in zehn Abschnitte unterteilt. Nach einer kurzen Einleitung werden die grundlegenden Elemente und Begriffe der Verschltisselung vorge stellt. Abschnitt 1.3 beschreibt dann den allgemeinen Aufbau monoalphabe tischer Substitutionschiffren, und im darauf folgenden Abschnitt wird erklart, wie man klassische monoalphabetische Substitutionschiffren analysiert. Die ent- 1 M. Miller, Symmetrische Verschlüsselungsverfahren © B. G. Teubner GmbH, Stuttgart/Leipzig/Wiesbaden 2003 2 Kapitell: sprechenden Analysetechniken werden in Abschnitt 1.4 an einem ausfiihrlichen Beispiel demonstriert. Ein wichtiger Schritt in der Entwicklung der Kryptologie war die Erfindung polyalphabetischer Chiffren (16. und 17. Jahrhundert). Diese Chiffren werden in Abschnitt 1.6 vorgestellt. Dazu wird eine allgemeine Definition prasentiert sowie ein klassisches Beispiel, die Vigenere Chiffre. Fiir die Analyse einer polyalphabetischen Chiffre sind zwei Methoden von grundlegender Bedeutung. Der Kasiski-Test und die Berechnung der Zeichenko inzidenz nach Friedman. In den Abschnitten 1. 7 und 1.8 werden beide Methoden ausfiihrlich beschrieben. 1m darauf folgenden Abschnitt werden die Methoden zur Analyse polyalphabetischer Chiffren an einem Beispiel vorgefiihrt. Der letzte Abschnitt in diesem Kapitel dient der Beschreibung sogenannter Permutationschiffren sowie deren Analyse. 1.1 Einleitung Caesars Chiffre Uberlieferungen zufolge wurden bereits vor ca. 2500 Jahren kryptographische Verfahren zur geheimen Nachrichteniibermittlung verwendet. Wir beginnen je doch etwas spater, mit einer kurzen Geschichte iiber J. G. Caesar ... Der romische Kaiser und Feldherr Gaius Julius Caesar regierte ein Reich, das von Karthago bis Britannien reichte. Dabei fiihrte er Kriege an vielen Fronten. Die Koordination seiner Truppen war schwierig, denn Caesar mufite ohne moderne Telekommunikationsverbindungen auskommen. Zur Nachrichteniibertragung wurden reitende Boten eingesetzt. Es ist leicht vorstellbar, dafi die Feinde des romischen Reiches, etwa die Gallier, die sen Boten auHauerten, urn die Nachrichten Caesars an seine Feldherren abzufangen. Damit die Gallier nichts von den romischen Schlachtpliinen erfahren konnten, verwendete Caesar eine Geheimschrift. Statt einer Klar textnachricht, die etwa "im morgengrauen greifen wir die gallier an" lauten konnte, bekamen die Boten ein Papyrus ausgehandigt, das folgen den (Geheim-)text enthielt: LP PRUJHQJUDXHQ JUHLFHQ ZLU GLH JDllLHU DQ. Wir wissen nicht, ob es den Galliern jemals gelang, die Geheimschrift Caesars zu entziffern. Aber im Norden des heutigen Frankreichs solI es ein kleines gallisches Dorf gegeben haben, das die Romer niemals erobern konnten ...