Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu...

64
Kryptographie Gerhard Pfister [email protected] http://www.mathematik.uni-kl.de/pfister/VorlesungKrypto.pdf Kryptographie – p. 1

Transcript of Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu...

Page 1: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptographie

Gerhard Pfister

[email protected]

http://www.mathematik.uni-kl.de/∼pfister/VorlesungKrypto.pdf

Kryptographie – p. 1

Page 2: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Literatur

Mohamed Barakat, Timo Hanke, Cryptography Lecture notes(Script, wir benutzen Kapitel 6,7,8,9,10)

David R. Kohel, Cryptography (kann man runterladen)

Andreas Enge, Elliptic Curves and their Applications toCryptography, Kluver Academic Publishers

Annette Werner, Elliptische Kurven in der Kryptographie,Springer

Neal Koblitz, Algebraic Aspects of Cryptography, Springer

Neal Koblitz, A Course in Number theory and Cryptographie,Springer

Johannes Buchmann, Introduction to Cryptography, Springer2004, gibt eine deutsche Ausgabe

Kryptographie – p. 2

Page 3: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Geheimschrift der Maria Stuart

Entschlüsselt durch Thomas Phelippes

Er entschlüsselte Babingtons Botschaft an Maria, in der die Ermordung Elizabeths

vorgeschlagen wurde.Kryptographie – p. 3

Page 4: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Was ist Kryptographie ?

Kryptographie (auch Kryptologie genannt) ist die Wissenschaftvom Verschlüsseln und Entschlüsseln.

Das Wort selbst stammt aus dem Altgriechischen:

κρυπτoς − verstecktγραϕειν − schreiben

Die Kryptographie umfasst die folgenden beiden Bereiche:

Entwicklung von Verschlüsselungsverfahren (Kryptographie imengeren Sinne)

Untersuchung der Sicherheit in Hinblick auf ungewollteEntzifferung (Kryptoanalyse ).

Kryptographie – p. 4

Page 5: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Mögliche Ziele der Verschlüsselung

Schutz gegen Abhören (Geheimcode gegen Lauscher)

Kryptographie – p. 5

Page 6: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Mögliche Ziele der Verschlüsselung

Schutz gegen Abhören (Geheimcode gegen Lauscher)

Schutz gegen Veränderung (Authentifizierung)

Kryptographie – p. 5

Page 7: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Mögliche Ziele der Verschlüsselung

Schutz gegen Abhören (Geheimcode gegen Lauscher)

Schutz gegen Veränderung (Authentifizierung)

Beweis der Urheberschaft (elektronische Unterschrift)

Oftmals will man absolut sicher sein, dass eine e-Mail wirklich vondem angegebenen Absender kommt (z.B., wenn jemand nachDaten der Kreditkarte fragt).

Kryptographie – p. 5

Page 8: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Verschlüsselungsverfahren

Wir unterscheiden:

symmetrische Verschlüsselungsverfahren (klassisch)

asymmetrische Verschlüsselungsverfahren (modern)

Kryptographie – p. 6

Page 9: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Klassische Verschlüsselungsverfahren

Skytala (Stab), ca. 500 v.Chr.

Caesar-Chiffre, ca. 50 v.Chr.

Vigenère-Chiffre, ca. 1580

One-Time Pads, 1917-18 (1. Weltkrieg)

Enigma Maschine, (2. Weltkrieg)

Data Encryption Standard (DES), USA 1975

Kryptographie – p. 7

Page 10: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Die Skytala

−→ verwendet von Spartanern (ca. 500 v. Chr.)

Verschlüsseln : Wähle einen Stab, wickele einen Papierstreifenmehrfach darum herum und schreibe dann den Text auf denStreifen, so dass jeder Buchstabe auf einer neuen Papierbahn liegt:

Entschlüsseln : Aufrollen auf Stab derselben Dicke.

Kryptographie – p. 8

