Kryptografische Algorithmen



Ähnliche Dokumente
Kryptographische Algorithmen

Primzahlen und RSA-Verschlüsselung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Konzepte der Informatik

Lineare Gleichungssysteme

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Lineare Gleichungssysteme

11. Das RSA Verfahren und andere Verfahren

1 Mathematische Grundlagen

Grundlagen der Theoretischen Informatik, SoSe 2008

Lineare Gleichungssysteme I (Matrixgleichungen)

Musterlösungen zur Linearen Algebra II Blatt 5

Informationsblatt Induktionsbeweis

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Klassische Verschlüsselungsverfahren

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Kap. 8: Speziell gewählte Kurven

Professionelle Seminare im Bereich MS-Office

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Kryptographie eine erste Ubersicht

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Lineare Gleichungssysteme

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

TECHNISCHE UNIVERSITÄT MÜNCHEN

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Grundbegriffe der Informatik

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Kapitel 3: Etwas Informationstheorie

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

W-Rechnung und Statistik für Ingenieure Übung 11

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Kapitel 15. Lösung linearer Gleichungssysteme

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Berechnung der Erhöhung der Durchschnittsprämien

7 Rechnen mit Polynomen

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Erfahrungen mit Hartz IV- Empfängern

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

EINFACHES HAUSHALT- KASSABUCH

10. Kryptographie. Was ist Kryptographie?

Einführung in. Logische Schaltungen

5 Eigenwerte und die Jordansche Normalform

6.2 Perfekte Sicherheit

Info zum Zusammenhang von Auflösung und Genauigkeit

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

A1.7: Entropie natürlicher Texte

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Von Cäsar bis RSA. Chiffrierung von der 1. bis zur 8. Klasse. Dr. Anita Dorfmayr Universität Wien. Lehrerfortbildungstag der ÖMG Wien, 13.

Theoretische Grundlagen der Informatik WS 09/10

Mathematischer Vorbereitungskurs für Ökonomen

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Anleitung über den Umgang mit Schildern

Beweisbar sichere Verschlüsselung

4.4 AnonymeMärkteunddasGleichgewichtder"vollständigen Konkurrenz"

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Zeichen bei Zahlen entschlüsseln

Informationssicherheit - Lösung Blatt 2

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Repetitionsaufgaben: Lineare Gleichungen

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Erstellen von x-y-diagrammen in OpenOffice.calc

Tutorial: Homogenitätstest

Übung zum Thema. Abmaße ablesen und Toleranzen berechnen

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Klassenarbeit zu linearen Gleichungssystemen

Statuten in leichter Sprache

Bestimmung einer ersten

Zusammenfassung der Vorlesung vom

Lineare Differentialgleichungen erster Ordnung erkennen

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

1 topologisches Sortieren

Zwischenablage (Bilder, Texte,...)

KRYPTOLOGIE KRYPTOLOGIE

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Zahlen auf einen Blick

Lehrer: Einschreibemethoden

Dynamische Methoden der Investitionsrechnung

Lineare Gleichungssysteme

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Datenverschlüsselung - Einstieg

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

SUDOKU - Strategien zur Lösung

Transkript:

Kryptografische Algorithmen Lerneinheit 2: Kryptoanalyse klassischer Kryptosysteme Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2015/2016 21.9.2015 Einleitung Inhalt dieser Lerneinheit ist die Kryptoanalyse von klassischen Kryptosystemen. Es interessieren die folgenden Fragen: 1. Welche Methoden werden bei der Kryptoanalyse angewandt? 2. Wie bricht man die klassischen Kryptosysteme? 3. Was versteht man unter einem sicheren Kryptosystem? Prof. Dr. C. Karg: Kryptografische Algorithmen 2/72

Vier Methoden der Kryptoanalyse Die Kryptoanalyse hat zum Ziel, den Geheimtext zu brechen und den zur Chiffrierung eingesetzten Schlüssel zu ermitteln. Man unterscheidet folgende Attacken: Reiner Geheimtext-Angriff: Der Kryptoanalytiker kennt nur den Geheimtext. Angriff mit bekanntem Klartext: Der Kryptoanalytiker kennt den Geheimtext und den zugehörigen Klartext. Angriff mit frei wählbarem Klartext: Der Kryptoanalytiker hat Zugriff auf das Kryptosystem und kann beliebige Klartexte verschlüsseln. Angriff mit frei wählbarem Geheimtext: Der Kryptoanalytiker hat Zugriff auf das Kryptosystem und kann beliebige Geheimtexte entschlüsseln. Prof. Dr. C. Karg: Kryptografische Algorithmen 3/72 Kerckhoffsches Prinzip Eine allgemein akzeptierte Annahme bei der Kryptoanalyse ist das Kerckhoffsche Prinzip. Es besagt: Der Kryptoanalytiker kennt das Kryptosystem, das zur Chiffrierung des Klartexts benutzt wurde. Diese Annahme vereinfacht die Kryptoanalyse. Prof. Dr. C. Karg: Kryptografische Algorithmen 4/72

