Kapitel 4 Kryptographie Inhalt 4.1 Was ist Kryptographie? 4.2 Monoalphabetische Verfahren: Cäsar, ... 4.3 Polyalphabetische Verfahren: Vignère, ... 4.4 Modernste Kryptographie: Das Problem des Schlüssels Kapitel 4 © Beutelspacher November 2004 Seite 2 4.1 Kryptologie = Kryptographie • Geheimhaltung: Garantie, dass eine Nachricht von nicht autorisierten Personen nicht gelesen werden kann. • Authentifikation: Garantie, dass eine Nachricht von nicht autorisierten Personen nicht verändert werden kann. Kapitel 4 © Beutelspacher November 2004 Seite 3 Kryptologie bietet Sicherheit • Verschlüsselung diplomatischer Dienst, Militär, Mobilfunk, Pay-TV, ... • Authentifikation von Daten e-commerce, Homebanking, electronic cash, Computerviren, ... • Authentifikation von Personen Geldautomat, Rechnerzugang, Telefonkarten, Wegfahrsperre bei Kfzs, ... Kapitel 4 © Beutelspacher November 2004 Seite 4 Sicherheit ja ! Aber wozu Kryptologie? Kryptologie bietet Verfahren, die (im Prinzip) beweisbar sicher sind. Kryptologische Mechanismen können (im Prinzip) beliebig sicher gemacht werden. Kapitel 4 © Beutelspacher November 2004 Seite 5 Der Angreifer Kann man verhindern, dass ein Angreifer die Nachricht versteht? Kapitel 4 © Beutelspacher November 2004 Seite 6 Drei Geheimtexte Dodasos isostot unonkoknonackokbobaror URJZJKLEBERTASRI TXN PUTGQWMSLODBP Kapitel 4 © Beutelspacher November 2004 Seite 7 Geschichte Antike: die spartanische Skytala, der Cäsar-Code Mittelalter: Leon Battista Alberti, Trithemius, Vigenère Das Zeitalter der Chiffriermaschinen: Wheatstone, Jefferson, Kasiski, Friedman, Scherbius, Hagelin, ... Die mathematische Ära: Shannon, Diffie, Hellman, Shamir Kapitel 4 © Beutelspacher November 2004 Seite 8 4.2 Die Cäsar-Verschlüsselung Man schreibt das normale Alphabet (Klartextalphabet = KT) auf und darunter nochmals das normale Alphabet (Geheimtextalphabet = GT), aber um einige Stellen verschoben. Beispiel: KT: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z GT: W X Y Z A B C D E F G H I J K L M N O P Q R S T U V Verschlüsselung: Ein Klartextbuchstabe wird durch den darunterstehenden Geheimtextbuchstaben ersetzt. Beispiel: Aus MATHE wird IWPDA. Kapitel 4 © Beutelspacher November 2004 Seite 9 Cäsar-Scheiben Etwa um 1500 wurden “Verschlüsselungsmaschinen” erfunden, z.B. die Cäsar-Scheiben: Zwei runde Scheiben sind in ihrem Mittelpunkt drehbar gegeneinander befestigt. Auf jeder der Scheiben ist das Alphabet in normaler Reihenfolge zu sehen. Verschlüsselt wird, indem von außen nach innen gelesen wird. Entschlüsselt wird, indem man von innen nach außen liest. Kapitel 4 © Beutelspacher November 2004 Seite 10 Verschlüsselungsschema Klartext: Lieber Herr ... wird verschlüsselt Geheimtext: XYRTRE WREE... wird entschlüsselt Klartext: Lieber Herr ... Sender und Empfänger brauchen einen geheimen Schlüssel. Kapitel 4 © Beutelspacher November 2004 Seite 11 Der Angreifer will den Geheimtext ohne Schlüssel entschlüsseln! Mechanismus “Verschlüsselung” Menge Schlüs von seln K K Menge von Nachrichten m c m Geheimtext Klartext Verschlüsselung c = fK(m) Klartext Entschlüsselung m = fK-1(c) Der Schlüssel K ist das gemeinsame Geheimnis von Sender und Empfänger. Kapitel 4 © Beutelspacher November 2004 Seite 13 Kryptoanalyse der Cäsar-Verschlüsselung • Ausprobieren aller Möglichkeiten Da nur 26 Schlüssel zu testen sind, ist dies möglich. • Statistische Analyse Im Deutschen ist E der mit Abstand häufigste Buchstabe (ca. 20%). Zähle die Buchstaben im Geheimtext. Der häufigste entspricht dem Klartext-E. Damit liegt der Schlüssel fest, und man kann entschlüsseln. Kapitel 4 © Beutelspacher November 2004 Seite 14 Cäsar knacken UR J Z J K L EBERT ASR I VSKAK LMFCF SUB T S J WT L B L MNGDG T V C U T K X U M C M N O J E H UWD V U L Y V N D N O P I F I V X EWV M Z WO E O P Q J G J W Y F X W N A X P F PQRKHK X ZGY XO B Y QGQR S L I L Y A H Z Y P CZRHRS TMJMZ B I A ZQ DAS I S TUNKNACKBAR EB T J TUVOLOBD L CBS F CU K U V W P M P C E M D C T G DV L VW X Q N Q D F N E D U Kapitel 4 H EWMW X Y R O R E G N F E V I F X N X Y T S P S F HOG FW J G Y O Y Z A T Q T G I P ‘HG X KHZ P Z ABURUH J Q I HY L I AQABCVSV I KR J I Z M J B R B C DW T W J L S K J A N KC SCD E XU X KMT L K B O L D T D E F Y V Y L N UM L C P M E U E F G ZW Z MO V NMD Q N F V F G H A X A N P WO N E R O GWG H I B Y B O Q X P O F SPHXH I J C ZCPRYQPG TQ I Y I J KD ADQS Z RQH © Beutelspacher November 2004 Seite 15 Kardinal, Pastor und Admiral, als Führungstrio null und nichtig und darum völlig abhängig vom Ami-Trust, tat durch Radionachricht und Anschlag kund, dass Nahrungsnot und damit Tod aufs Volk zukommt. Zunächst tat man das als Falschinformation ab. Das ist Propagandagift, sagt man. Doch bald schon ward spürbar, was man ursprünglich nicht glaubt. Das Volk griff zum Stock, zum Dolch. “Gib uns das täglich Brot”, hallts durch Land und “pfui auf das Patronat, auf Ordnung, Macht und Staat.” ... (Georges Perec, Anton Voyls Fortgang. Zweitausendeins 1986.) Kapitel 4 © Beutelspacher November 2004 Seite 16 Monoalphabetische Verschlüsselungen Ein Verschlüsselungsalgorithmus heisst monoalphabetisch (griech: nur ein Alphabet), falls jeder Klartextbuchstabe immer in den gleichen Geheimtextbuchstaben verschlüsselt wird. Unter das Klartextalphabet schreibt man ein beliebig durcheinandergewürfeltes Geheimtextalphabet. Beispiel: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z F G W E V H D I C U A J T B S Q R K Z L M Y N O P X Verschlüsselung: Von oben nach unten, aus MATHE wird TFLIV. Kapitel 4 © Beutelspacher November 2004 Seite 17 Schlüsselwort-Chiffrierung Unter das Klartextalphabet schreibt man das Geheimtextalphabet; dieses wird wie folgt gebildet: Sender und Empfänger wählen ein Wort (Beispiel: MATHEMATIK). Dieses bildet den Anfang des Geheimtextalphabets (wobei doppelt auftretende Buchstaben beim zweiten Mal usw. entfallen). Dann werden die restlichen Buchstaben des Alphabets aufgefüllt: Beispiel: KT: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z GT: M A T H E I K B C D F G J L N O P Q R S U V W X Y Z Kapitel 4 © Beutelspacher November 2004 Seite 18 Wie sicher sind monoalphabetische Verschlüsselungen? Es gibt genau 26! Permutationen, also 26! Möglichkeiten für ein Geheimtextalphabet. Da 26! = 403 291 461 126 605 635 584 000 000 ist, gibt es eine riesige Zahl von Schlüsseln. Trotzdem haben monoalphabetischen Verschlüsselungen Nachteile: 1. Der Schlüssel ist die Folge der 26 Buchstaben des Geheimtextalphabets. Eine solche Folge ist schwer zu merken. 2. Sie sind relativ leicht zu knacken (trotz der großen Schlüsselzahl).‘ Statistische Analyse: Der Angreifer entschlüsselt die häufigsten Buchstaben (E, N, ...) und rät die restlichen. Kapitel 4 © Beutelspacher November 2004 Seite 19 4.3 Polyalphabetische Verschlüsselungen • Man müsste ... so verschlüsseln können, ... dass die Häufigkeiten der Buchstaben vertuscht werden. • Also müsste man ... so verschlüsseln, ... dass sich das Geheimtextalphabet von Buchstabe zu Buchstabe ändert. • Aber da alles müsste so gehen, ... dass der Empfänger des Geheimtexts diesen wieder entschlüsseln kann. Kapitel 4 © Beutelspacher November 2004 Seite 20 Polyalphabetische Verschlüsselungen Idee der polyalphabetischen Verschlüsselung: Verwende bei jedem Buchstaben ein neues Alphabet! D.h.: Verwende einen Cäsar-Code, aber wechsle nach jedem Buchstaben die Einstellung der Scheiben. Diese Idee entstand um 1500 und wurde u.a. von Alberti, Porta, Trithemius und Vigenère weiterentwickelt. Kapitel 4 © Beutelspacher November 2004 Seite 21 Algorithmus und Schlüssel Der Algorithmus ist die allgemeine Vorschrift, wie man ver- und entschlüsselt. Der Algorithmus ist i.a. öffentlich bekannt (auch dem Angreifer). Beispiel: Beim Cäsar-Code repräsentieren die Cäsar-Scheiben den Algorithmus. Der Schlüssel gibt die konkrete Verschlüsselungsvorschrift an. Der Schlüssel ist das exklusive Geheimnis von Sender und Empfänger. Beispiel: Beim Cäsar-Code ist der Schlüssel die Einstellung der Scheiben (oder der Buchstabe, in den A verschlüsselt wird, oder der Buchstabe, in den E verschlüsselt wird, oder ...). Kapitel 4 © Beutelspacher November 2004 Seite 22 Vigenère-Quadrat ABCDEFGHIJKLMNOPQRSTUVWXYZ BCDEFGHIJKLMNOPQRSTUVWXYZA CD EFGHIJKLMNOPQRSTUVW XYZAB DEFGHIJKLMNOPQRSTUVWXYZABC EFGHIJKLMNOPQRSTUVWXYZABCD FGHIJKLMNOPQRSTUVWXYZABCDE GHIJKLMNOPQRSTUVWXYZABCDEF HIJKLMNOPQRSTUVWXYZABCDEFG IJKLMNOPQRSTUVWXYZABCDEFGH JKLMNOPQRSTUVW XYZABCDEFGHI KLMNOPQRSTUVWXYZABCDEFGHIJ LMNOPQRSTUVWXYZABCDEFGHIJK MNOPQRSTUVW XYZABCDEFGHIJKL NOPQRSTUVW XYZABCDEFGHIJKLM OPQRSTUVWXYZABCDEFGHIJKLMN PQRSTUVW XYZABCDEFGHIJKLMNO QRSTUVW XYZABCDEFGHIJKLMNOP RSTUVWXYZABCDEFGHIJKLMNOPQ STUVW XYZABCDEFGHIJKLMNOPQR TUVW XYZABCDEFGHIJKLMNOPQRS UVW XYZABCDEFGHIJKLMNOPQRST VWXYZABCDEFGHIJKLMNOPQRSTU WXYZABCDEFGHIJKLMNOPQRSTUV XYZABCDEFGHIJKLMNOPQRSTUVW YZABCDEFGHIJKLMNOPQRSTUVWX ZABCDEFGHIJKLMNOPQRSTUVW XY Kapitel 4 © Beutelspacher November 2004 Seite 23 Vigenère-Verschlüsselung Schlüsselwort: MA T H EMA T H EMA T H EM Klartext: DA S I S T UN KN AC KB AR Geheimtext: P A L PWF UGRRMC D I E Y Anders ausgedrückt: Jeder Buchstabe wird in eine Zahl übersetzt: A = 0, B = 1, ..., Z = 25. Dann wird Klartext- und Schlüsselbuchstabe modulo 26 addiert. Das Ergebnis ist der Geheimtextbuchstabe. Kapitel 4 © Beutelspacher November 2004 Seite 24 Rotormaschinen • Idee: Durch Kopplung verschiedener „Rotoren“ entsteht ein guter Algorithmus • Komplexe Permutationen (Enigma) • Große Periode (M-209) Kapitel 4 © Beutelspacher November 2004 Seite 25 Die Enigma Die deutsche Wehrmacht benutzt im 2. Weltkrieg die Chiffriermaschine Enigma (griech.: Rätsel). Funktionsweise: Nach einem Tastendruck fließt Strom durch eine komplizierte Verdrahtung mehrerer gekoppelter Rotoren und ein Lämpchen zeigt den Geheimtextbuchstaben an. Die Rotoren drehen sich bei jedem Anschlag um eine Einheit weiter. Kapitel 4 © Beutelspacher November 2004 Seite 26 Besser = unknackbar? • Der Vigenère-Code wurde 350 Jahre lang nicht geknackt. • Kann man den Code noch sicherer machen? • Man muss das Schlüsselwort so lang wie möglich machen und die Buchstaben zufällig wählen. So erhält man einen unknackbare Code! Kapitel 4 © Beutelspacher November 2004 Seite 27 Erfolg des Vigenère-Verfahrens Im allgemeinen werden gleiche Klartextbuchstaben in verschiedene Geheimtextbuchstaben verschlüsselt. Daher sind die Häufigkeiten der Buchstaben des Geheimtexts sehr ausgeglichen. Also kann man mit einer herkömmlichen statistischen Analyse (die häufigsten Buchstaben suchen und zu E, N, ... entschlüsseln) einen Vigenère-Code nicht knacken. Dieses Verfahren blieb über 300 Jahre lang ungeknackt! Erst 1863 fand der preußische Infanteriemajor Friedrich Wilhelm Kasiski eine Möglichkeit der Kryptoanalyse. Sie besteht aus 2 Teilen. Kapitel 4 © Beutelspacher November 2004 Seite 28 Kryptoanalyse, 1.Teil: Bei bekannter Schlüsselwortlänge Angenommen, das Schlüsselwort hat 5 Buchstaben, dann wurden die Buchstaben Nr. 1, 6, 11, 16, ... alle mit dem ersten Schlüsselwortbuchstaben verschlüsselt. Dann könnten wir diesen bestimmen: Wir suchen den häufigsten Buchstaben unter den Buchstaben Nr. 1, 6, 11, 16, ... Dieser muss dem Klartext-E entsprechen. Erster Schlüsselwortbuchstabe: Anfangsbuchstabe des Alphabets, bei dem E in diesen häufigsten Buchstaben verschlüsselt wird. Beispiel: Wenn der häufigste Buchstabe Q ist, dann sucht man in der Spalte, die oben mit E beginnt, den Buchstaben Q. Dann geht man in dieser Zeile nach vorne – und findet M. Durch Betrachten der Buchstaben Nr. 2, 7, 12, 17, ... findet man den zweiten Schlüsselwortbuchstaben. Usw. Kapitel 4 © Beutelspacher November 2004 Seite 29 Kryptoanalyse, 2.Teil: Schlüsselwortlänge bestimmen (I) Wenn die ersten Buchstaben (z.B. E) einer Folge, die an zwei Stellen im Klartext vorkommt (z.B. EIN), zufällig unter dem gleichen Schlüsselwortbuchstaben (z.B. C) stehen, dann ergeben sich an diesen Stellen auch zwei gleiche Geheimtextfolgen (z.B. GPQ). Beispiel: SW: D A C H D A C H D A C H D A C H D A C H D A C H KT: : : E I N : : : : : : : : : : : : : E I N : : : GT: : : G P Q : : : : : : : : : : : : : G P Q : : : Dieses Phänomen tritt dann auf, wenn der Abstand der Folgen (hier: 16) ein Vielfaches der Schlüsselwortlänge (hier: 4) ist. Kapitel 4 © Beutelspacher November 2004 Seite 30 Bestimmung der Schlüsselwortlänge (II) Die Länge des Schlüsselworts kann man also wie folgt bestimmen: 1. Man sucht gleiche Folgen im Geheimtext. 2. Man bestimmt den Abstand dieser Folgen. 3. Der ggT (größte gemeinsame Teiler) dieser Abstände ist ein Kandidat für die Länge des Schlüsselworts. Beispiel: Findet man in einem Geheimtext mehrfach vorkommende Folgen mit den Abständen 30 (= 235), 84 (= 2237) und 18 (= 233), kommt man zur Vermutung, dass die Schlüsselwortlänge 6 ist. Fazit: Auch der Vigenère-Code ist knackbar (wenn auch raffiniert)! Kapitel 4 © Beutelspacher November 2004 Seite 31 Vigenère knacken E T J T U F P F V E I P V F G Y N H N U M C L E Y L Y Y H A R E Z E Y W Q M E H I V V F E Kapitel 4 Y E V R J V U Y K R E K F V S C R B H U Z C F S T R K G J S F F F M F T H F O V J V B P H W L X C O Y Y N C Y B L V L Y L J M G I O R E Q V V H I W P J L X Y S I G V D X V V I Z F H V K S H S O H C S F B O S S F S P O X U M J O T B T V F T H X M V O U U A U I L C W C N S M M Y V I W O X V F I L R L I V V V U I K V S X V U E V R U Y W F S S V W S H W I W U H B S O P F E B U L E U S D F U H S Z N M C N L U U H Z B M Y M T S E K I X Y Q W M X X X R J K I V R Z V E V J T V M V O U C S E G C M I K Z S A F C R V F H J A O V W P T W L C I V Z V Y V F B V H H W I R A Y L E R B F M A L F G J Y A R S V U A I J H B J B V V P S S F E J G Z M N I R I © Beutelspacher November 2004 Seite 32 Ein unknackbarer Code Schlüsselwort: QX V H CAMDMZ S J E C B Y Klartext: DA S I S T UN KN AC KB AR Geheimtext: T X N P U T G QWM S L O D B P Kapitel 4 © Beutelspacher November 2004 Seite 33 Was heisst “unknackbar”? T X N P U T G Q W M S L O D B P A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A B . . . . . D A S I S T U N K N A C K B A R . . . . . . . . . M A T H E M A T I K I S T G U T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Kapitel 4 © Beutelspacher November 2004 Seite 34 One-time pad („Einmalblock“) Zufallsfolge (one-time pad ) 01101 01000 11100 ... Geheimtext Klartext 00100 11001 00100 ... 01001 10001 11000 ... • Algorithmus: Addition „modulo 2“ • Entschlüsseln = Verschlüsseln • Die Vernam-Chiffre ist absolut sicher (“perfekt”), falls die Schlüsselfolge wirklich zufällig ist (Shannon 1949) • Problem: Länge der Schlüsselfolge = Länge des Klartexts Kapitel 4 © Beutelspacher November 2004 Seite 35 Pseudozufallsfolgen Pseudozufallsbitgenerator Pseudozufallsfolge 01101 01000 11100 ... Geheimtext Klartext 00100 11001 00100 ... 01001 10001 11000 ... • Praktischer Kompromiss: Pseudozufallsfolgen • Sender und Empfänger müssen nur einen Schlüssel (= Initialisierung des Generators) konstanter Länge austauschen. • Anwendung: Verschlüsselung beim Handy Kapitel 4 © Beutelspacher November 2004 Seite 36 4.4 Geht das mit rechten Dingen zu? • Zwei Personen, die sich noch nie getroffen haben, unterhalten sich öffentlich ... ... und am Ende des Gesprächs haben sie ein gemeinsames Geheimnis, während alle anderen keine Ahnung davon haben ??? • Das wäre die Lösung des Schlüsselproblems! Man müsste die Übertragung des Schlüssels nicht mehr organisatorisch (o.ä.) regeln, sondern könnte mathematische Methoden anwenden! Kapitel 4 © Beutelspacher November 2004 Seite 37 Die Kunst, öffentlich geheime Süppchen zu kochen öffentlich: gemeinsame Suppe Kapitel 4 © Beutelspacher November 2004 Seite 38 Diffie-Hellman Key-Exchange (1976) Verfahren zur „symmetrischen“ Erzeugung eines gemeinsamen Schlüssels öffentlich: p Primzahl (100 Stellen), g natürliche Zahl (100 Stellen) Wählt Zahl a < p. Wählt Zahl b < p. Berechnet a = ga mod p. a b Berechnet b = gb mod p. Berechnet ba mod p ( = g ba mod p). Berechnet ab mod p ( = g ab mod p). g ba mod p = K = g ab mod p gemeinsamer Schlüssel Kapitel 4 © Beutelspacher November 2004 Seite 39 “Systematische” Angriffe • Systematisches Ausprobieren aller Schlüssel symmetrisch Schlüsselaust. Bewertung 40 Bit 56 Bit 256 Bit 512 Bit völlig unsicher heute knackbar 128 Bit 256 Bit 1024 Bit 2048 Bit nicht knackbar nie knackbar • Bezüglich dieser Angriffe ist die Sicherheit von Algorithmen unbeschränkt! Die einzige Gefahr droht von der Mathematik! Kapitel 4 © Beutelspacher November 2004 Seite 40