Page 11: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Caesar-Verschlüsselung

Schlüssel ist Zahl s zwischen 1 und 25

Verschlüsselung erfolgt durchVerschiebung des Alphabets um sStellen, d.h. falls s = 3:

ABCDEFGHIJKLMNOPQRSTUVWXYZDEFGHIJKLMNOPQRSTUVWXYZABC

Aus

VENI VIDI VICI

wird somit

YHQL YLGL YLFL

Kryptographie – p. 9

Page 12: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Caesar-Verschlüsselung

Mit Hilfe zweier gegeneinander drehbarer Scheiben kann man leichteine Ver- und Entschlüsselungsmaschine bauen:

Kryptographie – p. 9

Page 13: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Caesar-Verschlüsselung

Die Caesar-Verschiebung ist eine monoalphabetischeVerschlüsselung: Jedem Klarbuchstaben entspricht genau einGeheimbuchstabe.

Knacken: Teste die 25 möglichen Verschiebungen.

Statt nur zu verschieben, können wir die Buchstaben desGeheimalphabets auch komplizierter anordnen. Dann

Schlüssel = “verwürfeltes” Alphabet.

Insgesamt gibt es

26 · 25 · . . . · 2 · 1 = 403291461126605635584000000

verwürfelte Alphabete. Also kann man nicht einfach alleausprobieren, um den Code zu knacken. Aber bereits um 850n. Chr. haben arabische Gelehrte gezeigt, wie man solcheBotschaften entziffern kann....

Kryptographie – p. 9

Page 14: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Knacken Monoalphabet. Verschlüsselung

Man nutzt die Häufigkeitsverteilung der Buchstaben (z.B.: amhäufigsten auftretender Buchstabe → E, ...)

Häufigkeitsverteilung der Einzelbuchstaben in deutscher Sprache

A 6.51 F 1.66 K 1.21 P 0.79 U 4.35 Z 1.13

B 1.89 G 3.01 L 3.44 Q 0.02 V 0.67

C 3.06 H 4.76 M 2.53 R 7.00 W 1.89

D 5.08 I 7.55 N 9.78 S 7.27 X 0.03

E 17.40 J 0.27 O 2.51 T 6.15 Y 0.04

Häufigkeitsverteilung von Buchstabenpaaren in deutscher Sprache

EN ER CH TE DE ND EI IE IN ES EA,ET

3.88 3.75 2.75 2.26 2.0 1.99 1.88 1.79 1.67 1.52 ≤ 0.5

=⇒ Ziel: Verschleierung der Häufigkeiten !

Kryptographie – p. 10

Page 15: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Vigenère-Verschlüsselung

geht zurück auf Blaise de Vigenère (am Hofe Heinrichs III vonFrankreich).

benutzt verschiedene monoalphabetische Verschlüsselungenim Wechsel (“polyalphabetisches Verfahren”).

Bestimmung des jeweils aktuellen Alphabets erfolgt mitHilfe eines Schlüsselwortes aus dem sogenanntenVigenère-Quadrat.

Kryptographie – p. 11

Page 16: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Vigenère-Verschlüsselung

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 ZA B C D E F G H I J K L M N O P Q R S T U V W X Y ZB C D E F G H I J K L M N O P Q R S T U V W X Y Z AC D E F G H I J K L M N O P Q R S T U V W X Y Z A BD E F G H I J K L M N O P Q R S T U V W X Y Z A B CE F G H I J K L M N O P Q R S T U V W X Y Z A B C DF G H I J K L M N O P Q R S T U V W X Y Z A B C D EG H I J K L M N O P Q R S T U V W X Y Z A B C D E FH I J K L M N O P Q R S T U V W X Y Z A B C D E F GI J K L M N O P Q R S T U V W X Y Z A B C D E F G HJ K L M N O P Q R S T U V W X Y Z A B C D E F G H IK L M N O P Q R S T U V W X Y Z A B C D E F G H I JL M N O P Q R S T U V W X Y Z A B C D E F G H I J KM N O P Q R S T U V W X Y Z A B C D E F G H I J K LN O P Q R S T U V W X Y Z A B C D E F G H I J K L MO P Q R S T U V W X Y Z A B C D E F G H I J K L M NP Q R S T U V W X Y Z A B C D E F G H I J K L M N OQ R S T U V W X Y Z A B C D E F G H I J K L M N O PR S T U V W X Y Z A B C D E F G H I J K L M N O P Q...