Verschiebe-Chiffre Die Verschiebe-Chiffre ist leicht zu brechen. Grund: Der Schlüsselraum ist klein und ermöglicht daher einen Brute Force Angriff. Beispiel: Geheimtext EFDQZSSQTQUY j Entschlüsselung 1 decpyrrpsptx 2 cdboxqqorosw 3 bcanwppnqnrv 4 abzmvoompmqu 5 zaylunnlolpt 6 yzxktmmknkos j Entschlüsselung 7 xywjslljmjnr 8 wxvirkkilimq 9 vwuhqjjhkhlp 10 uvtgpiigjgko 11 tusfohhfifjn 12 strenggeheim Prof. Dr. C. Karg: Kryptografische Algorithmen 5/72 Vereinbarung über Klartext-Eigenschaften Zur Analyse der affinen Chiffre und der Vigenère Chiffre treffen wir folgende Annahmen: Der Klartext ist ein Text englischer Sprache. Der Klartext besteht ausschließlich aus Buchstaben des Alphabets {a,b,c,...,z}. Er enthält keine Sonderzeichen, Ziffern oder Leerzeichen. Prof. Dr. C. Karg: Kryptografische Algorithmen 6/72

Affine Chiffre Der folgende Geheimtext stammt von einer Affinen Chiffre: ZVDYVIAPZPMMHZYIXTKMVDDVVHVADXQPIPJP ZCXJBYMXXRDPDYGXTLGYGVZIVGVIVYXDYPZX GBKVMBVOVBCZVDYVIAPZDTAAVCMZBHCXYGPM QYGVHPCBTDVAYXKVYGVIVDPDGPAXJGPCLBCL XOVIHVXGZVDYVIAPZFPHVDTAAVCM Idee: Finde zwei korrekte Klartext-Geheimtext-Paare (x 1, y 1 ), (x 2, y 2 ) und löse das Gleichungssystem ax 1 + b y 1 (mod 26) ax 2 + b y 2 (mod 26) Prof. Dr. C. Karg: Kryptografische Algorithmen 7/72 Buchstabenhäufigkeit in englischen Texten Buchstabe Häufigkeit Buchstabe Häufigkeit Buchstabe Häufigkeit a 0.082 j 0.002 s 0.063 b 0.015 k 0.008 t 0.091 c 0.028 l 0.040 u 0.028 d 0.043 m 0.024 v 0.010 e 0.127 n 0.067 w 0.023 f 0.022 o 0.075 x 0.001 g 0.020 p 0.019 y 0.020 h 0.061 q 0.001 z 0.001 i 0.070 r 0.060 Notation: p i bezeichnet die Häufigkeit des Buchstabens i. Prof. Dr. C. Karg: Kryptografische Algorithmen 8/72

Häufigkeitsanalyse Die häufigsten Buchstaben in obigem Klartext sind: Buchstabe Anzahl Häufigkeit V 27 0.156 P 15 0.087 D 14 0.081 Y 13 0.075 X 13 0.075 Vermutung: e wird in V verschlüsselt. Die Verschlüsselung von t ist einer der Buchstaben P, D, Y, X. Prof. Dr. C. Karg: Kryptografische Algorithmen 9/72 1. Alternative Annahme: e V : enc ((a, b), 4) = 21 t P : enc ((a, b), 19) = 15 Zu lösendes Gleichungssystem: 4a + b 21 (mod 26) 19a + b 15 (mod 26) Eindeutig lösbar: a = 10 und b = 7. Aber: gcd(a, 26) = 2. Somit ist obige Annahme falsch! Prof. Dr. C. Karg: Kryptografische Algorithmen 10/72

Mögliche Lösung 2 Annahme: e V : enc ((a, b), 4) = 21 t D : enc ((a, b), 19) = 3 Zu lösendes Gleichungssystem: 4a + b 21 (mod 26) 19a + b 3 (mod 26) Eindeutig lösbar: a = 4 und b = 5. Aber: gcd(a, 26) = 2. Somit ist obige Annahme falsch! Prof. Dr. C. Karg: Kryptografische Algorithmen 11/72 2. Alternative Annahme: e V : enc ((a, b), 4) = 21 t Y : enc ((a, b), 19) = 24 Zu lösendes Gleichungssystem: 4a + b 21 (mod 26) 19a + b 24 (mod 26) Eindeutig lösbar: a = 21 und b = 15. Ferner ist: gcd(a, 26) = 1. (21, 15) möglicherweise der gesuchte Schlüssel. Prof. Dr. C. Karg: Kryptografische Algorithmen 12/72

Entschlüsselungsversuch Wir entschlüsseln den Anfang des Geheimtexts mit dem Schlüssel (21, 15): Z V D Y V I A P Z y 25 21 3 24 21 8 0 15 25 x 24 4 18 19 4 17 3 0 24 y e s t e r d a y Der Klartext lautet: Yesterday all my troubles seemed so far away. Now it looks as though they re here to stay. Oh I believe in yesterday. Suddenly I m not half the man I used to be. There s a shadow hanging over me, oh yesterday came suddenly. Prof. Dr. C. Karg: Kryptografische Algorithmen 13/72 Brechen der allgemeinen Substitution Trotz ihres großen Schlüsselraums ist die allgemeine Substitution kein sicheres Kryptosystem. Sie ist eine monoalphabetische Chiffre und somit anfällig gegen Attacken auf Basis statistischer Analysen. Zum Brechen des Geheimtexts setzt man folgende Methoden ein: Häufigkeitsanalyse: Man teilt die Buchstaben des Klartextalphabets in mehrere Gruppen von sehr häufig bis unwahrscheinlich ein. Bi- und Trigramme: Man untersucht die Häufigkeit von Wortpaaren und -tripeln im Geheimtext und bildet sie auf gängige Klartext Bi- bzw. Trigramme ab. Das Brechen einer Substitution ist immer mit etwas Eingebung verbunden. Prof. Dr. C. Karg: Kryptografische Algorithmen 14/72

Brechen der Vigenère-Chiffre Der folgende Text wurde mit der Vigenère-Chiffre verschlüsselt. MOIRBMOVOXBUEARWALSPHTIHFAPIFNDXMMNMOI PYXLHWAZZXOEMOICYWTIBZNAXSEXKXVNMPXCZX UHSQBSPPHMKESAXYCGGTYKOERLRVNWZISABAJW ELASBGALRWTAAWVRAHHPHKUIRXAHPREHNSHUXU MUUMOIFQKHKCALOERNPHOSAXK Der Geheimtext besteht aus 177 Buchstaben. Die Kryptoanalyse erfolgt in zwei Schritten: 1. Bestimmen der Schlüssellänge m Kasiski-Test Koinzidenzindex-Methode 2. Ermitteln des Schlüssels k = k 1... k m Prof. Dr. C. Karg: Kryptografische Algorithmen 15/72 Eine wichtige Beobachtung Angenommen, ein Wort kommt im Klartext an den Positionen i 1, i 2 und i 3 vor. Sind die Abstände d 2 = i 2 i 1 und d 3 = i 3 i 1 ein Vielfaches der Schlüssellänge m, dann sind die entsprechenden Geheimtextfragmente identisch. the the the redredredredredredredredredredred WYI WYI WYI d 2 d 3 i 1 i 2 i 3 Für d 2 = i 2 i 1 und d 3 = i 3 i 1 gilt: m gcd(d 2, d 3 ). Prof. Dr. C. Karg: Kryptografische Algorithmen 16/72

Kasiski-Test Suche im Geheimtext nach Trigrammen (Wörtern der Länge 3), die mindestens dreimal vorkommen. Wird ein solches Wort wird n-mal im Geheimtext gefunden, und zwar an den Positionen i 1, i 2,... i n, n 3, dann berechne die Abstände zur ersten Position: d j = i j i 1 für j = 2,..., n. Die Schlüssellänge ist (vermutlich) ein Teiler von gcd(d 2,..., d n ). Beachte: Erhält man kein eindeutiges Ergebnis, dann wiederholt man den Test mit 4-grammen und 5-grammen. Prof. Dr. C. Karg: Kryptografische Algorithmen 17/72 Wortsuche in obigem Beispiel MOIRBMOVOXBUEARWALSPHTIHFAPIFNDXMMNMOI PYXLHWAZZXOEMOICYWTIBZNAXSEXKXVNMPXCZX UHSQBSPPHMKESAXYCGGTYKOERLRVNWZISABAJW ELASBGALRWTAAWVRAHHPHKUIRXAHPREHNSHUXU MUUMOIFQKHKCALOERNPHOSAXK In obigem Beispiel kommt der Text MOI an den Positionen i 1 = 0, i 2 = 35, i 3 = 50 und i 4 = 155 vor. Die Abstände sind d 2 = 35, d 3 = 50 und d 4 = 155. Es ist gcd(d 2, d 3, d 4 ) = 5. Vermutlich ist die Schlüssellänge gleich 5. Prof. Dr. C. Karg: Kryptografische Algorithmen 18/72

Koinzidenzindex Gegeben sei ein Text x = x 1... x n. Der Koinzidenzindex von x, symbolisch I c (x), ist die Wahrscheinlichkeit, daß zwei zufällig aus x ausgewählte Buchstaben identisch sind. Der Koinzidenzindex wird mit folgender Formel berechnet: I c (x) = 25 i=0 f i(f i 1). n(n 1) Hierbei ist f i die Anzahl des Buchstabens i in x. Beachte: Wird x mit einer monoalphabetischen Chiffre verschlüsselt, dann ist der Koinzidenzindex des Geheimtexts gleich I c (x). Prof. Dr. C. Karg: Kryptografische Algorithmen 19/72 Was bringt der Koinzidenzindex? Der Koinzidenzindex ermöglicht die Unterscheidung eines englischsprachigen Texts von einem Text mit rein zufällig ausgewählten Buchstaben. Ist x ein (hinreichend langer) englischsprachiger Text, dann ist I c (x) 25 i=0 p 2 i = 0.065, wobei p i die Häufigkeit des Buchstabens i ist. Ist x ein zufälliger Text, dann ist I c (x) 26 ( ) 2 1 = 1 26 26 = 0.038. Prof. Dr. C. Karg: Kryptografische Algorithmen 20/72