......

......

......

......

......

......

......

......

......

......

......

......

...Y Z A B C D E F G H I J K L M N O P Q R S T U V W XZ 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

Kryptographie – p. 11

Page 17: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Vigenère-Verschlüsselung

Mit dem Schlüssel LUTETIA wird Caesar’s VENI VIDI VICI zu:

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 ZL L M N O P Q R S T U V W X Y Z A B C D E F G H I J KU U V W X Y Z A B C D E F G H I J K L M N O P Q R S TT T U V W X Y Z A B C D E F G H I J K L M N O P Q R SE E F G H I J K L M N O P Q R S T U V W X Y Z A B C DT T U V W X Y Z A B C D E F G H I J K L M N O P Q R SI I J K L M N O P Q R S T U V W X Y Z A B C D E F G HA 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 ZL L M N O P Q R S T U V W X Y Z A B C D E F G H I J KU U V W X Y Z A B C D E F G H I J K L M N O P Q R S TT T U V W X Y Z A B C D E F G H I J K L M N O P Q R SE E F G H I J K L M N O P Q R S T U V W X Y Z A B C DT T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

GYGM OQDT PBGB

Kryptographie – p. 11

Page 18: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Vigenère-Verschlüsselung

Die Vigenère-Verschlüsselung ist mit einer Häufigkeitsanalysenicht zu knacken. Sie galt lange Zeit als absolut sicher.

Wesentliche Schwäche: zyklischer Charakter.

Als Erster hat dies Charles Babbage im 19-ten Jahrhunderterkannt: man kann Länge ℓ des Schlüsselworts ermitteln.Anschließend kommt man mit ℓ Häufigkeitsanalysen zum Ziel.

Kryptographie – p. 11

Page 19: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Knacken der Vigenère-Verschlüsselung

Angenommen, wir haben die folgende Vigenère-verschlüsselteBotschaft empfangen:

WUBEFIQLZURMVOFEHMYMWTIXCGTMPIFKRZUPMVOIRQMMWOZMPULMBNYVQQQMVMVJLE

YMHFEFNZPSDLPPSDLPEVQMWCXYMDAVQEEFIQCAYTQOWCXYMWMSEMEFCFWYEYQETRLI

QYCGMTWCWFBSMYFPLRXTQYEEXMRULUKSGWFPTLRQAERLEEXMRULUKSGWFPTLRQAERL

UVPMVYQYCXTWFQLMTELSFJPQEHMOZCIWCIWFPZSLMAEZIQVLQMZVPPXAWCSMZMORVG

VVQSZETRLQZPBJAZVQIYXEWWOICCGDWHQMMVOWSGNTJPFPPAYBIYBJUTWRLQKLLLMD

PYVACDCFQNZPIFPPKSDVPTIDGXMQQVEBMQALKEZMGCVKUZKIZBZLIUAMMVZ

Kryptographie – p. 12

Page 20: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Knacken der Vigenère-Verschlüsselung

Angenommen, wir haben die folgende Vigenère-verschlüsselteBotschaft empfangen:

WUBEFIQLZURMVOFEHMYMWTIXCGTMPIFKRZUPMVOIRQMMWOZMPULMBNYVQQQMVMVJLE

YMHFEFNZPSDLPPSDLPEVQMWCXYMDAVQEEFIQCAYTQOWCXYMWMSEMEFCFWYEYQETRLI

QYCGMTWCWFBSMYFPLRXTQYEEXMRULUKSGWFPTLRQAERLEEXMRULUKSGWFPTLRQAERL

UVPMVYQYCXTWFQLMTELSFJPQEHMOZCIWCIWFPZSLMAEZIQVLQMZVPPXAWCSMZMORVG

VVQSZETRLQZPBJAZVQIYXEWWOICCGDWHQMMVOWSGNTJPFPPAYBIYBJUTWRLQKLLLMD

PYVACDCFQNZPIFPPKSDVPTIDGXMQQVEBMQALKEZMGCVKUZKIZBZLIUAMMVZ

Wiederholt auftretende Zeichenfolgen:EFIQ PSDLP WCXYM ETRL

Kryptographie – p. 12

Page 21: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Knacken der Vigenère-Verschlüsselung

Angenommen, wir haben die folgende Vigenère-verschlüsselteBotschaft empfangen:Bestimmung der wahrscheinlichen Schlüssellänge:

Zeichen- Zwischen- Mögliche Schlüssellänge (Teiler)

Folge Raum 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

EFIQ 95 x x

PSDLP 5 x

WCXYM 20 x x x x x

ETRL 120 x x x x x x x x x x

Ergebnis: 5

Kryptographie – p. 12

Page 22: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

One-Time Pads

erfunden 1917 von Joseph Mauborgne(US-Army) und Gilbert Vernam (AT&T)

benutzt Schlüsselwort, das genausolang ist wie der Klartext

ist beweisbar sicher, wennSchlüsselwort absolut zufällig und nureinmal verwandt, aber

sehr aufwändig (sehr langer Schlüs-sel muss auf sicherem Weg übermitteltwerden)

=⇒ nur für ultrageheime Kommunikation(z.B. “rotes Telefon”)

Kleiderbügel einer

Stasi-Agentin mit

One-Time Pads

Kryptographie – p. 13

Page 23: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Die Enigma Maschine

Kryptographie – p. 14

Page 24: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Die Enigma Maschine

Kryptographie – p. 14

Page 25: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Die Enigma Maschine

Walzenstellungen: Jede der drei Walzen kann in eine von 26Stellungen gebracht werden: 263 = 17576

Walzenlagen: Die drei Walzen können in 3! = 6 verschiedeneReihenfolgen gebracht werden.

Steckerbrett: Die Zahl der Möglichkeiten, 6 Buchstabenpaarevon 26 zu verbinden und damit zu vertauschen ist16 · 26·25

2 · 24·232 · 22·21

2 · 20·192 · 18·17

2 = 100391791500

Schlüsselzahl=Produkt der Zahlen=10586916764424000

Kryptographie – p. 14

Page 26: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Die Enigma Maschine

Die Enigma ist ein mechanisches Vigenère-Kryptosystem (mitPermutation) und einer Schlüsselzahl von etwa 1016

Stärke der Enigma-Verschlüsslung:

Walzen drehten sich (26 · 26 · 26 = 17576 verschiedeneStellungen). Somit änderte sich der Verschiebechiffre nachjedem Buchstaben.

Schwächen der Enigma-Verschlüsslung:

Jeder, der eine Enigma-Maschine und das Buch mit derStarteinstellung des jeweiligen Tages hatte, konnte mithören.

Kryptographie – p. 14

Page 27: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Rejewski1905 – 1980Polen

Turing1912 – 1954GB

Die Enigma hatte strukturelle Schwächen, die es erlaubthaben, anhand von geratenen Nachrichtenstücken (cribs), Teiledes Schlüssels und damit wiederum die Grundeinstellung zubestimmen.

Kryptographie – p. 15

Page 28: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Data Encryption Standard

Idee (ausfürlich in Buchmann Kapitel 6):

der Text wird in eine Reihe binärer Zahlen verwandelt

die Reihe wird in Blöcke von 64 Zahlen aufgespalten, die je fürsich verschlüsselt werden