Koinzidenzindex-Methode Beobachtung: Die Vigenère Chiffre ist eine periodische Folge von Verschiebe-Chiffren. Die Periode ist gleich der Schlüssellänge m. Annahme: Die Schlüssellänge ist m. Idee: Teile den Geheimtext in m Spalten auf: z 1 z 2 z m x 1 x 2 x m x m+1 x m+2 x 2m x 2m+1 x 2m+2 x 3m.. Die i-te Spalte ist eine Verschiebe-Chiffre mit Schlüssel k i.. Prof. Dr. C. Karg: Kryptografische Algorithmen 21/72 Koinzidenzindex-Methode (Forts.) Falls die Schlüssellänge korrekt ist, dann ist jedes z i die Verschiebe-Verschlüsselung eines Texts mit englischsprachiger Häufigkeit. Somit ist der Koinzidenzindex I c (z i ) 0.065 für alle i = 1,..., m. Andernfalls sind die z i s mehr oder minder zufällig, I c (z i ) 0.038 für ein oder mehrere Spalten i. Koinzidenzindex-Methode: Suche m, so daß I c (z i ) 0.065 für alle i = 1,..., m. Beachte: Der Wert 0.065 ist ein Richtwert. Prof. Dr. C. Karg: Kryptografische Algorithmen 22/72

Zurück zum Beispiel Für obigen Geheimtext liefert die Koinzidenzindex-Methode folgende Werte: Länge m Koinzidenzindizes 1 0.0445 2 0.0465, 0.0460 3 0.0520, 0.0374, 0.0456 4 0.0475, 0.0529, 0.0444, 0.0444 5 0.0873, 0.0746, 0.0891, 0.0655, 0.0639 6 0.0598, 0.0460, 0.0437, 0.0345, 0.0345, 0.0419 Offensichtlich ist m = 5. Dies bestätigt das Ergebnis des Kasiski-Tests. Also ist die Länge des Schlüssels, mit dem der Geheimtext chiffriert wurde, gleich m. Prof. Dr. C. Karg: Kryptografische Algorithmen 23/72 Bestimmen des Schlüssels Wir wissen: der Schlüssel hat die Länge m. d.h., k = k 1... k m. Bei hinreichend großen m ist ein Brute Force Angriff unmöglich. Bei m = 5 sind es bereits 11.9 Millionen Schlüssel. Ziel: Stelle die Schlüsselbuchstaben k 2,..., k m in Abhängigkeit von k 1 dar. Gesucht sind Werte s 2,..., s m Z 26, so daß k 2 = k 1 + s 2, k 3 = k 1 + s 3,..., k m = k 1 + s m Verkleinerung des Suchraums von 26 m auf 26. Prof. Dr. C. Karg: Kryptografische Algorithmen 24/72

Gegenseitiger Koinzidenzindex Der gegenseitige Koinzidenzindex zweier Texte x und y, symbolisch MI c (x, y), ist die Wahrscheinlichkeit, daß ein zufällig aus x gezogener Buchstabe mit einem zufällig aus y gezogenen Buchstaben übereinstimmt. Die Formel zur Berechnung von MI c (x, y) ist MI c (x, y) = 25 i=0 f i x f y i. n x n y Hierbei ist fi x bzw. y. bzw. f y i die Anzahl des Buchstabens i im Text x Prof. Dr. C. Karg: Kryptografische Algorithmen 25/72 Gegenseitiger Koinzidenzindex (Forts.) Sind x und y zwei englischsprachige Texte, dann ist MI c (x, y) = 25 i=0 f i x f y i n x n y 25 i=0 p i p i = 0.065. Ist y ein Geheimtext, der mit der Verschiebe-Chiffre mit Schlüssel g 0 verschlüsselt wurde, dann ist MI c (x, y) = 25 i=0 f i x f y i n x n y 25 i=0 p i p i g = 0.065. Somit: Verschiebung erkennbar Prof. Dr. C. Karg: Kryptografische Algorithmen 26/72

Idee zur Berechnung des Schlüssels Annahme: Bei Spalte x (bzw. y) handelt es sich um das Ergebnis einer Verschiebe-Chiffre mit Schlüssel k x (bzw. k y ). Es gilt: k y = k x + g, wobei g = k y k x. Somit: MI c (x, y) = = 25 i=0 25 i=0 25 i=0 p i kx p i ky p i kx p i kx g p i p i g Ziel: Bestimme den Wert von g mit statistischen Mitteln Prof. Dr. C. Karg: Kryptografische Algorithmen 27/72 Idee zur Berechnung des Schlüssels (Forts.) Idee: Finde g {0, 1,..., 25} so dass der Wert von MI c (x, y g ) = 25 i=0 f x i f y i g n x n y maximal wird. Wegen 25 MI c (x, y g ) p i p i g ist g mit hoher Wahrscheinlichkeit die korrekte Verschiebung, falls MI c (x, y g ) 0.065 i=0 Prof. Dr. C. Karg: Kryptografische Algorithmen 28/72