ein Block wird in zwei Hälften L0 und R0 zu je 32 Zahlenaufespalten

die Zahlen in R0 werden geeignet verschlüsselt

256 Schlüssel stehen zur Verfügung

Kryptographie – p. 16

Page 29: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Data Encryption Standard

Idee (ausfürlich in Buchmann Kapitel 6):

der Text wird in eine Reihe binärer Zahlen verwandelt

die Reihe wird in Blöcke von 64 Zahlen aufgespalten, die je fürsich verschlüsselt werden

ein Block wird in zwei Hälften L0 und R0 zu je 32 Zahlenaufespalten

die Zahlen in R0 werden geeignet verschlüsselt

256 Schlüssel stehen zur Verfügung

das so bearbeitete R0 wird zu L0 addiert und ergibt R1

aus dem ursprünglichem R0 wird L1

diese sogenannten Runden werden 16 Mal wiederholt

Kryptographie – p. 16

Page 30: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Definition

Ein Ein Kryptosystem ist ein 5-Tupel (P, C, K, {Ek}k∈K , {Dk}k∈K).

P Klartextraum (Menge aller möglichen Klartexte)

C Chiffretextraum (Menge aller möglichen Verschlüsselungen)

K Schlüsselraum (Menge aller Schlüssel)

Kryptographie – p. 17

Page 31: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Definition

Ein Ein Kryptosystem ist ein 5-Tupel (P, C, K, {Ek}k∈K , {Dk}k∈K).

P Klartextraum (Menge aller möglichen Klartexte)

C Chiffretextraum (Menge aller möglichen Verschlüsselungen)

K Schlüsselraum (Menge aller Schlüssel)

Ek : P −→ C Chiffrierungsabbildung zum Schlüssel k ∈ K

Dk : Im(Ek) −→ P Dechiffrierungsabbildung zum Schlüsselk ∈ K

for all e ∈ K exists d ∈ K such that DdEe = idP

Kryptographie – p. 17

Page 32: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Caesar

P = C = (Z/26)n = {0, . . . , 25}n

K = Z/26

Kryptographie – p. 18

Page 33: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Caesar

P = C = (Z/26)n = {0, . . . , 25}n

K = Z/26

Ek(v1, . . . , vn) = (b1, . . . , bn) mit bi = vi + k mod 26

Dk(v1, . . . , vn) = (b1, . . . , bn) mit bi = vi − k mod 26

Kryptographie – p. 18

Page 34: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Vigenère

P = C = (Z/26)n = {0, . . . , 25}n

K = ∪(Z/26)i

Kryptographie – p. 19

Page 35: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Vigenère

P = C = (Z/26)n = {0, . . . , 25}n

K = ∪(Z/26)i

Ek1,...,kr(v1, . . . , vn) = (b1, . . . , bn) mit

bi = vi + ki mod 26, 1 ≤ i ≤ r

(br+1, . . . , bn) = Ek1,...,kr(vr+1, . . . , vn)

Dk(v1, . . . , vn) = (b1, . . . , bn)

bi = vi − ki mod 26, 1 ≤ i ≤ r

(br+1, . . . , bn) = Ek1,...,kr(vr+1, . . . , vn)

Kryptographie – p. 19

Page 36: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: One-Time-Pad

P = C = (Z/2)n = {0, 1}n

K = (Z/2)n

Kryptographie – p. 20

Page 37: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: One-Time-Pad

P = C = (Z/2)n = {0, 1}n

K = (Z/2)n

Ek1,...,kn(v1, . . . , vn) = (v1 + k1, . . . , vn + kn)

Dk1,...,kn= Ek1,...,kn

Kryptographie – p. 20

Page 38: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: affine

P = C = (Z/26)n = {0, . . . , 25}n

K = (Z/26)∗ × (Z/26)

Kryptographie – p. 21

Page 39: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: affine

P = C = (Z/26)n = {0, . . . , 25}n

K = (Z/26)∗ × (Z/26)

Ea,b(v1, . . . , vn) = (b1, . . . , bn) mit bi = avi + b mod 26

Dk(v1, . . . , vn) = (b1, . . . , bn) mit bi = 1a(vi − b) mod 26

Kryptographie – p. 21

Page 40: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Hill

P = C = (Z/26)nd = {0, . . . , 25}nd

K = Gl(d, Z/26)

Kryptographie – p. 22

Page 41: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Kryptosystem: Hill

P = C = (Z/26)nd = {0, . . . , 25}nd

K = Gl(d, Z/26)

EM (v1, . . . , vnd) = (b1, . . . , bnd) mit

M

v1

...vd

=

b1

...bd

(bd+1, . . . , bnd) = EM (vd+1, . . . , vnd)

DM = EM−1

Kryptographie – p. 22

Page 42: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Symmetr. vs. Asymmetr. Verschlüsselung

Symmetrisch IFrau Schwarz und Herr Weißhaben je einen Schlüsselfür das Schloss an derKiste.

Kopie des Schlüssels mussirgendwann übergeben wor-den sein !

Kryptographie – p. 23

Page 43: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Symmetr. vs. Asymmetr. Verschlüsselung

Symmetrisch II

ohne vorherigen Austauschvon Schlüsseln

Frau Schwarz und Herr Weißhaben je ein Schloss undzu diesem einen Schlüssel

Setzt voraus, dass Verschlüs-selungen von Sender undEmpfänger vertauschbarsind !

Kryptographie – p. 23

Page 44: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Symmetr. vs. Asymmetr. Verschlüsselung

Asymmetrisch I

An der Kiste hängt einSpezialschloss mit dreiverschiedenen SchlüsselnN,E,D.

zum Öffnen nötig: N,D

zum Schließen nötig: N,E

Frau Schwarz besitzt alle dreiSchlüssel N,E,D. Von N,E hatsie allen Freunden Kopien ge-geben.

Für Umsetzung in Praxis benötigen wir Mathematik !

Kryptographie – p. 23

Page 45: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Einwegfunktionen

Eine Funktion f heißt Einwegfunktion wenn gilt:

für alle x lässt f(x) sich leicht berechnen.

für beliebig gegebenes y lässt sich nur sehr schwer ein x findenmit y = f(x).

Beispiel 1: Name 7−→ Telefonnummer

Beispiel 2: n 7−→ n3 (für Schüler)

Beispiel 3: (p, q) 7−→ p · q mit p, q große Primzahlen (für Computer)

Einwegfunktionen können aus wichtigen Ergebnissen derZahlentheorie abgeleitet werden.

Kryptographie – p. 24

Page 46: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Anwendungen

Passwörtereingegeben: passwd; gespeichert/verglichen mit: f(passwd)

Elektronische UnterschriftGeg.: öffentliche Funktion f mit geheimer Umkehrung f−1

Anforderung an Unterschreiber: ich möchte x.Unterschreiber sendet: f−1(x).Empfänger wendet f an und erhält so x.

Public-Key-Verfahren (z.B. RSA)

Kryptographie – p. 25

Page 47: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Das RSA-Verfahren

entwickelt von R. Rivest, A. Shamir und L. Adlemann (1977).

basiert auf Einwegfunktion

(p, q) 7−→ p · q, mit p, q große Primzahlen .

Sicherheit bieten heute (noch) 1024-bit Schlüssel, d.h.∼ 300-stellige Zahlen N, D, E

Kryptographie – p. 26

Page 48: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Das RSA-Verfahren

Wähle z.B. (siehe Scientific American 1977)

q = 34905295108476509491478496199038981334177646384

93387843990820577

p = 32769132993266709549961988190834461413177642967

992942539798288533

dann öffentliche Schlüssel:

N = pq (129-stellige Zahl)