Beispiel Bearbeitung der Spalten 1 und 2 (Shift 0): Prof. Dr. C. Karg: Kryptografische Algorithmen 29/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 1): Prof. Dr. C. Karg: Kryptografische Algorithmen 30/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 2): Prof. Dr. C. Karg: Kryptografische Algorithmen 31/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 3): Prof. Dr. C. Karg: Kryptografische Algorithmen 32/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 4): Prof. Dr. C. Karg: Kryptografische Algorithmen 33/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 5): Prof. Dr. C. Karg: Kryptografische Algorithmen 34/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 6): Prof. Dr. C. Karg: Kryptografische Algorithmen 35/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 7): Prof. Dr. C. Karg: Kryptografische Algorithmen 36/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 8): Prof. Dr. C. Karg: Kryptografische Algorithmen 37/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 9): Prof. Dr. C. Karg: Kryptografische Algorithmen 38/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 10): Prof. Dr. C. Karg: Kryptografische Algorithmen 39/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 11): Prof. Dr. C. Karg: Kryptografische Algorithmen 40/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 12): Prof. Dr. C. Karg: Kryptografische Algorithmen 41/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 13): Prof. Dr. C. Karg: Kryptografische Algorithmen 42/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 14): Prof. Dr. C. Karg: Kryptografische Algorithmen 43/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 15): Prof. Dr. C. Karg: Kryptografische Algorithmen 44/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 16): Prof. Dr. C. Karg: Kryptografische Algorithmen 45/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 17): Prof. Dr. C. Karg: Kryptografische Algorithmen 46/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 18): Prof. Dr. C. Karg: Kryptografische Algorithmen 47/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 19): Prof. Dr. C. Karg: Kryptografische Algorithmen 48/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 20): Prof. Dr. C. Karg: Kryptografische Algorithmen 49/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 21): Prof. Dr. C. Karg: Kryptografische Algorithmen 50/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 22): Prof. Dr. C. Karg: Kryptografische Algorithmen 51/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 23): Prof. Dr. C. Karg: Kryptografische Algorithmen 52/72

Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 24): Prof. Dr. C. Karg: Kryptografische Algorithmen 53/72 Beispiel (Forts.) Bearbeitung der Spalten 1 und 2 (Shift 25): Prof. Dr. C. Karg: Kryptografische Algorithmen 54/72

Algorithmus zur Schlüsselberechnung Berechne eine Matrix M wie folgt: Falls i = j, dann setze M i,j = 0. Falls i j und maximales MI c (x, y g ) 0.065, dann setze M i,j = g. Ansonsten setze M i,j = 1. Enthält M eine Zeile i, deren Werte alle 0 sind, dann ist der Schlüssel (höchstwahrscheinlich): (k i + M i,1,..., k i + M i,i 1, k i, k i+1 + M i+1,1,..., k i + M i,m ) Entschlüssle den Geheimtext mit dem Schlüssel (k 1, k 1 + s 2,..., k m + s m ) für k 1 = 0,..., 25. Prof. Dr. C. Karg: Kryptografische Algorithmen 55/72 Anwendung auf das Beispiel i j MI c (z i, z g j ) 1 2 0 : 0.045 1 : 0.047 2 : 0.043 3 : 0.049 4 : 0.026 5 : 0.038 6 : 0.024 7 : 0.032 8 : 0.040 9 : 0.041 10 : 0.020 11 : 0.031 12 : 0.086 13 : 0.057 14 : 0.023 15 : 0.040 16 : 0.046 17 : 0.022 18 : 0.037 19 : 0.048 20 : 0.020 21 : 0.008 22 : 0.034 23 : 0.058 24 : 0.051 25 : 0.034 1 3 0 : 0.045 1 : 0.022 2 : 0.039 3 : 0.050 4 : 0.077 5 : 0.050 6 : 0.024 7 : 0.022 8 : 0.044 9 : 0.030 10 : 0.026 11 : 0.034 12 : 0.024 13 : 0.025 14 : 0.044 15 : 0.093 16 : 0.039 17 : 0.025 18 : 0.059 19 : 0.058 20 : 0.029 21 : 0.034 22 : 0.026 23 : 0.026 24 : 0.018 25 : 0.036 1 4 0 : 0.030 1 : 0.036 2 : 0.027 3 : 0.014 4 : 0.036 5 : 0.082 6 : 0.044 7 : 0.031 8 : 0.059 9 : 0.054 10 : 0.039 11 : 0.044 12 : 0.037 13 : 0.013 14 : 0.014 15 : 0.032 16 : 0.043 17 : 0.034 18 : 0.035 19 : 0.033 20 : 0.060 21 : 0.066 22 : 0.033 23 : 0.037 24 : 0.041 25 : 0.025 1 5 0 : 0.044 1 : 0.026 2 : 0.028 3 : 0.041 4 : 0.022 5 : 0.024 6 : 0.052 7 : 0.044 8 : 0.042 9 : 0.033 10 : 0.053 11 : 0.031 12 : 0.045 13 : 0.052 14 : 0.032 15 : 0.025 16 : 0.029 17 : 0.025 18 : 0.037 19 : 0.049 20 : 0.032 21 : 0.034 22 : 0.057 23 : 0.059 24 : 0.027 25 : 0.057 Prof. Dr. C. Karg: Kryptografische Algorithmen 56/72

Anwendung auf das Beispiel (Forts.) i j MI c (z i, z g j ) 2 1 0 : 0.045 1 : 0.034 2 : 0.051 3 : 0.058 4 : 0.034 5 : 0.008 6 : 0.020 7 : 0.048 8 : 0.037 9 : 0.022 10 : 0.046 11 : 0.040 12 : 0.023 13 : 0.057 14 : 0.086 15 : 0.031 16 : 0.020 17 : 0.041 18 : 0.040 19 : 0.032 20 : 0.024 21 : 0.038 22 : 0.026 23 : 0.049 24 : 0.043 25 : 0.047 2 3 0 : 0.029 1 : 0.022 2 : 0.052 3 : 0.075 4 : 0.029 5 : 0.032 6 : 0.063 7 : 0.046 8 : 0.029 9 : 0.024 10 : 0.047 11 : 0.040 12 : 0.049 13 : 0.027 14 : 0.028 15 : 0.032 16 : 0.048 17 : 0.044 18 : 0.067 19 : 0.033 20 : 0.011 21 : 0.021 22 : 0.042 23 : 0.038 24 : 0.021 25 : 0.049 2 4 0 : 0.037 1 : 0.024 2 : 0.044 3 : 0.032 4 : 0.033 5 : 0.049 6 : 0.040 7 : 0.031 8 : 0.052 9 : 0.046 10 : 0.020 11 : 0.033 12 : 0.043 13 : 0.029 14 : 0.025 15 : 0.041 16 : 0.026 17 : 0.015 18 : 0.060 19 : 0.074 20 : 0.029 21 : 0.027 22 : 0.055 23 : 0.052 24 : 0.043 25 : 0.040 2 5 0 : 0.048 1 : 0.049 2 : 0.027 3 : 0.040 4 : 0.021 5 : 0.019 6 : 0.038 7 : 0.063 8 : 0.027 9 : 0.033 10 : 0.060 11 : 0.038 12 : 0.023 13 : 0.055 14 : 0.047 15 : 0.030 16 : 0.043 17 : 0.032 18 : 0.021 19 : 0.036 20 : 0.074 21 : 0.038 22 : 0.036 23 : 0.035 24 : 0.038 25 : 0.029 Prof. Dr. C. Karg: Kryptografische Algorithmen 57/72 Anwendung auf das Beispiel (Forts.) i j MI c (z i, z g j ) 3 1 0 : 0.045 1 : 0.036 2 : 0.018 3 : 0.026 4 : 0.026 5 : 0.034 6 : 0.029 7 : 0.058 8 : 0.059 9 : 0.025 10 : 0.039 11 : 0.093 12 : 0.044 13 : 0.025 14 : 0.024 15 : 0.034 16 : 0.026 17 : 0.030 18 : 0.044 19 : 0.022 20 : 0.024 21 : 0.050 22 : 0.077 23 : 0.050 24 : 0.039 25 : 0.022 3 2 0 : 0.029 1 : 0.049 2 : 0.021 3 : 0.038 4 : 0.042 5 : 0.021 6 : 0.011 7 : 0.033 8 : 0.067 9 : 0.044 10 : 0.048 11 : 0.032 12 : 0.028 13 : 0.027 14 : 0.049 15 : 0.040 16 : 0.047 17 : 0.024 18 : 0.029 19 : 0.046 20 : 0.063 21 : 0.032 22 : 0.029 23 : 0.075 24 : 0.052 25 : 0.022 3 4 0 : 0.038 1 : 0.043 2 : 0.038 3 : 0.043 4 : 0.020 5 : 0.039 6 : 0.050 7 : 0.032 8 : 0.038 9 : 0.028 10 : 0.023 11 : 0.023 12 : 0.053 13 : 0.049 14 : 0.023 15 : 0.039 16 : 0.088 17 : 0.050 18 : 0.035 19 : 0.051 20 : 0.047 21 : 0.037 22 : 0.038 23 : 0.038 24 : 0.017 25 : 0.020 3 5 0 : 0.029 1 : 0.033 2 : 0.038 3 : 0.038 4 : 0.069 5 : 0.029 6 : 0.029 7 : 0.039 8 : 0.064 9 : 0.034 10 : 0.060 11 : 0.044 12 : 0.021 13 : 0.029 14 : 0.042 15 : 0.032 16 : 0.024 17 : 0.061 18 : 0.045 19 : 0.037 20 : 0.027 21 : 0.057 22 : 0.020 23 : 0.040 24 : 0.033 25 : 0.024 Prof. Dr. C. Karg: Kryptografische Algorithmen 58/72