E = Zahl mit ggT(

E, (p−1)(q−1))

= 1

privater Schlüssel: (nur bei Kenntnis von p, q berechenbar)

D = Zahl mit E · D = 1 mod (p−1)(q−1)

Kryptographie – p. 26

Page 49: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Das RSA-Verfahren

Verschlüsseln (mit öffentlichen Schlüsseln):

c = xE mod N .

Entschlüsseln (mit privatem Schlüssel):

cD mod N = xE·D mod N = x1−t(p−1)(q−1) mod N = x mod N

Kryptographie – p. 26

Page 50: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Satz von Euler

Für eine natürliche Zahl n sei ϕ(n) = Anzahl der zu n teilerfremdenZahlen, die kleiner als n sind.Beispiel:

1. ϕ(15) = 8, weil 1, 2, 4, 7, 8, 11, 13, 14 die zu 15 teilerfremdenZahlen kleiner als 15 sind.

2. ϕ(p) = p − 1, wenn p eine Primzahl ist.

3. ϕ(p · q) = (p − 1)(q − 1), wenn p und q Primzahlen sind.

Satz (Euler): Seien m und n teilerfremde natürliche Zahlen, dann gilt

mϕ(n) ≡ 1 mod n.

Beispiel: m = 2, n = 15 256 = 28 = 17 · 15 + 1.

Kryptographie – p. 27

Page 51: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

RSA als Kryptosystem

Wir identifizieren den ASCII-Zeichensatz mit {0, . . . , 127}

Kryptographie – p. 28

Page 52: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

RSA als Kryptosystem

Ein Wort m1, m2 . . . , mk aus {0, . . . , 127}k wird der Zahlm =

1≤i≤k mi127k−i zugeordnet.

P = C = Z/n mit 128k ≤ n, n = pq, p, q prim

K = {(n, e)|ggT(e, (p − 1)(q − 1)) = 1}

E(n,e)(m) = me

D(n,e)(m) = md

ed = 1 mod (p − 1)(q − 1)

Kryptographie – p. 28

Page 53: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

RSA: Beispiel

dem Wort Hase entspricht72 · 1273 + 97 · 1272 + 115 · 127 + 101 = 149062795

p = 3490529510847650949147849619903898133417764638493387843990820577

q = 32769132993266709549961988190834461413177642967992942539798288533

n = p · q

e = 12345678900987654323908344614131776429679929425399

d = 109751825598869313670880118429221711035861795638769167970249968

450881784643307329111658290112436241313578683667569831114439231559

Codieren: 149062795e mod n

= 99891362129423632842997023584405313180734100986115766831277539

5924851790239992110963797586524592853160022044980658764998107011

Kryptographie – p. 29

Page 54: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

PGP (Pretty Good Protection)

verbindet Schnelligkeit des symmetrischen Verfahrens mitSicherheit des asymmetrischen.

Grundidee: asymmetrisches Verfahren nur fürSchlüsselaustausch. Eigentliche Nachricht wird dann mitsymmetrischem Verfahren (z.B. DES) verschlüsselt.

kann an vielen Stellen im Internet heruntergeladen werden, z.B.

http://www.pgpi.org/download/

Kryptographie – p. 30

Page 55: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Taschenrechner

p1 = 9815263

p2 = 561595591

p3 = 20996011

p1p2p3 = 115734388732005549627763

Taschenrechner:Multiplikation: weniger als 1 SekundeZerlegung: 5 Minuten

Kryptographie – p. 31

Page 56: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Man kennt 48 Mersenne Zahlen.

Mn = 2n − 1,wenn sie prim sind.

http://www.mersenne.org/math.htm

Kryptographie – p. 32

Page 57: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Man kennt 48 Mersenne Zahlen.

Mn = 2n − 1,wenn sie prim sind.

http://www.mersenne.org/math.htm

n muß prim sein.