Anwendung auf das Beispiel (Forts.) i j MI c (z i, z g j ) 4 1 0 : 0.030 1 : 0.025 2 : 0.041 3 : 0.037 4 : 0.033 5 : 0.066 6 : 0.060 7 : 0.033 8 : 0.035 9 : 0.034 10 : 0.043 11 : 0.032 12 : 0.014 13 : 0.013 14 : 0.037 15 : 0.044 16 : 0.039 17 : 0.054 18 : 0.059 19 : 0.031 20 : 0.044 21 : 0.082 22 : 0.036 23 : 0.014 24 : 0.027 25 : 0.036 4 2 0 : 0.037 1 : 0.040 2 : 0.043 3 : 0.052 4 : 0.055 5 : 0.027 6 : 0.029 7 : 0.074 8 : 0.060 9 : 0.015 10 : 0.026 11 : 0.041 12 : 0.025 13 : 0.029 14 : 0.043 15 : 0.033 16 : 0.020 17 : 0.046 18 : 0.052 19 : 0.031 20 : 0.040 21 : 0.049 22 : 0.033 23 : 0.032 24 : 0.044 25 : 0.024 4 3 0 : 0.038 1 : 0.020 2 : 0.017 3 : 0.038 4 : 0.038 5 : 0.037 6 : 0.047 7 : 0.051 8 : 0.035 9 : 0.050 10 : 0.088 11 : 0.039 12 : 0.023 13 : 0.049 14 : 0.053 15 : 0.023 16 : 0.023 17 : 0.028 18 : 0.038 19 : 0.032 20 : 0.050 21 : 0.039 22 : 0.020 23 : 0.043 24 : 0.038 25 : 0.043 4 5 0 : 0.023 1 : 0.059 2 : 0.056 3 : 0.027 4 : 0.033 5 : 0.051 6 : 0.020 7 : 0.029 8 : 0.041 9 : 0.029 10 : 0.029 11 : 0.042 12 : 0.027 13 : 0.038 14 : 0.060 15 : 0.047 16 : 0.031 17 : 0.050 18 : 0.060 19 : 0.024 20 : 0.041 21 : 0.044 22 : 0.033 23 : 0.034 24 : 0.048 25 : 0.027 Prof. Dr. C. Karg: Kryptografische Algorithmen 59/72 Anwendung auf das Beispiel (Forts.) i j MI c (z i, z g j ) 5 1 0 : 0.044 1 : 0.057 2 : 0.027 3 : 0.059 4 : 0.057 5 : 0.034 6 : 0.032 7 : 0.049 8 : 0.037 9 : 0.025 10 : 0.029 11 : 0.025 12 : 0.032 13 : 0.052 14 : 0.045 15 : 0.031 16 : 0.053 17 : 0.033 18 : 0.042 19 : 0.044 20 : 0.052 21 : 0.024 22 : 0.022 23 : 0.041 24 : 0.028 25 : 0.026 5 2 0 : 0.048 1 : 0.029 2 : 0.038 3 : 0.035 4 : 0.036 5 : 0.038 6 : 0.074 7 : 0.036 8 : 0.021 9 : 0.032 10 : 0.043 11 : 0.030 12 : 0.047 13 : 0.055 14 : 0.023 15 : 0.038 16 : 0.060 17 : 0.033 18 : 0.027 19 : 0.063 20 : 0.038 21 : 0.019 22 : 0.021 23 : 0.040 24 : 0.027 25 : 0.049 5 3 0 : 0.029 1 : 0.024 2 : 0.033 3 : 0.040 4 : 0.020 5 : 0.057 6 : 0.027 7 : 0.037 8 : 0.045 9 : 0.061 10 : 0.024 11 : 0.032 12 : 0.042 13 : 0.029 14 : 0.021 15 : 0.044 16 : 0.060 17 : 0.034 18 : 0.064 19 : 0.039 20 : 0.029 21 : 0.029 22 : 0.069 23 : 0.038 24 : 0.038 25 : 0.033 5 4 0 : 0.023 1 : 0.027 2 : 0.048 3 : 0.034 4 : 0.033 5 : 0.044 6 : 0.041 7 : 0.024 8 : 0.060 9 : 0.050 10 : 0.031 11 : 0.047 12 : 0.060 13 : 0.038 14 : 0.027 15 : 0.042 16 : 0.029 17 : 0.029 18 : 0.041 19 : 0.029 20 : 0.020 21 : 0.051 22 : 0.033 23 : 0.027 24 : 0.056 25 : 0.059 Prof. Dr. C. Karg: Kryptografische Algorithmen 60/72

Berechnung des Schlüssels Das Ergebnis ist die Matrix M: j i 1 2 3 4 5 1 0 14 11 21 1 2 12 0 23 7 6 3 15 3 0 10 22 4 5 19 16 0 1 5 1 20 4 1 0 Benutze Zeile 2 zur Berechnung des Schlüssels Der Schlüssel hat also die Form: (k 2 + 12, k 2, k 2 + 23, k 2 + 7, k 2 + 6) nur noch 26 mögliche Schlüssel! Prof. Dr. C. Karg: Kryptografische Algorithmen 61/72 26 mögliche Schlüssel k 2 Schlüssel Anfangstück des Klartexts a maxhg aolkvaoyhrpuhtlkaoljvtla b nbyih znkjuznxgqotgskjznkiuskz c oczji ymjitymwfpnsfrjiymjhtrjy d pdakj xlihsxlveomreqihxligsqix e qeblk wkhgrwkudnlqdphgwkhfrphw f rfcml vjgfqvjtcmkpcogfvjgeqogv g sgdnm uifepuisbljobnfeuifdpnfu h theon thedothrakinamedthecomet i uifpo sgdcnsgqzjhmzldcsgdbnlds j vjgqp rfcbmrfpyiglykcbrfcamkcr k wkhrq qebalqeoxhfkxjbaqebzljbq... Prof. Dr. C. Karg: Kryptografische Algorithmen 62/72