n = 11 : M11 nicht prim : 211 − 1 = 2047 = 23 · 89

Man weiß nicht, ob es unendlich viele Mersenne Zahlen gibt.

Kryptographie – p. 32

Page 58: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Man kennt 48 Mersenne Zahlen.

Mn = 2n − 1,wenn sie prim sind.

http://www.mersenne.org/math.htm

n muß prim sein.

n = 11 : M11 nicht prim : 211 − 1 = 2047 = 23 · 89

Man weiß nicht, ob es unendlich viele Mersenne Zahlen gibt.

M132.049, 1983 als Primzahl gefunden (39.751 Ziffern)

M859.433, 1994 als Primzahl gefunden (258.716 Ziffern)

M20.996.011, 2003 als Primzahl gefunden (6.320.430 Ziffern)

M57.885.161, 2013 als Primzahl gefunden (17.425.170 Ziffern)

Kryptographie – p. 32

Page 59: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Die größte bekannte Primzahl

M57.885.161

Über 10000 Computer haben 39 Tage gerechnet.

etwa 130.000 Milliarden Rechenoperationen pro Sekunde

etwa 6000 Seiten Papier würde die Primzahl füllen

Kryptographie – p. 33

Page 60: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Rekordjagd

http://www.eff.orgElectronic Frontier Foundation:

$ 50.000 für die erste Primzahl mit mehr als 1.000.000Dezimalstellen.Gefunden am 1.6.1999: M6.972.593 mit 2.098.960 Ziffern.

$ 100.000 für die erste Primzahl mit mehr als 10.000.000Dezimalstellen.Gefunden am 23.8.2008: M43.112.609 mit 12.978.189 Ziffern.

$ 150.000 für die erste Primzahl mit mehr als 100.000.000Dezimalstellen.

$ 250.000 für die erste Primzahl mit mehr als 1.000.000.000Dezimalstellen.

Kryptographie – p. 34

Page 61: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Internet–Gemeinschaftsarbeit (2007)

http://www.nfsnet.orgM1039 = 21039 − 1 (313 Dezimalziffern) hat die Faktoren

5080711

55853666619936291260749204658315944968646527018488637648010052346319853288374753

20758181946442382764570481370359469516293970800739520988120838703792729090324679382343143884144834882534053344769112223028158327696525376091410189105241993899334109711624358962065972167481161749004803659735573409253205425523689

Kryptographie – p. 35

Page 62: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

Preise auf Beispielprobleme $ 10.000

Jens Franke (Universität Bonn), Dezember 2003

RSA – 576 (576 bits ∧= 174 Dezimalziffern)

1881988129206079638386972394616504398071635633794173827007633564229888597152346654485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059

Faktoren

398075086424064937397125500550386491199064362342526708406385189575946388957261768583317

472772146107435302536223071973048224632914695302097116459852171130520711256363590397527

Kryptographie – p. 36

Page 63: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

RSA-768 (232 Ziffern): Weltrekord

Kleinjung, Aoki, Franke, Lenstra, Thome, Gaudry, Kruppa, Montgomery, Bos, Osvik,

Riele, Timofeev, Zimmermann (19.12.2009)

1230186684530117755130494958384962720772853569595334792197322452151726400507263657518745202199786469389956474942774063845925192557326303453731548268507917026122142913461670429214311602221240479274737794080665351419597459856902143413

Faktor33478071698956898786044169848212690817704794983713768568912431388982883793878002287614711652531743087737814467999489

Faktor36746043666799590428244633799627952632279158164343087642676032283815739666511279233373417143396810270092798736308917

Kryptographie – p. 37

Page 64: Kryptographie - Fachbereich Mathematikpfister/VorlesungKrypto.pdf · ausprobieren, um den Code zu knacken. Aber bereits um 850 n. Chr. haben arabische Gelehrte gezeigt, wie man solche

repunit 101031−19 =

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

11111111111.

Kryptographie – p. 38