Ergebnis der Schlüsselsuche Der Schlüssel ist theon. Die Vigenère Entschlüsselung liefert den gesuchten Klartext: The Dothraki named the comet shierakqiya the bleeding star. The old men muttered that it omended ill but Daenerys Targaryen had seen it first on the night she had burned Khal Drogo the night her dragons had awakened. Abschließende Bemerkung: Obige Analysemethoden klappen bereits bei sehr kurzen Texten. Im Beispiel standen pro z i etwa 35 Buchstaben zur Verfügung. Prof. Dr. C. Karg: Kryptografische Algorithmen 63/72 Brechen der Hill Chiffre Die Hill Chiffre kann mit einer Klartext-Geheimtext-Attacke gebrochen werden. Angenommen, Oskar weiß, dass der Klartext bach mittels einer Hill Chiffre mit Blocklänge m = 2 in den Geheimtext JQNP verschlüsselt wurde. Dies bedeutet, dass und enc (K, (1, 0)) = (9, 16) enc (K, (2, 7)) = (13, 15). Oder als Matrixmultiplikation: ( ) 1 0 K = 2 7 } {{ } =A ( 9 ) 16 13 15 Prof. Dr. C. Karg: Kryptografische Algorithmen 64/72

Brechen der Hill Chiffre (Forts.) A ist invertierbar, denn det(a) = 7 und gcd(7, 26) = 1. Somit läßt sich der Schlüssel berechnen: ( ) ( ) 1 0 9 16 K = = 22 15 13 15 ( ) 9 16 3 5 Falls Oskar die Blocklänge der Hill Chiffre nicht kennt, probiert er die Blocklängen m = 2, 3, 4,... durch. Dies erfordert die Kenntnis eines hinreichend langen Klartext-Geheimtext-Paars. Prof. Dr. C. Karg: Kryptografische Algorithmen 65/72 Angriff auf das LFSR Kennt Oskar den Klartext x = x 1... x n und den zugehörigen Geheimtext y = y 1... y n, dann kann er den Schlüsselstrom berechnen, mit dem der Klartext chiffriert wurde: z i = x i + y i mod 2 für i = 1,..., n Annahme: Das LFSR besteht aus m Registern. Ziel: Berechne die Koeffizienten c 0, c 1,..., c m 1. Prof. Dr. C. Karg: Kryptografische Algorithmen 66/72

Angriff auf das LFSR (Forts.) Die Rekursionsgleichung z m+i = m 1 c j z i+j mod 2, j=0 ist lineare Gleichung in m Unbekannten. Um die c i s eindeutig zu bestimmen, ist also ein Klartext-Geheimtext-Paar der Länge n 2m notwendig. Prof. Dr. C. Karg: Kryptografische Algorithmen 67/72 Angriff auf das LFSR (Forts.) Die zu lösende Gleichung ist (z m+1, z m+2,..., z 2m ) = (c 0, c 1,..., c m 1 ) Z, wobei z 1 z 2... z m 1 z m z 2 z 3 z m z m+1 Z =..... z m 1 z m... z 2m 3 z 2m 2 z m z m+1... z 2m 2 z 2m 1 Somit: (c 0, c 1,..., c m 1 ) = (z m+1, z m+2,..., z 2m ) Z 1. Prof. Dr. C. Karg: Kryptografische Algorithmen 68/72

Anforderungen an ein Kryptosystem Die Praxistauglichkeit eines Kryptosystems hängt von zwei Kriterien ab: Sicherheit: Die Vertraulichkeit der zu übertragenden Daten kann nur gewährleistet werden, wenn das Kryptosystem sicher ist. Daher ist die Sicherheit ein absolutes K.O. Kriterium. Jedoch ist für viele Kryptosysteme die Sicherheit nicht nachweisbar. Anwendbarkeit: Selbst das sicherste Kryptosystem ist unbrauchbar, wenn die Chiffrierung bzw. Dechiffrierung zu aufwendig ist. Zur Absicherung von Datenströmen ist beispielsweise der Datendurchsatz des Kryptosystems wichtig. Prof. Dr. C. Karg: Kryptografische Algorithmen 69/72 Zwei Arten von Sicherheit Absolute Sicherheit: Ein Kryptosystem ist absolut sicher, wenn die Kenntnis des Geheimtexts keine Information über den Klartext oder den Schlüssel liefert. Diese Art von Sicherheit wird auch als informationstheoretische oder perfekte Sicherheit genannt. Der Begriff der absoluten Sicherheit stammt von Shannon aus dem Jahre 1949. Komplexitätstheoretische Sicherheit: Ein Kryptosystem nennt man komplexitätstheoretisch sicher, wenn es keinen Algorithmus gibt, der in Polynomialzeit das Kryptosystem bricht. Die Laufzeit wird in Abhängigkeit der Länge des Schlüssels bzw. des Geheimtexts berechnet. Prof. Dr. C. Karg: Kryptografische Algorithmen 70/72

Vernam Chiffre (One-Time-Pad) Das One-Time-Pad ist ein Kryptosystem zur Verschlüsselung von Binärwörtern. P = C = K = (Z 2 ) n enc (k, x) = (x 1 + k 1,..., x n + k n ), wobei k = (k 1,..., k n ) und x = (x 1,..., x n ). dec (k, y) = (y 1 + k 1,..., y n + k n ), wobei k = (k 1,..., k n ) und y = (y 1,..., y n ). Die obigen Berechnungen verstehen sich modulo 2. Das One-Time-Pad ist informationstheoretisch sicher, falls der Schlüssel zufällig unter Gleichverteilung ausgewählt und nach jeder Verschlüsselung gewechselt wird. Für den täglichen Einsatz nicht praktikabel Prof. Dr. C. Karg: Kryptografische Algorithmen 71/72 Zusammenfassung Keines der klassischen Kryptosysteme ist aus heutiger Sicht als sicher einzustufen. Statistische Werkzeuge helfen bei der Kryptoanalyse. Die Vernam Chiffre gilt als sicher, ist aber nicht praktikal. Man unterscheidet zwischen absoluter und komplexitätstheoretischer Sicherheit. Der Nachweis der Sicherheit eines Kryptosystems ist eine schwierige Aufgabe. Prof. Dr. C. Karg: Kryptografische Algorithmen 72/72