432
1 Pr¨ asentationsfolien zum Buch Angewandte Kryptographie Wolfgang Ertel Hanser Verlag, 4. Auflage, 2012 ISBN: 3-446-21549-2 www.fh-weingarten.de/~ertel/kryptobuch.html

Wolfgang Ertel - hs-weingarten.deertel/kryptobuch/kryptobuch-ertel-folien.pdf · 2.1 Terminologie 11 2.1 Terminologie Kryptographie wird verstanden als die Lehre der Absicherung von

Embed Size (px)

Citation preview

1

Prasentationsfolien zum Buch

Angewandte Kryptographie

Wolfgang Ertel

Hanser Verlag, 4. Auflage, 2012

ISBN: 3-446-21549-2

www.fh-weingarten.de/~ertel/kryptobuch.html

Inhaltsverzeichnis

1 Elektronisches Bargeld, ein erstes Beispiel 4

2 Grundlagen 10

3 Klassische Chiffren 35

4 Moderne Blockchiffren 112

5 Public-Key-Kryptographie 163

6 Authentifikation und digitale Signatur 218

7 Public-Key-Infrastruktur 272

8 Public-Key-Systeme 282

INHALTSVERZEICHNIS 3

9 Elektronisches Bargeld 309

10 Elektronische Zahlungssysteme 322

11 Politische Randbedingungen 332

12 Sicherheitslucken in der Praxis 339

13 Das kleine Einmaleins auf endlichen Mengen 344

14 Erzeugen von Zufallszahlen 398

Kapitel 1

Elektronisches Bargeld, ein erstes Beispiel

5

5 DM

Kodierung des Wertes im Klartext als Textdatei

Problem: Fälschung sehr einfach

Wert: 100 DM

Ecash MünzeEcash Münze

Wert: 5 DM

Ecash Münze

Wert: 5 DM

Ecash: 1. Versuch

6 1 Elektronisches Bargeld, ein erstes Beispiel

Bank kodiert mitgeheimem Schlüssel

e9uhfc−)vG$

@1l;5=O>WY7909jt&^3Fq_

5 DM

5 DM

909jt&^3Fq_@1l;5=O>WY7e9uhfc−)vG$5 DM

e9uhfc−)vG$@1l;5=O>WY7909jt&^3Fq_

5 DM

e9uhfc−)vG$@1l;5=O>WY7909jt&^3Fq_

5 DMe9uhfc−)vG$@1l;5=O>WY7909jt&^3Fq_

5 DM

e9uhfc−)vG$@1l;5=O>WY7909jt&^3Fq_

5 DM

Digitale Signatur der Bank:

Problem: Kopieren d. Münzen sehr einfach!

Ecash: 2. Versuch

7

5 DM123456789101

)^g$R#c9oH=P.KY"}3bx>[\0

digitaleSignaturd. Bank

Betrüger

5 DM123456789101

)^g$R#c9oH=P.KY"}3bx>[\0

5 DM123456789101

)^g$R#c9oH=P.KY"}3bx>[\0

Eindeutige Seriennummer:

Betrug wird erkannt ! kopiert Münze

Bank

Ecash: 3. Versuch

5 DM123456789101

8 1 Elektronisches Bargeld, ein erstes Beispiel

1.1 mogliche Kundendatenbank der E-Bank

Seriennummer Ausgabe Kunde Kto.-Nr. Handler Rucklauf Betrag123456789101 12.2.2001 Maier 7654321 Otto Versand 14.2.2001 50 DM123456789102 12.2.2001 Maier 7654321 Otto Versand 14.2.2001 20 DM123456789103 12.2.2001 Maier 7654321 Otto Versand 14.2.2001 8 DM123456789104 12.2.2001 Maier 7654321 Otto Versand 14.2.2001 0.90 DM123456789105 12.2.2001 Maier 7654321 amazon.de 17.2.2001 20 DM123456789106 12.2.2001 Maier 7654321 amazon.de 17.2.2001 2 DM123456789107 15.2.2001 Huber 0054322 Frisor Kurz 15.2.2001 20 DM123456789108 15.2.2001 Huber 0054322 Frisor Kurz 15.2.2001 20 DM123456789109 15.2.2001 Huber 0054322 Frisor Kurz 15.2.2001 5 DM123456789110 15.2.2001 Huber 0054322 Frisor Kurz 15.2.2001 1 DM123456789111 15.2.2001 Huber 0054322 Tankst. Sprit 16.2.2001 100 DM123456789112 15.2.2001 Huber 0054322 Tankst. Sprit 16.2.2001 2 DM123456789113 15.2.2001 Huber 0054322 Tankst. Sprit 16.2.2001 2 DM

......

......

......

...

1.1 mogliche Kundendatenbank der E-Bank 9

zurück an

mit Ser.Nr.

100 Münzen

99x

1x

5 DM

382644398021

eine Münze

Kunden

Signatur

99 Münzen

anonyme

Signatur

Bank prüft

Anonyme Signatur:

Bank signiert

Ecash: 4. Versuch

5 DM

382644398021

5 DM

Müll

876015769132

Kapitel 2

Grundlagen

2.1 Terminologie 11

2.1 Terminologie

Kryptographie wird verstanden als die Lehre der Absicherung vonNachrichten durch Verschlusseln.

Kryptanalyse ist die Kunst, Chiffretext aufzubrechen, d. h. denKlartext zu reproduzieren, ohne Kenntnis des Schlussels.

Kryptologie vereinigt Kryptographie und Kryptanalyse.

Ein Alphabet A ist eine endliche Menge von Zeichen. n = |A| istdie Machtigkeit des Alphabets.

Der lesbare Text einer Nachricht (message) wird Klartext (plain-

12 2 Grundlagen

text) genannt und mit M bezeichnet. Er wird als Zeichenkette uberdem Alphabet A gebildet.

aaa und abcabbb sind Klartexte uber dem Alphabet {a, b, c}.Geheimtexte oder Chiffretexte sind Zeichenketten uber demgleichen Alphabet A oder einem anderen Alphabet.

Auch die Schlussel sind Zeichenketten.

Verschlusselung oder Chiffrierung bezeichnet das Verfahren, umeine Nachricht unverstandlich zu machen.

Chiffre E (encryption) ist eine invertierbare, d. h. eine umkehrbareAbbildung, welche aus dem Klartext M und einem Schlussel K denGeheimtext C (ciphertext) erzeugt.

Die Umkehrung von E zur Wiederherstellung des Klartextes wird

2.1 Terminologie 13

Entschlusselung genannt und mit D (decryption) bezeichnet.

Es gilt E(M) = C und D(C) = M und

D(E(M)) = M

folgt.

Geheimhaltung: Lesen einer Nachricht fur Unbefugte unmoglichbzw. schwierig machen.

Authentifizierung oder

Authentifikation : Identitatsbeweis des Senders einer Nachrichtgegenuber dem Empfanger

Integritat: Unveranderbarkeit einer Nachricht.

Verbindlichkeit: Der Sender kann spater nicht leugnen, eineNachricht abgeschickt zu haben.

14 2 Grundlagen

2.2 Kryptographische Algorithmen

Kryptographische Algorithmen sind Berechnungsvorschriften,d. h. mathematische Funktionen zur Ver- und Entschlusselung.

Bei symmetrischen Algorithmen wird zum Chiffrieren und zumDechiffrieren immer der gleiche Schlussel K benutzt und es gilt

EK(M) = C

DK(C) = M

DK(EK(M)) = M.

Bei asymmetrischen Algorithmen wird zum Chiffrieren ein Schlussel

2.2 Kryptographische Algorithmen 15

K1 und zum Dechiffrieren ein anderer Schlussel K2 benutzt und esgilt:

EK1(M) = C

DK2(C) = M

DK2(EK1(M)) = M

bei Stromchiffren wird ein Zeichen nach dem anderen verschlusselt.

bei Blockchiffren wird die Nachricht in Blocke (z. B. der Lange64 Bit) zerteilt und dann ein Block nach dem anderen verschlusselt.

Kryptosystem = Algorithmus + Schlussel + verschlusselte Nach-richten.

Nachteile der Geheimhaltung eines (eingeschrankten) Al-gorithmus:

16 2 Grundlagen

• Verlasst eine Person eine Benutzergruppe (z. B. eine Firma),dann muss der Algorithmus geandert werden.

• Eingeschrankte Algorithmen konnen daher nicht an Dritte wei-tergegeben werden. Sie waren dann wertlos.

• Qualitatskontrolle von eingeschrankten Algorithmen ist sehr schwie-rig!

Im 19. Jahrhundert von A. Kerkhoffs [Kah67] gefordert:

Die Sicherheit eines Verschlusselungsverfahrens darf nur von derGeheimhaltung des Schlussels abhangen, nicht jedoch von der Ge-heimhaltung des Algorithmus.

⇒ starke Kryptographie

2.2 Kryptographische Algorithmen 17

Beispiele fur die Verletzung von Kerkhoffs’ Prinzip

Online-Magazin der Zeitschrift c’t vom 7.12.991:

Handy-Verschlusselung angeblich geknacktDie beiden israelischen Kryptologen Alex Biryukov und Adi Shamir haben Medienberichtenzufolge den Verschlusselungsalgorithmus geknackt, der GSM-Handy-Telefonate auf der Funk-strecke zur Mobiltelefon-Basisstation schutzt. . . .Eines zeigen die Vorfalle um die GSM-Verschlusselungsalgorithmen A5/1 und A5/2 aberschon jetzt deutlich: Der Versuch, Krypto-Verfahren geheim zu halten, dient nicht derSicherheit. Das hat anscheinend auch die GSM-Association gelernt: Ihr SicherheitsdirektorJames Moran ausserte dem Online-Magazin Wired gegenuber, dass man kunftige Algorithmenvon vorneherein offenlegen will, um der Fachwelt eine Prufung zu ermoglichen. (nl/c’t)

1 Siehe http://www.heise.de/newsticker/data/nl-07.12.99-000/

18 2 Grundlagen

am 15.12.992 an gleicher Stelle die nachste Meldung:

Netscape verschlusselt Passworter unzureichendDer Netscape Navigator legt Passworter fur den Zugriff auf E-Mail-Server nur unzureichendverschlusselt ab. Zwei Mitarbeiter des US-Softwarehauses Reliable Software Technologies(RST) brauchten lediglich acht Stunden, um den Algorithmus zu knacken. . . .Der Algorithmus zerhacke die Passworter zwar, es handle sich jedoch um keine starke Ver-schlusselung, so Gary McGraw von RST. Durch die Eingabe einfacher Passworter wie “a”,“b” und so weiter sei man relativ schnell dahinter gekommen.. . .Der US-Sicherheitsexperte Bruce Schneier wertet die Entdeckung als weiteres Beispiel dafur,wie schadlich proprietare Verschlusselungsverfahren sein konnen. (ad[2]/c’t)

Weiteres aktuelles Beispiel: Verschlusselungsprotokoll WEP (WiredEquivalent Privacy), verwendet bei Funk-Netzwerken (IEEE802.11).Zitat aus [BGW01]:2 Siehe http://www.heise.de/newsticker/data/ad-15.12.99-001/

2.2 Kryptographische Algorithmen 19

ConclusionsWired Equivalent Privacy (WEP) isn’t. The protocol’s problems is a result of misunderstan-ding of some cryptographic primitives and therefore combining them in insecure ways. Theseattacks point to the importance of inviting public review from people with expertisein cryptographic protocol design; had this been done, the problems stated here would havesurely been avoided.

20 2 Grundlagen

2.3 Kryptographische Protokolle

Kryptographische Protokolle sind Verfahren zur Steuerung des Ab-laufs von Transaktionen fur bestimmte Anwendungen.

2.4 Public-Key-Algorithmen 21

2.4 Public-Key-Algorithmen

M M

Bob

SD

(M)

Aliceunsicherer Kanal

EP

B

BEPB

Abbildung 2.1: Austausch einer Nachricht mit einem Public-Key-Verfahren. Es werden offentlicherSchlussel PB und geheimer Schlussel SB von Bob benutzt

22 2 Grundlagen

Es muss gelten:

EPB(M) = C

DSB(C) = M

DSB(EPB(M)) = M.

M M

Bob

PD A

Alice

EA

SSE(M, (M))A

Abbildung 2.2: Alice signiert ein Dokument M mit ihrem geheimen Schlussel SA und Bob pruft die Signaturmit Alices offentlichem Schlussel PA

Es ist praktisch unmoglich, aus einem offentlichen Schlussel PA denzugehorigen geheimen Schlussel SA zu berechnen (Kapitel 5).

2.5 Kryptanalyse 23

2.5 Kryptanalyse

Arten von kryptanalytischen Angriffen:

Ciphertext-Only-Angriff: Der Kryptanalytiker verfugt nur ubereine bestimmte Menge Chiffretext.

Known-Plaintext-Angriff: Der Kryptanalytiker kennt zusatz-lich den zum Chiffretext gehorenden Klartext.

Chosen-Plaintext-Angriff: Der Kryptanalytiker kann einenbeliebigen Klartext vorgeben und hat eine Moglichkeit zu die-sem vorgegebenen Text an den Chiffretext zu gelangen. Moglich

24 2 Grundlagen

bei allen Public-Key-Systemen.

Chosen-Ciphertext-Angriff: Der Kryptanalytiker kann einenbeliebigen Chiffretext vorgeben und hat eine Moglichkeit, an denzugehorigen Klartext zu gelangen.

Angriff mit Gewalt: Der Kryptanalytiker bedroht oder folterteine Person mit Zugang zum Schlussel.

Angriff mit gekauftem Schlussel: Der Schlussel wird mittelsBestechung “gekauft”.

2.5 Kryptanalyse 25

Bei den Verfahren der starken Kryptographie stellt meist der Menschals Besitzer des Schlussels die großte Sicherheitslucke dar.

26 2 Grundlagen

Ein Angriff, bei dem alle moglichen Schlussel ausprobiert werden,wird Brute-Force-Angriff genannt.

Definition 2.1 Ein Algorithmus gilt als sicher, wenn

• der zum Aufbrechen notige Geldaufwand den Wert der ver-schlusselten Daten ubersteigt oder

• die zum Knacken erforderliche Zeit großer ist als die Zeit, diedie Daten geheim bleiben mussen, oder

• das mit einem bestimmten Schlussel chiffrierte Datenvolumenkleiner ist als die zum Knacken erforderliche Datenmenge.

Ein Algorithmus ist uneingeschrankt sicher, wenn der Klartextauch dann nicht ermittelt werden kann, wenn Chiffretext in belie-bigem Umfang vorhanden ist.

2.5 Kryptanalyse 27

In Abschnitt ?? werden wir einen uneingeschrankt sicheren Algo-rithmus kennen lernen.

28 2 Grundlagen

Wichtige Großen

Berechnungskomplexitat = Rechenzeit in Abhangigkeit von derSchlussellange.

Speicherplatzbedarf

Datenkomplexitat,

2.6 Sicherheit von Schlusseln 29

2.6 Sicherheit von Schlusseln

Aufwand zum Knacken dieser Schlussel??

30 2 Grundlagen

56 Bit-Schlussel (DES):

Der Schlusselraum hat die Große 256 ≈ 7 · 1016.

Beste bekannte Hardware-Implementierung kann etwa 9·1010 Schlusselpro Sekunde testen.

Kryptanalyseaufwand: ⇒ mittlere Zeit von etwa 3.9 · 105 Se-kunden ≈ 4.5 Tage. ⇒ unsicher

100 Bit-Schlussel:

2100 ≈ 1.3 · 1030 Schlussel.

Aufwand: 7 · 1018 Sekunden ≈ 2 · 1011 Jahre ≈ 20 mal Alter desUniversums (1010 Jahre).

Aufwand bei Schlussel der Lange 1024 Bit??

2.6 Sicherheit von Schlusseln 31

Einer der 21024 Schlussel mit 1024 Bit

010000101101111010100011101100011111110101001100111100100000110111101

001111110010100000110110001000110100010100100011010110111011011010010

000001100010000100101110111100011111010100001111000011011010001110000

010101001110101101111110111011111011011011001100011110001011110011100

001111110001000000110001011010110010110111110110011100011100110011010

111101101011010101001010100010000101011100100100011000000110010101101

000110100111111000111101000100001110010101000010100001010010000111111

011001010000100010100001011100100000001100010011110100010101110001001

001010110111110001011111010100101011100001000100110101100100111101111

000100010111101000010000010001001101101111100011101110000100010100111

100001101110011111000110011110010111011101101101110001110101001111011

110010101101110001100101101101011100001001010101110001011101010010001

000001101001101110100000110100000000001111110011011000100110101000001

001111110100110001010101001111111101011000111111001011001110111101010

1101111110101001100011110011000101010000010000000100101011

32 2 Grundlagen

Der Schlusselraum, d. h. die Menge, aus der ein Schlussel gewahltwird, sollte moglichst groß sein. Er sollte mindestens so groß sein,dass der Aufwand fur einen Angriff unakzeptabel hoch wird.

2.6 Sicherheit von Schlusseln 33

Untersetzung pro Zahnrad: 50 : 1

Wie lange lauft der Motor mit 200 Umdr./min., bis es kracht?

Foto aufgenommen im Technorama, Winterthur, Schweiz.

34 2 Grundlagen

Untersetzung gesamt: 5012 ≈ 2.4 · 1020

Foto aufgenommen im Technorama, Winterthur, Schweiz.

Kapitel 3

Klassische Chiffren

Problem: Addition und Multiplikation naturlicher Zahlen auf kei-ner endlichen Teilmenge abgeschlossen.

36 3 Klassische Chiffren

Definition 3.1 Bei einer Transpositionschiffre wird der Ge-heimtext durch eine Permutation der Klartextzeichen erzeugt.Bei einer Substitutionschiffre wird jedes Zeichen des Klartextesdurch ein anderes ersetzt. Die Position bleibt jedoch gleich.Eine Substitutionschiffre heißt monoalphabetisch, wenn jedesKlartextzeichen immer auf das gleiche Geheimtextzeichen abge-bildet wird. Sie heißt polyalphabetisch, wenn sie nicht monoal-phabetisch ist.

Uber dem naturlichen Alphabet (a, b, c, . . . , z) gibt es 26! ≈ 4·1026

monoalphabetische Chiffren.

Beim Verschlusseln von Binardaten gibt es nur zwei monoalphabe-tische Chiffren. Welche?

3.1 Verschiebechiffren 37

3.1 Verschiebechiffren

Julius Caesar (100 bis 44 v. Chr):

Klartext: 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 zChiffretext: D 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.

Klartextzeichen: KleinbuchstabenGeheimtextzeichen: Großbuchstaben

38 3 Klassische Chiffren

Definition 3.2 Bei einer Verschiebechiffre wird jedes Klartextzei-chen z durch ein um k Zeichen im Alphabet verschobenes Zeichenersetzt. Bei einem Alphabet mit n Zeichen seien die Zeichen durch-nummeriert von 0 bis n− 1. Dann gilt fur eine Verschiebechiffre:

z 7→ (z + k) mod n.

Verschiebechiffren sind sehr leicht zu knacken. Wie?

3.1 Verschiebechiffren 39

Buchstabenhaufigkeiten der deutschen Sprache

Buchstabe Haufigkeit [%] Buchstabe Haufigkeit [%]

a 6.51 n 9.78

b 1.89 o 2.51

c 3.06 p 0.79

d 5.08 q 0.02

e 17.40 r 7.00

f 1.66 s 7.27

g 3.01 t 6.15

h 4.76 u 4.35

i 7.55 v 0.67

j 0.27 w 1.89

k 1.21 x 0.03

l 3.44 y 0.04

m 2.53 z 1.13

40 3 Klassische Chiffren

Beispiel 3.1 Gegeben sei folgender Chiffretext:

GEIWEV LEX MQQIV YQ HVIM ZIVWGLSFIR

Haufigkeitsanalyse

Geheimtext-Alph.: E F G H I L M Q R S V W X Y ZHaufigkeit: 3 1 2 1 5 2 2 3 1 1 4 2 1 1 1Erwartungswerte falls e 7→ I: 2.0 0.6 0.9 1.5 5.2 1.4 2.3 0.8 2.9 0.8 2.1 2.2 1.8 1.3 0.2Klartext-Alphabet: a b c d e h i m n o r s t u v

Hypothese e 7→ IAußerdem erkennt man, dass die zehn haufigsten Buchstaben desAlphabets bei dieser Hypothese (Verschiebung um vier) alle im ent-schlusselten Text vertreten sind. Der Klartext lautet:

caesar hat immer um drei verschoben

3.1 Verschiebechiffren 41

Ciphertext-Only-Angriff mit wenig Geheimtext.minimale Datenkomplexitat.Grund??

42 3 Klassische Chiffren

3.2 Multiplikative Chiffren

Definition 3.3 Bei einer multiplikativen Chiffre uber dem Alpha-bet A wird jedes Klartextzeichen z mit einer Zahl t ∈ {0, . . . , n−1} multipliziert. t und n = |A| mussen teilerfremd sein, d. h. esmuss gelten ggT(t, n) = 1. Die Chiffriervorschrift lautet

z 7→ (z · t) mod n.

Wegen (z · t) mod n = (z mod n) · (t mod n) mod n mussen furt nur Werte aus {0, . . . , n− 1} betrachtet werden. Großere Werte

3.2 Multiplikative Chiffren 43

von t liefern keine neuen Chiffren.

Beispiel 3.2 n = 26 und t = 2

Klartext a b c d . . . l m n o . . .

z 0 1 2 3 . . . 11 12 13 14 . . .

2z mod 26 0 2 4 6 . . . 22 24 0 2 . . .

Geheimtext A C E H . . . V X A C . . .

Chiffre ist nicht injektiv!Fur t = 3 ergibt sich

z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

3z mod 26 0 3 6 9 12 15 18 21 24 1 4 7 10 13 16 19 22 25 2 5 8 11 14 17 20 23

44 3 Klassische Chiffren

Hier funktioniert die eindeutige Entschlusselung. Allgemein gilt

Satz 3.1 Zu jeder multiplikativen Chiffre E mit ggT(t, n) = 1gibt es eine multiplikative Dechiffrierfunktion D mit D(E(z)) = zfur alle z ∈ A.

Beweis: Wegen ggT(t, n) = 1 gibt es nach Satz 13.8 ein b ∈ Znmit t · b ≡ 1 mod n. Dieses b ist also invers zu t modulo n undmacht die Multiplikation mit t ruckgangig. Also ist

D : z′ 7→ bz′ mod n

die Dechiffrierfunktion zu E, denn es gilt

D(E(z)) = (b(zt) mod n) mod n = ((bt) mod n · z) mod n =(1z) mod n = z. 2

3.2 Multiplikative Chiffren 45

Mogliche Schlussel t mit ggT(t, 26) = 1 und t < 26:

1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25

|Schlusselraum| = 12

46 3 Klassische Chiffren

3.3 Tauschchiffren (Affine Chiffren)

Definition 3.4 Sei ggT(t, n) = 1. Dann wird jede Chiffre E mitz 7→ (zt + k) mod n affine Chiffre oder Tauschchiffre genannt.

3.3 Tauschchiffren (Affine Chiffren) 47

Beispiel 3.3 Sei t = 5, k = 7, n = 26.

z 1 2 3 4 5 6 7 8 9 10 11 12 . . .

z′ = (5z + 7) mod n 12 17 22 1 6 11 16 21 0 5 10 15 . . .

Wie lautet die Dechiffrierfunktion?

Suche multiplikative Inverse b zu 5 in Z26 durch Probieren. Fur bmuss gelten 5 · b ≡ 1 mod 26.

Gesucht: Vielfaches von 5, das bei Division durch 26 den Rest 1ergibt.

Tabelle der Vielfachen von 26:

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 . . .

26i 0 26 52 78 104 130 156 182 208 234 260 286 312 338 364 . . .

Zahlen, die um 1 kleiner sind als ein Vielfaches von 5, also Zahlen

48 3 Klassische Chiffren

die mit den Ziffern 4 oder 9 enden. Wir finden 104, 234, 364 . . .,verwenden davon 104 und berechnen

5b = 105 ≡ 1 mod 26 ⇒ b = 21

z′ = 5z + 7 nach z auflosen:

z′ = 5z + 7

21z′ = 21 · 5 · z + 21 · 7 ≡ (z + 147) mod 26 = (z + 17) mod 26

z ≡ (21z′ − 17) mod 26 ≡ (21z′ + 9) mod 26

Damit kann die Dechiffrierfunktion angewendet werden, um aus z′

wieder z zu berechnen (siehe Tabelle ??).

3.3 Tauschchiffren (Affine Chiffren) 49

z z′ = (5z + 7) mod 26 z = (21z′ + 9) mod 26

1 12 252 + 9 = 18 + 9 = 27 = 12 17 357 + 9 = 19 + 9 = 28 = 23 22 462 + 9 = 20 + 9 = 29 = 34 1 21 + 9 = 30 = 4...

......

12 67 = 15 315 + 9 = 3 + 9 = 12...

......

Siehe auch: Euklidischer Algorithmus

50 3 Klassische Chiffren

es gibt 26 ·12 = 312 verschiedene Tauschchiffren auf dem Alphabet{a, b, c, . . . , z}.

3.4 Kryptanalyse monoalphabetischer Chiffren 51

3.4 Kryptanalyse monoalphabetischer Chiffren

Gegeben sei folgender monoalphabetisch verschlusselte Chiffretext:

WBO BUVLPH RZWB NHBOB EOHGYVTRQ UVRQY CD GUHRGBU

LBNBTBU QHBYYBU WVB MOVYVTRQBU GOXEYZLOHEQBU UVRQYT

DBMBO WBU IBOTRQKDBTTBKDULTEOZCBTT LBNDTTY

haufigster Buchstabe: “B”

Buchstabenhaufigkeiten:

Buchstabe 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

Haufigkeit 0 22 2 5 4 0 4 6 1 0 2 5 2 3 9 1 7 7 0 12 11 7 4 1 8 3

52 3 Klassische Chiffren

Hypothesen:

1. B 7→ e, T 7→ n

2. B 7→ e, U 7→ n

Bigramme, d. h. Paare von Buchstaben abzahlen:

Linken Tabelle: en viel haufiger als ne. Daher wird Hypothese 2(U 7→ n) weiterverfolgt. Das vierfache Vorkommen von BO legtO 7→ r nahe.

Die auffallige Haufigkeit von RQ deutet auf ch. Nimmt man dannnoch V und T als die beiden nach e und n haufigsten Buchstabeni und s dazu, so ergibt sich als eine neue Hypothese (neben einerweiteren):

3.4 Kryptanalyse monoalphabetischer Chiffren 53

Paarhaufigkeiten in deutschen Texten

54 3 Klassische Chiffren

Mittlere Haufigkeit vonPaaren in deutschen

Texten

Paar Haufigkeit

en 3.88%er 3.75%ch 2.75 %te 2.26 %de 2.00 %nd 1.99 %ei 1.88 %ie 1.79 %in 1.67 %es 1.52 %

Paarhaufigkeiten im Beispiel

Paar Haufigkeit

WB 3HB 2LB 2TB 2QB 2DB 2NB 1YB 1VB 1MB 1IB 1CB 1LB 1

Paar Haufigkeit

BU 7BO 4BT 3BN 2BY 1BK 1BM 1RQ 5

3.4 Kryptanalyse monoalphabetischer Chiffren 55

B 7→ e, U 7→ n, O 7→ r, R 7→ c, Q 7→ h, T 7→ s, V 7→ i

Damit erhalt man:

Wer eniLPH cZWe NHere ErHGYisch nichY CD GnHcGen

LeNesen hHeYYen Wie MriYischen GrXEYZLrHEhen nichYs

DeMer Wen IerschKDesseKDnLsErZCess LeNDssY

Luckentext:

er eni c e ere r isch nich n c en

e esen h e en ie ri ischen r r hen nich s

e er en ersch esse n s r ess e ss

56 3 Klassische Chiffren

3.5 Polyalphabetische Chiffren

Homophone Chiffren

Homophone Chiffren sind solche, bei denen im Geheimtext jedesZeichen (in etwa) gleich haufig vorkommt.

Homophone Chiffren verschleiern die Haufigkeiten der Klartextzeichen.

Angriffe mit statistischen Methoden moglich.

3.5 Polyalphabetische Chiffren 57

Als Nachfolger der Geheimtextzeichen von c sind z.B. die zu h undk gehorenden Geheimtextzeichen besonders haufig.

• homophone Chiffren sind schwerer zu knacken als monoalpha-betische Chiffren

• fur die statistische Analyse von Paaren werden mehr Datenbenotigt.

58 3 Klassische Chiffren

Vigenere-Chiffre

16. Jhd., Blaise de Vigenere

Beispiel 3.4 Das Schlusselwort sei geheim.

Schlusselwort K: geheimgeheimgehei

Klartext P : dieloesunglautetx

Chiffretext C: JMLPWQYYUKTMAXLXF

K = Schlusselwort der Lange k

geheim =(6, 4, 7, 4, 8, 12)

V = Matrix des Vigenere-Quadrats

3.5 Polyalphabetische Chiffren 59

z = Nummer des zu codierenden Zeichens im Alphabet

i = Position von z im Klartext

n = die Lange des Alphabets

Dann gilt

E(z, i) = (z + Ki mod k) mod n = Vz,Ki mod k,

60 3 Klassische Chiffren

Klartext 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 z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Chiffretext 0 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 Z1 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 A2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C4 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 D5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G8 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 H9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J11 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 K12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q18 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 R19 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 S20 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 T21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U22 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 V23 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 W24 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 X25 Z 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

3.5 Polyalphabetische Chiffren 61

Kryptanalyse

62 3 Klassische Chiffren

Der Kasiski-Test

Charles Babbage, engl. Mathematiker, 1854

preussischer Major Friedrich Kasiski, 1863 erstmals veroffent-licht.

Idee:Suche Wiederholungen von Zeichenfolgen mit mindestens drei Zei-chen, messe deren Abstand und bestimme daraus die Schlussellange.

3.5 Polyalphabetische Chiffren 63

Beispiel 3.5 Gegeben sei folgender Geheimtext:

WGRIS LSTNJ AQSEI WGGEI XOSRV FNFMB GRTEI WBGOE FONHI AQSTV FRLSR

TSCIE VSCPI SLTSJ WZEEE NSCWV FRFNX XWYDV LRPNE WGTSK KSSRL EGEAV

FRWIT ZNFBV VWPNV FWYSS WGZNU WFPDV JGNHC MSDSV DHLUJ UVTSK KSSRR

MTHEE VWRUE VOYFR WZWIX MBODV JGNHC MSDSV DAFSJ WQSTQ MTLEC DWRSV

AB

Zeichenfolge Pos. 1 Pos. 2 Abstand Primfaktoren

ISL 4 65 61 61AQS 11 46 35 5 · 7EIW 14 34 20 225QST 47 207 160 25 · 5VFR 50 80 30 2 · 3 · 5SJW 69 204 135 33 · 5VFR 80 110 30 2 · 3 · 5TSKKSSR 98 158 60 22 · 3 · 5FRW 111 179 68 22 · 17DVJGNHCMSDSVD 139 189 50 2 · 52

64 3 Klassische Chiffren

Vermutung: Schlussellange = 2 oder 5

Teiltexte bei Schlussellange 2:

Nr. Teiltext

1 WRSSNASIGEXSVNMGTIBOFNIQTFLRSIVCILSWEESWFFXWDLPEGSKSLGAF

WTNBVPVWSWZUFDJNCSSDLJVSKSRTEVREOFWWXBDJNCSSDFJQTMLCWSA

2 GILTJQEWGIORFFBREWGEOHASVRSTCESPSTJZENCVRNXYVRNWTKSREEVR

IZFVWNFYSGNWPVGHMDVHUUTKSRMHEWUVYRZIMOVGHMDVASWSQTEDRVB

Teiltexte bei Schlussellange 5:

Nr. Teiltext

1 WLAWXFGWFAFTVSWNFXLWKEFZVFWWJMDUKMVVWMJMDWMDA

2 GSQGONRBOQRSSLZSRWRGSGRNWWGFGSHVSTWOZBGSAQTWB

3 RTSGSFTGNSLCCTECFYPTSEWFPYZPNDLTSHRYWONDFSLR

4 INEERMEOHTSIPSEWNDNSRAIBNSNDHSUSREUFIDHSSTES

5 SJIIVBIEIVREIJEVXVEKLVTVVSUVCVJKREERXVCVJQCV

3.5 Polyalphabetische Chiffren 65

Haufigkeiten in den Teiltextenk = 1 k = 2 k = 5

Buchstabe Text 1 Text 2 Text 1 Text 2 Text 3 Text 4 Text 5A 5 3 2 3 1 0 1 0B 5 3 2 0 3 0 1 1C 6 4 2 0 0 3 0 3D 8 5 3 3 0 2 3 0E 15 6 9 1 0 2 6 6F 12 8 4 6 1 4 1 0G 10 4 6 1 7 2 0 0H 5 0 5 0 1 1 3 0I 9 5 4 0 0 0 4 5J 6 4 2 2 0 0 0 4K 4 2 2 2 0 0 0 2L 7 6 1 2 1 3 0 1M 6 2 4 5 0 0 1 0N 11 6 5 1 2 3 5 0O 5 2 3 0 3 1 1 0P 4 2 2 0 0 3 1 0Q 4 2 2 0 3 0 0 1R 14 4 10 0 5 3 3 3S 26 17 9 1 8 6 9 2T 11 5 6 1 2 5 2 1U 4 1 3 1 0 0 2 1V 17 6 11 4 1 0 0 12W 17 10 7 9 5 2 1 0X 4 3 1 2 0 0 0 2Y 3 0 3 0 0 3 0 0Z 4 1 3 1 2 1 0 0

66 3 Klassische Chiffren

Java-Applets fur den Kasiski-Test sind zu finden unter [Vig01].

3.5 Polyalphabetische Chiffren 67

Der Friedmann-Test

amerikanischer Kryptologe William Friedmann, 1925

Idee: naherungsweises Bestimmen der Schlussellange nur durchAbzahlen der Buchstabenhaufigkeiten.

68 3 Klassische Chiffren

Darstellung von Chiffre- und Klartext

C =

C11, C12, . . . C1k,C21, C22, . . . C2k,

... ... ...,Cm

k 1, Cmk 2, . . . Cm

k k,

M =

M11, M12, . . . M1k,M21, M22, . . . M2k,

... ... ...,Mm

k 1, Mmk 2, . . . Mm

k k,

(3.1)

Zeilenlange = SchlusselwortlangeSpalte i entspricht dem i-ten Teiltext

3.5 Polyalphabetische Chiffren 69

Herleitung der Formel

Buchstaben innerhalb der Teiltexte sind nicht zufallig verteilt

Koinzidenzindex I = Wahrscheinlichkeit dafur, dass zwei zufalliggewahlte Buchstaben mit beliebigem Abstand gleich sind.

m1 = Haufigkeit fur ’a’, m2 = Haufigkeit fur ’b’, . . .m26 = Haufig-keit fur ’z’.

Die Lange m des Textes

m =

26∑i=1

mi.

70 3 Klassische Chiffren

Gesamtzahl aller Buchstabenpaare

m(m− 1)

2Zahl der Paare a. . . a

m1(m1 − 1)

2.

Gesamtzahl aller Paare aus gleichen Buchstaben26∑i=1

mi(mi − 1)

2.

Koinzidenzindex

I =

∑26i=1mi(mi − 1)

m(m− 1).

Fur lange deutsche Texte gilt I ≈ Id := 0.0762.

3.5 Polyalphabetische Chiffren 71

Fur zufallig generierte lange Texte mit m1 = m2 = . . . = m26 gilt

I =

∑26i=1mi(mi − 1)

m(m− 1)≈∑26

i=1m2i

m2=

26∑i=1

m2i

m2

=

26∑i=1

(mi

m

)2

=

26∑i=1

(1

26

)2

=1

26≈ 0.0385 =: Ir.

I = 1 fur Text aus lauter gleichen Buchstaben.

Anderer Zugang:zerlege Text in k Teiltexte (k = Schlussellange)

innerhalb der Teiltexte gilt I = Id = 0.0762zwischen verschiedenen Teiltexten gilt I = Ir = 0.0385

Es gibt k Teiltexte mit je etwa m/k Buchstaben.

72 3 Klassische Chiffren

Zahl der Paare aus Buchstaben innerhalb der Teiltexte:

1

2· mk

(mk− 1)· k =

m(m− k)

2k

Zahl der Paare von Buchstaben aus verschiedenen Teiltexten:

m(m− m

k

)· 1

2=m2(k − 1)

2k

Zahl der Paare aus gleichen Buchstaben im Text

m(m− k)

2k· Id +

m2(k − 1)

2k· Ir.

Wahrscheinlichkeit fur Paare aus gleichen Buchstaben

m(m− k)

m(m− 1)k· Id +

m2(k − 1)

m(m− 1)k· Ir.

3.5 Polyalphabetische Chiffren 73

muß etwa gleich I sein:

I ≈ (m− k)

(m− 1)k· Id +

m(k − 1)

(m− 1)k· Ir

nach k auflosen:

k ≈ (Id − Ir)m(m− 1)I − Irm + Id

=0.0377m

(m− 1)I − 0.0385m + 0.0762

Ergebnis:

naherungsweise Berechnung der Schlussellange nur durch Abzahlender Haufigkeiten aller Geheimtextzeichen.

Angewendet auf unser Beispiel ergibt sich

I ≈ 0.0499

74 3 Klassische Chiffren

und

k ≈ 3.29.

3.5 Polyalphabetische Chiffren 75

Die Enigma

erfunden etwa 1920 vonArthur Scherbius

76 3 Klassische Chiffren

3.5 Polyalphabetische Chiffren 77

Verdrahtungsschema der Enigma

entnommen aus dem Enigma Simulator von Ian Noble [Nob96]

78 3 Klassische Chiffren

Schlusselraum

• Vigenere-Chiffre mit Schlussellange ka = 26 · 26 · 26 = 17 576

• Steckbrett: Bei funf vertauschten Buchstabenpaaren

1

5!

(262

)(242

)(222

)(202

)(182

)= 5 019 589 575 ≈ 5 · 109

unterschiedliche Steckbrettverschaltungen.

• Fur beliebige Zahl p vertauschter Buchstabenpaare:

ks(p) =1

p!

(262

)(242

)· · ·(26− 2(p− 1)

2

)(3.2)

Verschaltungen.

3.5 Polyalphabetische Chiffren 79

Schlusselraum

• Steckbrett insgesamt:

ks =

13∑p=0

ks(p) = 532 985 208 200 575 ≈ 5 · 1014.

• Schlusselraum gesamt mit 3 fest eingebauten Walzen, Steck-brett und 6 verschiedenen Walzenlagen:

k = 6 · ka · ks = 6 · 17 576 · 532 985 208 200 575

= 56 206 488 115 999 837 200 ≈ 6 · 1019.

80 3 Klassische Chiffren

Geschichte der Enigma

1923 Erfindung durch Arthur Scherbius zum Gebrauchfur Geschaftsleute.

1925 Deutsche Marine kauft erste Enigmas.

1928 Landstreitkrafte kaufen Enigmas. Polnische Ma-thematiker beginnen mit der Kryptanalyse. Polenknacken die Enigma erstmals ( ⇒ Prinzip vonKerkhoffs).

1930 Verbesserung durch Hinzufugen des Steckbretts.

3.5 Polyalphabetische Chiffren 81

1933 Einsatz elektromechanischer Computer, Bombegenannt, zum erfolgreichen Knacken der Enigmadurch die Polen.

1938 Enigma wird durch austauschbare Walzen wiedersicher (drei von funf Walzen).

1939 Der Großangriff auf die Enigma in Bletchley Parkbeginnt. Alan Turing baut verbesserte Bomben(erste Computer).

1942 Neue Enigma mit vier Walzen ist wieder sicher.Wird im U-Boot-Krieg eingesetzt.

82 3 Klassische Chiffren

1943 4-Walzen-Enigma geknackt, u. a. helfen Wetter-meldungen deutscher U-Boote, sog. Menus fur dieBomben bzw. Computer zu erstellen. Colossuskommt zum Einsatz.

1945 Ende des zweiten Weltkriegs. Entschlusseln derEnigma-Codes in Bletchley Park trug bei zum Siegder Alliierten. Ca. 10 000 Personen in drei Schich-ten.

3.5 Polyalphabetische Chiffren 83

Kryptanalyse

• Marian Rejewski (Polen) analysiertschon fruh die Enigma

Literatur:[Dew89, Har95, Kah67, Kah91]

84 3 Klassische Chiffren

Kryptanalyse

• Brute-Force-Angriff aussichtslos

• Kasiski-Test und Friedmann-Test nicht sinnvoll anwendbar

• Funktionsweise war den Alliierten schon fruh bekannt

• Fehler bei der Anwendung boten Angriffspunkte

• Standardisiertes militarisches Format der Meldung macht Known-Plaintext-Angriff moglich.

• Taglich neue Anfangsstellung der Walzen wird zweimal nach-einander ubertragen!

• Enigma bildet kein Zeichen auf sich selbst ab. Schrankt Such-raum ein.

3.5 Polyalphabetische Chiffren 85

• Selbstinverse Eigenschaft der Enigma f 7→ p ⇒ p 7→ f .

• Erbeutete Codebucher machen Angriffe viel leichter.

86 3 Klassische Chiffren

Zyklen verraten die Walzenstellung

• Steckbrettverschaltung, Walzenlage, Anfangsstellung der Wal-zen fur jeden Tag vorgegeben.

• Funker mussten eigenen Spruchschlussel verwenden.

• Spruchschlussel musste wiederholt werden. Beispiel: ULJULJ 7→LOKTGM

• Rejewski nutzte Zyklen durch wiederholte Spruchschlussel, umdie Walzenstellung zu finden.

3.5 Polyalphabetische Chiffren 87

Abgefangene Anfangsstucke:

LOKTGM, AXUFMB, GLBCFJ, XOENGD, TFIIYK, ...

Tabelle aller 1. und 4. Zeichen:

1. Ze. 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

4. Ze. F Y Q G B W C O D M E T S U R A Z X H I J L P N K V

Alle Zyklen: Zyklus LangeA-F-W-P-A 4

B-Y-K-E-B 4

C-Q-Z-V-L-T-I-D-G-C 9

S-H-O-R-X-N-U-J-M-S 9

88 3 Klassische Chiffren

Zyklenlangen sind Fingerabdrucke der Walzenstellung

• Zyklenlangen sind unabhangig von der Steckbrettverschaltung!

• (4, 4, 9, 9) als grober Fingerabdruck von Walzenstellung undWalzenlage.

• gleiche Prozedur fur 2. und 5. Buchstaben.

• gleiche Prozedur fur 3. und 6. Buchstaben.

• Fingerabdruck: ((4, 4, 9, 9), (13, 13), (1, 1, 3, 3, 9, 9))

3.5 Polyalphabetische Chiffren 89

Tabelle aller Zyklenlangen

Walzen- Zyklenlangenstellung 1.7→4. Zeichen 2.7→5. Zeichen 3.7→6. Zeichen

AAA (13,13) (13,13) (13,13)AAB (13,13) (13,13) (1,1,12,12)AAC (13,13) (1,1,12,12) (13,13)AAD (1,1,12,12) (13,13) (4,4,9,9)AAE (13,13) (4,4,9,9) (1,1,12,12)AAF (4,4,9,9) (1,1,12,12) (13,13). . . . . . . . . . . .AAN (4,4,9,9) (13,13) (2,2,5,5,6,6)AAO (13,13) (2,2,5,5,6,6) (1,1,2,2,3,3,3,3,4,4)AAP (2,2,5,5,6,6) (1,1,2,2,3,3,3,3,4,4) (13,13)AAQ (1,1,2,2,3,3,3,3,4,4) (13,13) (13,13)AAR (13,13) (13,13) (1,1,12,12)AAS (13,13) (1,1,12,12) (2,2,11,11). . . . . . . . . . . .

90 3 Klassische Chiffren

Tabelle aller Zyklenlangen

• fur 6 · 263 = 105456 Anfangsstellungen bei Walzenlage I, II, III

• 1 Jahr Arbeit fur Rejewsky

• Im Mittel etwa 2.5 Walzenstellungen pro Fingerabdruck.

3.5 Polyalphabetische Chiffren 91

Kryptanalyse 2

Alan Turing: Erfinder der Turing Maschine

Cribs: Turing suchte nach Zyklen bei be-kanntem Klartext!

Stellung S S+1 S+2 S+3 S+4 S+5Klartext w e t t e r

↓ ↓ ↓Chiffretext E T J W P X

Zyklus: W–E–T–W

92 3 Klassische Chiffren

Kryptanalyse mit Colossus

3.5 Polyalphabetische Chiffren 93

Enigma Nachbauprojekt

• 2003: Erstellen von Handskizzen im Wehrtechnischen MuseumKoblenz

• 2003: CAD-Plane erstellt

• 2004: Firma KaVo Biberach startet Fertigung der Teile in derLehrwerkstatt

• 2010: erster funktionsfahiger ,,Rohbau”

• 2011: Publikationen des Artikels: An Enigma Replica andits Blueprints in Cryptologia. [EJHF11]

http://www.enigma.hs-weingarten.de

94 3 Klassische Chiffren

Das Original

3.5 Polyalphabetische Chiffren 95

Handskizzen

96 3 Klassische Chiffren

Handskizzen

3.5 Polyalphabetische Chiffren 97

CAD Plane

98 3 Klassische Chiffren

Walzen

3.5 Polyalphabetische Chiffren 99

Walzen

100 3 Klassische Chiffren

Nachbau

3.5 Polyalphabetische Chiffren 101

Original-Enigma mit Nachbau-Walzen

102 3 Klassische Chiffren

3.6 One-Time-Pad

Major J. Mauborgne und G. Vernam, AT&T, 1917.

z 7→ (z + r) mod 2 = z XOR r = z ⊕ r.

3.6 One-Time-Pad 103

001011011010111

110010111100101

111001100110010

Klartext

Folge von Zufallsbits

Chiffretext

Das One-Time-Pad ist eine Stromchiffre.

Definition 3.5 Ein Chiffriersystem heißt perfekt, wenn bei be-liebigem Klartext M und beliebigem Chiffretext C die a-priori-Wahrscheinlichkeit p(M) gleich der bedingten Wahrscheinlichkeit(a-posteriori-Wahrscheinlichkeit) p(M |C) ist, d. h.

p(M |C) = p(M). (3.3)

104 3 Klassische Chiffren

mit

p(M |C) =p(M ∧ C)

p(C)(3.4)

folgt

p(M ∧ C) = p(M) · p(C).

statistische Unabhangigkeit von Klartext M und Chiffretext C.

Definition 3.6 Eine Zahlenfolge (an) mit ai ∈ {0, 1} heißt(echte) Zufallsbitfolge, wenn die Werte 0 und 1 jeweils mitWahrscheinlichkeit 1/2 vorkommen und wenn es keine Moglich-keit gibt, aus der Kenntnis eines beliebig langen Anfangsstucksder Folge Informationen uber den Rest der Folge abzuleiten. (Sie-he auch Anhang 14.)

3.6 One-Time-Pad 105

Lemma 3.1 Sei X eine Zufallsvariable zur Erzeugung einer echtenZufallsbitfolge. Dann gilt

P (x⊕ 0 = 0) = P (x⊕ 0 = 1) = 1/2 (3.5)

und P (x⊕ 1 = 0) = P (x⊕ 1 = 1) = 1/2. (3.6)

Beweis: Nach Voraussetzung gilt P (x = 0) = P (x = 1) = 1/2.Da x ⊕ 0 = x, ist fur die Gleichung 3.5 nichts zu zeigen. Dax ⊕ 1 = 1 fur x = 0 und x ⊕ 1 = 0 fur x = 1, werden die beidenWerte 0 und 1 fur X gerade vertauscht. Die Wahrscheinlichkeitenbleiben damit bei 1/2. 2

106 3 Klassische Chiffren

Satz 3.2 Wird ein One-Time-Pad mit einer echten Zufallsbitfolgebetrieben, so bietet es perfekte Sicherheit.

Beweis: Sei M die Menge aller Klartexte M der Lange n, Cdie Menge aller Chiffretexte C der Lange n und K die Menge allerSchlussel K der Lange n. Bei einem One-Time-Pad gilt

|M| = |C| = |K| =: m = 2n.

Da der Schlussel aus Zufallszahlen besteht, wird wegen Lemma 3.1fur einen beliebig vorgegebenen Klartext jeder Chiffretext mit dergleichen Wahrscheinlichkeit p(C) = 1/m erzeugt. Da es genau mSchlussel der Lange n gibt, gibt es genau m unterschiedliche Chif-fretexte zu jedem Klartext, die (wegen der Zufalligkeit der Schlussel)

3.6 One-Time-Pad 107

alle mit der gleichen Wahrscheinlichkeit auftreten. Es gilt also

p(C|M) =1

m

Wendet man wie in Gleichung 3.4 die Definition der bedingtenWahrscheinlichkeit auchauf p(C|M) an, so erhalt man aus bei-den Gleichungen die bekannte (in Statistikbuchern zu findende)Bayes’sche Formel

p(C|M)p(M) = p(M |C)p(C).

Einsetzen ergibt1

mp(M) = p(M |C)

1

m,

woraus

p(M |C) = p(M)

108 3 Klassische Chiffren

folgt, was zu beweisen war. 2

Da es beim One-Time-Pad keine Moglichkeit gibt, aus einem be-liebig langen Chiffretext den Klartext zu rekonstruieren, erfullt esDefinition 2.1, das heißt es ist uneingeschrankt sicher.

Probleme:

• echte Zufallsbitfolge auf Digitalrechner nicht realisierbar.

• Pseudozufallszahlenfolge reduziert Sicherheit.

• ⇒ Verwendung physikalischen Rauschens.

• Schlusseltausch sehr aufwandig.

• Beispiel: Heisser Draht Moskau – Washington.

3.7 One-Time-Pad fast ohne Schlusseltausch 109

3.7 One-Time-Pad fast ohne Schlusseltausch

New York Times [Kol01] behauptet:Schlusseltauschproblem beim One-Time-Pad gelost.

zitiert Michael Rabin u. Doktorand Yan Zong Ding

110 3 Klassische Chiffren

d2=98/(&gkhj$§x"n),.=,(

Alice Bob

Alice speichert Bits Bob speichert Bits

8:12 E (9:46:34.79)

9:46:34.79

9:50

3.7 One-Time-Pad fast ohne Schlusseltausch 111

schon 1997 publiziert von Ueli Maurer, Christian Cachin [CM97,Mau01]sowie 1999 von Rabin und Aumann [AR99]

Kapitel 4

Moderne Blockchiffren

Prolog

Gesamtzahl aller Chiffren mit Blocklange 64 Bit = 264!

Schlussellange = log2(264!)

113

Stirlingsche Formel:

ln(n!) ≈ (n + 1/2) lnn− n + 1/2 ln(2π)

also werden

log2(264!) =1

ln 2ln(264!) ≈ 1

ln 2

(264 +

1

2

)ln(264)

=1

ln 2

(264 +

1

2

)log2(264) ln 2 ≈ 264 · 64 = 270 ≈ 1021

Bit benotigt. Das sind etwa 1011 GByte.

109 Festplatten a je 100 GByte

zus. etwa 500 000 Tonnen schwer.

114 4 Moderne Blockchiffren

4.1 Data-Encryption-Standard DES

Claude Shannon (1949): Geheimtext ist durch Konfusion und Dif-fusion aus dem Klartext zu bilden.

Horst Feistel [Fei73], IBM:

LUCIFER: 64-Bit-Blocken und 128-Bit-Schlussel

Vorganger von DES.

Bruce Schneier in [Sch96]:

4.1 Data-Encryption-Standard DES 115

Inoffiziell bezeichnete die NSA den DES als einen ihrer großten Fehler. Hatte die Behorde ge-wusst, dass die Einzelheiten herausgegeben und Software-Implementierungen moglich wurden,hatte sie niemals zugestimmt.

116 4 Moderne Blockchiffren

Geschichte von DES

vor 1970: wurde Kryptographie im Wesentlichen zur militarischen Kommunikation genutzt.Durch das Aufkommen der elektronischen Datenverarbeitung entsteht Bedarf zum Ver-schlusseln von Daten und zur Authentifikation.

Mai 1973: das NIST (National Institute of Standards and Technology, USA) startet eineoffentliche Ausschreibung fur einen standardisierten kryptographischen Algo-rithmus.

August 1974: Mangels qualifizierter Einreichungen veroffentlicht das NIST eine zweite Aus-schreibung. Schließlich wird ein Algorithmus eingereicht.

17.3.1975: Im amerikanischen Bundesanzeiger werden Einzelheiten eines von IBM ent-wickelten und von der NSA (National Security Agency) gepruften Algorithmusveroffentlicht.

1.8.1975: Im amerikanischen Bundesanzeiger wird die Offentlichkeit zu Stellungnahmenaufgefordert, die dann im Folgenden die undurchschaubare Rolle der NSA kritisierten.

4.1 Data-Encryption-Standard DES 117

15.6.1977: Der Data-Encryption-Standard wird veroffentlicht. Unter anderem schreibtder Standard eine Zertifizierung von DES-Implementierungen durch das NIST vor.Außerdem muss DES alle funf Jahre uberpruft werden.

1981: ANSI (American National Standards Institute) erkennt DES als Standard an.

1982-1986: Basierend auf DES werden Standards fur die Verschlusselung von PINs, furdie verschiedensten Finanztransaktionen, zur Schlusselverteilung sowie fur Telekommu-nikation und FAX definiert.

1983: DES wird gepruft und ohne Probleme neu zertifiziert.

1987: Nach langen Debatten wird DES neu zertifiziert.

1993: DES wird erneut zertifiziert (mit der Bemerkung, dass es Ende der 90er Jahre uberholtsein wurde).

1994: Mit einem Rechenaufwand von 50 Tagen auf 12 HP-9735-Workstations wurde DESerstmals geknackt.

1997: NIST kundigt die Entwicklung des Advanced-Encryption-Standard (AES) an.

17.7.1998: Die Electronic Frontier Foundation (EFF) knackt DES mit einem Spe-zialchip in weniger als drei Tagen.

118 4 Moderne Blockchiffren

19.4.1999: 100 000 PCs von Distributed.net und der EFF Spezialrechner knackenDES in 22 Stunden, 15 Minuten.

4.1 Data-Encryption-Standard DES 119

Ubersicht

Eingangspermutation

Klartext

0 0

K 1

1 1

K 2

2 2

15 15

K 16

1616

Schlusspermutation

Chiffretext

f

f

f

L R

R

L R

L R

RL

L

120 4 Moderne Blockchiffren

Die DES-Permutationen

liest man die Tabellen zeilenweise von links oben nach rechts unten, so bedeutet eine Zahl zan Position i, dass das Bit z auf Bit i abgebildet wird

Einganspermutation:

58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 462 54 46 38 30 22 14 6 64 56 48 40 32 24 16 857 49 41 33 25 17 9 1 59 51 43 35 27 19 11 361 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

Schlusspermutation:

40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 3138 6 46 14 54 22 62 30 37 5 45 13 53 21 61 2936 4 44 12 52 20 60 28 35 3 43 11 51 19 59 2734 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

4.1 Data-Encryption-Standard DES 121

Kompressionspermutation:

14 17 11 24 1 5 3 28 15 6 21 1023 19 12 4 26 8 16 7 27 20 13 241 52 31 37 47 55 30 40 51 45 33 4844 49 39 56 34 53 46 42 50 36 29 32

Expansionspermutation:

32 1 2 3 4 54 5 6 7 8 98 9 10 11 12 13

12 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1

122 4 Moderne Blockchiffren

P-Box-Permutation:

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 102 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

Schlusselpermutation:

57 49 41 33 25 17 9 1 58 50 42 34 26 1810 2 59 51 43 35 27 19 11 3 60 52 44 3663 55 47 39 31 23 15 7 62 54 46 38 30 2214 6 61 53 45 37 29 21 13 5 28 20 12 4

Schlusselverschiebungen:

Runde 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Anzahl 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

4.1 Data-Encryption-Standard DES 123

f

48 Bit

32 Bit

32 Bit

32 Bit

28 Bit28 Bit

32 Bit

i

11

48 Bit

����

��������

��

Kompressionspermutation

Schlüssel

Schlüssel

Li iR

Shift Shift

Expansionspermutation

S−Box−Substitution

P−Box−Permutation

R

K

i−Li−

124 4 Moderne Blockchiffren

Die S-Box-Transformation

S−Box 1 S−Box 2 S−Box 3 S−Box 4 S−Box 5 S−Box 6 S−Box 7 S−Box 8

32 Bit Ausgabe

48 Bit Eingabe

4.1 Data-Encryption-Standard DES 125

Die S-Boxen von DES

...

S-Box 5:

2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 914 11 2 12 4 7 13 1 5 0 15 10 3 9 8 64 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14

11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3...

Beispiel 4.1 Angenommen, die Eingabe der S-Box 5 ist binar’110100’. Die Bits 1 und 6 ergeben den Zeilenindex 2, das heißtdie dritte Zeile in S-Box 5 und die restlichen Bits fuhren zu Spalte10, wo wir die Zahl 12 finden. Die Ausgabe der S-Box lautet also’1100’.

126 4 Moderne Blockchiffren

Die 16 Teilschlussel

gleicher Algorithmus wird zur Entschlusselung benutzt.

Die Teilschlussel werden in umgekehrter Reihenfolge angewendet.

Schwache Schlussel

Beispiel:

00000000000000000000000000001111111111111111111111111111111

alle Teilschlussel sind identisch!

4.1 Data-Encryption-Standard DES 127

Der Lawineneffekt

M1 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

M2 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001

0

5

10

15

20

25

30

35

0 2 4 6 8 10 12 14 16

Ham

min

gdis

tanz

(M1,

M2)

Runde

Zwei Blocke M1, M2.

0

5

10

15

20

25

30

35

0 2 4 6 8 10 12 14 16

Ham

min

gdis

tanz

(M1,

M2)

Runde

Mittelwert uber 1000 zufallig erzeugte Klar-textblocke M1, M2.

128 4 Moderne Blockchiffren

Sicherheit und Nichtlinearitat

Eine Funktion f heißt linear, wenn fur alle Argumente x und y gilt

f (x⊕ y) = f (x)⊕ f (y),

• Jede lineare Funktion ist ahnlichkeitserhaltend

• Kleine Anderungen im Argument bewirken kleine Anderungenim Ergebnis.

4.1 Data-Encryption-Standard DES 129

Sicherheit und Nichtlinearitat

Fur M4 = M3 ⊕M2 gilt

f (M4) = f (M3 ⊕M2) = f (M3)⊕ f (M2).

Aus Kenntnis der Chiffretexte f (M3) und f (M2) lasst sich ganzeinfach der Chiffretext f (M4) ermitteln.

130 4 Moderne Blockchiffren

Sicherheit und Nichtlinearitat

• Lineare Abbildung: 64× 64-Matrix mit Elementen aus {0, 1}• 64×64-Matrix ist eindeutig bestimmt durch 64 linear unabhangi-

ge Klartextblocke und deren Chiffretexte.

• siehe Aufgabe ?? (Hill-Chiffre)

Differentielle Kryptanalyse:

247 gewahlte Klartextblocke und deren Chiffretext werden fur einenKnown-Plaintext-Angriff benotigt!

4.1 Data-Encryption-Standard DES 131

Sicherheit und Nichtlinearitat

Alle DES Permutationen sind linear!

Die Permutation

3 1 4 5 2

wird dargestellt durch die Matrix0 0 1 0 01 0 0 0 00 0 0 1 00 0 0 0 10 1 0 0 0

132 4 Moderne Blockchiffren

Sicherheit und Geschwindigkeit

• 1996, auf HP 9000, 125 MHz: 196 000 DES-Blocke proSekunde

• Software-Implementierungen heute: ≥ 106 Blocke pro Sekunde.

• Bei Schlusselraum der Große 256 ≈ 7.2 · 1016 waren etwa 1 142Jahre fur einen Brute-Force-Angriff notig.

4.1 Data-Encryption-Standard DES 133

Sicherheit und Geschwindigkeit

Spezialrechner der EFF:

• Wert: 250 000 US$,

• Taktfrequenz: 40 MHz

• 9.22 · 1010 Blocke pro Sekunde.

RSA-DES-Challenge-III:

• 100 000 weltweit vernetzte PCs von Distributed.net und der Spe-zialrechner [EFF99] knacken DES in 22 Stunden.

134 4 Moderne Blockchiffren

• Rechenleistung: 2.45 · 1011 Blocke pro Sekunde.

4.1 Data-Encryption-Standard DES 135

Triple-DES

C = EK1(DK2(EK1(M))).

Geschwindigkeiten von Hardware-Implementierungen:> hundert Me-gabit pro Sekunde.

136 4 Moderne Blockchiffren

4.2 Advanced-Encryption-Standard AES

Anforderungen:

Formal muss AES eine symmetrische Blockchiffre sein, welche aufeiner Blockgroße von 128 Bit bei Schlussellangen von 128, 192und 256 Bit arbeitet.

Sicherheit gegen Angriffe aller Art und mathematische Rechtfer-tigung der Sicherheit.

Einfachheit des Designs.

Flexibilitat: AES soll auch andere Blockgroßen und Schlussel-

4.2 Advanced-Encryption-Standard AES 137

langen unterstutzen.

Effizienz: AES soll effizienter als Triple-DES sein.

Offenheit: AES soll offentlich, lizenzfrei, weltweit verfugbar sein.

Implementierung in Hardware und Software soll einfach sein.

Wettbewerb zur Ermittlung des besten Algorithmus.

138 4 Moderne Blockchiffren

Geschichte von AES

4.2 Advanced-Encryption-Standard AES 139

2.1.1997: Start der AES Entwicklungsanstrengungen durch NIST.

12.9.1997: “call for algorithms” fur AES.

20.8.1998: Auf AES Candidate Conference 15 AES-Kandidaten. NIST bittet um Kommen-tare.

15.4.1999: Kandidaten fur das Finale: MARS, RC6, Rijndael, Serpent, Twofish. NIST bittetoffentlich um Kommentare.

13.-14.4.2000: Dritte AES Candidate Conference (AES3) mit offentlichen Diskussionen derfunf Algorithmen.

15.5.2000: Abgabeschluss fur offentliche Kommentare.

2.10.2000: Bekanntgabe des Gewinners Rijndael von J. Daemen und V. Rijmen.

bis Feb. 2001: Offentliche Kommentare zu AES erwunscht.

Ende 2001: AES soll “federal information processing standard” (FIPS) werden.

140 4 Moderne Blockchiffren

AES-Wettbewerb

2. Oktober 2000, Sieger des Wettbewerbs:

• Rijndael (Algorithmus)

• entwickelt von Joan Daemen und Vincent Rijmen in Bel-gien [DR99].

Laut NIST erfullten alle funf Kandidaten der Endrunde die gestelltenSicherheitsanforderungen.

4.2 Advanced-Encryption-Standard AES 141

Die Blockchiffre Rijndael

Zahl der Runden von Rijndael, abhangig von Blockgroße b undSchlussellange k:

r b = 128 b = 192 b = 256

k = 128 10 12 14k = 192 12 12 14k = 256 14 14 14

142 4 Moderne Blockchiffren

Zustand (li.) und Schlussel (re.) in Rijndael

a0,0 a0,1 a0,2 a0,3

a1,0 a1,1 a1,2 a1,3

a2,0 a2,1 a2,2 a2,3

a3,0 a3,1 a3,2 a3,3

k0,0 k0,1 k0,2 k0,3 k0,4 k0,5

k1,0 k1,1 k1,2 k1,3 k1,4 k1,5

k2,0 k2,1 k2,2 k2,3 k2,4 k2,5

k3,0 k3,1 k3,2 k3,3 k3,4 k3,5

4.2 Advanced-Encryption-Standard AES 143

Runde 2

Runde 1

S

S

K

K

K

2

1

0

0

1

S

K

K11

11

12

Runde 12

Chiffretextblock (128 Bits)

Klartextblock (128 Bits)

Schlüsselexpansion

Schlüssel (192 Bits)

S i

K i

i−1S

Runde i

ByteSub

ShiftRow

MixColumn

144 4 Moderne Blockchiffren

Die ByteSub-Transformation

• Stellt die nichtlineare S-Box von AES dar.

• Wird auf jedes Byte des Zustands angewendet.

Ablauf:

1. Berechnen der multiplikativen Inversen in GF (28).

4.2 Advanced-Encryption-Standard AES 145

2. affine Transformation

y0

y1

y2

y3

y4

y5

y6

y7

=

1 0 0 0 1 1 1 11 1 0 0 0 1 1 11 1 1 0 0 0 1 11 1 1 1 0 0 0 11 1 1 1 1 0 0 00 1 1 1 1 1 0 00 0 1 1 1 1 1 00 0 0 1 1 1 1 1

·

x0

x1

x2

x3

x4

x5

x6

x7

+

11000110

.

Umkehrung von ByteSub:inverse affine Transformation gefolgt von der multiplikativen Inver-sen in GF (28).

146 4 Moderne Blockchiffren

Die ShiftRow-Transformation

4.2 Advanced-Encryption-Standard AES 147

Linksverschiebungen von ShiftRow

b = 128 b = 192 b = 256

c1 1 1 1c2 2 2 3c3 3 3 4

ShiftRow verschiebt die Zeilen 1 bis 3 der Zustandsmatrix zyklischnach links.

Zeile 0 wird nicht verandert.

Zeile 1 wird um c1 Bytes, Zeile 2 um c2 Bytes und Zeile 3 um c3

Bytes verschoben.

Umkehrung von ShiftRow:

148 4 Moderne Blockchiffren

Ausfuhren der zyklischen Verschiebungen nach rechts.

4.2 Advanced-Encryption-Standard AES 149

Die MixColumn-Transformation

bildet jede Spalte (a0,i, a1,i, a2,i, a3,i) des Zustands ab durch02 03 01 0101 02 03 0101 01 02 0303 01 01 02

a0,i

a1,i

a2,i

a3,i

.

Die Matrixelemente sind Bytes in hexadezimaler Darstellung.

Jedes Byte entspricht einem Polynom in GF (28)!

Die MixColumn-Transformation ist invertierbar (siehe Abschnitt 13.5.1bzw. [DR99]).

150 4 Moderne Blockchiffren

Die Schlusselexpansion (k ≤ 192)

Erzeugung der Rundenschlussel:

192-Bit Chiffrierschlussel . . .W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 . . .128-Bit-Schl. Runde 1 128-Bit-Schl. Runde 2 . . .

arbeitet auf 32-Bit-Worten

Bei Blocklange 128 Bit und zwolf Runden werden 128 · 13 = 1 664Schlusselbits benotigt. Fur Schlussellangen bis 192 Bit wird folgen-des Verfahren verwendet.

Bits 1 ... k = Schlussel.

4.2 Advanced-Encryption-Standard AES 151

DannWi = Wi−1 ⊕Wi−k/32

Fur i = l · k: vor dem XOR wird nichtlineare Substitution (S-Box)auf Wi−1 angewendet (siehe [DR99]).

152 4 Moderne Blockchiffren

Die inverse Chiffre

Ersetze jede Transformation durch ihre Inverse und kehre derenReihenfolge um!

4.2 Advanced-Encryption-Standard AES 153

Geschwindigkeit

AES ist

• etwa 3 mal schneller als DES.

• etwa 9 mal schneller als Triple-DES.

bei Schlussellange 192 Bit, Blocklange 128 Bit auf

• 200-MHz-Pentium-Pro: 22 bis 59 MBit/sec.

• 1000-MHz-Rechner: 200 MBit/sec.

Rijndael ist einfach implementierbar

• auf Parallelrechnern

154 4 Moderne Blockchiffren

• in Hardware (> 1 Gbit/Sec.)

• auf 8-Bit-Prozessoren von Chipkarten (≈ 1 KB Speicherplatz)

4.2 Advanced-Encryption-Standard AES 155

Sicherheit

• Sicherheit wurde theoretisch untersucht.

• Input-Output-Korrelationen sehr schwach

• Rijndael ist gegen differentielle Kryptanalyse und gegen li-neare Kryptanalyse resistent.

• Alle Angriffe der Konkurrenten waren erfolglos.

Die Benutzer konnen in sehr hohem Maße auf die Sicherheit vonAES vertrauen.

156 4 Moderne Blockchiffren

Andere Funktionalitaten

Rijndael laßt sich einsetzen als

• Message-Authentication-Code (MAC, Abschnitt 6.7)

• Einweg-Hash-Funktion (Abschnitt ??)

• Stromchiffre

• Pseudozufallszahlengenerator

4.3 Betriebsmodi von Blockchiffren 157

4.3 Betriebsmodi von Blockchiffren

158 4 Moderne Blockchiffren

ECB-Modus (electronic codebook):

• Monoalphabetische Chiffre

• Verschlusseln eines Blocks nach dem anderen mit dem gleichenSchlussel

• Es ist einfach, Wiederholungen von Blocken im Chiffretext zufinden

• Angreifer kann gezielt bestimmte Blocke ersetzen, loschen oderneue einzufugen.

4.3 Betriebsmodi von Blockchiffren 159

CBC-Modus (cipher block chaining):

C0 = EK(M0)

C1 = EK(C0 ⊕M1)...

Ci = EK(Ci−1 ⊕Mi)...

EK EK EK EK

M 0 M M M1 2 3

.....

.....

0 1 2 3.....C C CC

160 4 Moderne Blockchiffren

Initialisierungsvektor (IV):

• Erster Block wird zufallig gefullt.

• Gleiche Klartexte werden unterschiedlich verschlusselt (im CBC-Modus).

• wird in vielen Anwendungen eingesetzt.

Padding: Auffullen des letzten Blocks mit Zufallsbits.

4.3 Betriebsmodi von Blockchiffren 161

Andere Blockchiffren

Nane Entwickler Jahr Bemerkungen

IDEA James Massey(ETH) Zurich

1990 Wird in PGP eingesett und gilt als sehr sicher

Blowfish Bruce Schneier(Counterpane)

1994 Feistel-Chiffre S-Boxen sind schlusselabhangig. Ei-ner der sichersten Blockalgorithmen

Twofish Bruce Schneier(Counterpane)

1998 Feistel-Chiffre mit bijektiven schlusselabhangigen8x8-Bit-S-Boxen, GF (28). AES-Kandidat

RC2 Ron Rivest (MIT,RSA-Security)

1992 Wird eingesetzt in S/MIME mit Schlussellangen von40 bis 128 Bit

RC5 Ron Rivest 1995 var. Blockgroßen, Schlussel, Rundenzahlen

RC6 Ron Rivest 1998 AES-Kandidat

Serpent R. Anderson, E.Biham, L. Knudsen

1998 Feistel-Netz mit 32 Runden, konservatives Design,Platz 2 beim AES-Wettbewerb

MARS Don Coppersmith(IBM)

1999 Typ-3-Feistel-Netz, AES-Kandidat

162 4 Moderne Blockchiffren

Kapitel 5

Public-Key-Kryptographie

• Internet-Zeitalter

• Schlusseltauschproblem

• Mitte der 70er Jahre:

• Diffie-Hellmann-Algorithmus

• RSA-Algorithmus

164 5 Public-Key-Kryptographie

• ElGamal

5.1 Merkles Ratsel 165

5.1 Merkles Ratsel

Ralph Merkle, Student, Univ. of California, Berkeley, 1974:

Losung fur das Schlusseltauschproblem

vor Erfindung der Public-Key-Kryptographie

166 5 Public-Key-Kryptographie

Alice unsicherer Kanal Boberzeugt zufallig

Nummern (x1, . . . , xn)Schlussel (y1, . . . , yn)Schlussel (k1, . . . , kn)

wahlt j ∈ {1, . . . , n} ←− Ratsel ←−

berechnet

Ratsel =

Ek1(x1, y1)...

Ekn(xn, yn)

↓ ↓

knackt kj mitBrute-Force-Angriff

↓ speichert DB =

(x1, y1)...

(xn, yn)

(xj, yj) = Dkj(Ratselj)

↓ ↓chiffriert C = Eyj(M) −→ (C, xj) −→ sucht xj in DB

↓dechiffriert M = Dyj(C)

5.1 Merkles Ratsel 167

Warum ist dieses Verfahren sicher?

• Angreiferin Eve muß alle Ratsel losen, bis sie die Nummer xjfindet.

• Schlusselraum mit genau n Schlusseln, die bekannt sein durfen.

• Bob und Alice konnen ca. 10 000 Schlussel pro Sekunde testen.

• Sei n = 220.

• Bob chiffriert in zwei Minuten 220 = 1 000 000 Paare (xi, yi).

• Alice kann in zwei Minuten alle 220 Schlussel ki testen.

• Eve muss fur 220/2 Nachrichten je 220 Schlussel testen.

• Aufwand: ca. 636 Tage

168 5 Public-Key-Kryptographie

Der Aufwand von Alice und Bob wachst linearmit n.Der Aufwand von Eve wachst quadratisch mitn.

5.2 Der RSA-Algorithmus 169

5.2 Der RSA-Algorithmus

Ron Rivest, Adi Shamir, Leonard Adleman, 1978

Der RSA-Algorithmus war patentiert bis September 2000.

• Rivest arbeitete neuen Versionen des Algorithmus,

• Shamir durch Angriffe und mathematische Analysen die Schwachendes Algorithums auf.

• Adleman wirkte auf beiden Seiten mit.

170 5 Public-Key-Kryptographie

Der Algorithmus

(zuerst die Anwendung, dann die Schlusselerzeugung)

Definition 5.1 (Anwendung von RSA)

Verschlusseln: Die Nachricht M ∈ Zn wird codiert durch

E(M) = M e mod n. (5.1)

Entschlusseln: Ein Chiffretext C ∈ Zn wird decodiert durch

D(C) = Cd mod n. (5.2)

5.2 Der RSA-Algorithmus 171

Definition 5.2 (Schlusselerzeugung)

1. Wahle zufallig zwei große Primzahlen p und q. Die Lange derZahlen sollte mind. 512 Bit gewahlt werden.

2. Berechne n = pq (n hat dann eine Lange 1024 Bit.).

3. Wahle eine kleine ungerade naturliche Zahl e, die zuϕ(n) = (p− 1)(q − 1) relativ prim ist, d. h. es giltggT(e, ϕ(n)) = 1.

4. Berechne d als Losung der Gleichung ed = 1 mod ϕ(n).Aufgrund von Satz 13.8 existiert d und ist eindeutigbestimmt. d kann berechnet werden mit dem erweitertenEuklidischen Algorithmus.

5. Gib das Paar P = (e, n) bekannt als offentlichenSchlussel.

6. Halte das Paar S = (d, n) geheim als geheimen Schlussel.

172 5 Public-Key-Kryptographie

5.2 Der RSA-Algorithmus 173

Beispiel 5.1 Wir wahlen p = 61 und q = 97 und erhalten

n = pq = 5917,

ϕ(n) = (p− 1)(q − 1) = 60 · 96 = 5760.

wahle e = 47 (teilerfremd zu 5760) und berechne mit erw. Euklid:

d = 47−1 mod 5760 = 1103.

Verschlusselung der Nachricht M = 348 613 407 195 771 184

34847 mod 5917 = 4479.

Chiffretext: C = 4479 1333 3931 2523 3725 1038Entschlusseln des ersten Blocks:

44791103 mod 5917 = 348.

174 5 Public-Key-Kryptographie

Satz 5.1 (Korrektheit des RSA-Algorithmus) Der RSA-Algorithmus ist korrekt, d.h. ∀M ∈ Zn

D(E(M)) = E(D(M)) = M.

Beweis: Aus Gln. 5.1 und 5.2 folgt

D(E(M)) = E(D(M)) = M ed mod n.

Zu zeigen: M ed ≡ M mod n Da e und d multiplikative InverseModulo ϕ(n) = (p− 1)(q − 1) sind, gibt es ein k ∈ N mit

ed = 1 + k(p− 1)(q − 1).

5.2 Der RSA-Algorithmus 175

Fur M 6≡ 0 mod p gilt

M ed ≡ M 1+k(p−1)(q−1) mod p = M(M p−1)k(q−1) mod p

= M · 1k(q−1) mod p = M mod p,

wobei wir in der dritten Gleichung den Satz 13.5 (Fermatschen) be-nutzt haben. Analog berechnet man M ed ≡ M mod q. Folgerungdes Chinesischen Restsatzes: Fur Primzahlen p und q gilt:

x ≡ a mod p ∧ x ≡ a mod q ⇔ x ≡ a mod pq.

Damit folgt sofort M ed ≡M mod pq = M mod n. 2

176 5 Public-Key-Kryptographie

Sicherheit von RSA

Angriff:Zerlegung von n in ihre Primfaktoren p und q

Einfacher Algorithmus:Sieb des Eratosthenes: Zerlegung durch Probieren

Rechenzeit T (n) = c√n.

b-Bit-Zahl n: n ≈ 2b

T (b) ≤ c ·√n ≈ c ·

√2b = c ·

√2b,

besser: Zahlkorpersieb (number field sieve)

T (b) = e(1.70+O(1))·b1/3·(ln b−0.366)2/3. (5.3)

5.2 Der RSA-Algorithmus 177

TABLE 1: Historical Factoring Records [Sil00]Year Size Number Who Method Hardware

1970 39 2128 + 1 Brillhart/Morrison CFRAC IBM Mainframe

1978 45 2223 - 1 Wunderlich CFRAC IBM Mainframe

1981 47 3225 - 1 Gerver QS HP-3000

1982 51 591 - 1 Wagstaff CFRAC IBM Mainframe

1983 63 1193 + 1 Davis/Holdridge QS Cray

1984 71 1071 - 1 Davis/Holdridge QS Cray

1986 87 5128 + 1 Silverman MPQS LAN Sun-3?s

1987 90 5160 + 1 Silverman MPQS LAN Sun-3?s

1988 100 11104 + 1 Internet MPQS Distributed

1990 111 2484 + 1 Lenstra/Manasse MPQS Distributed

1991 116 10142 + 1 Lenstra/Manasse MPQS Distributed

1992 129 RSA-129 Atkins MPQS Distributed

1996 130 RSA-130 Montgomery GNFS Distributed

1998 140 RSA-140 Montgomery GNFS Distributed

1999 155 RSA-512 Montgomery GNFS Distributed

2005 174 RSA-576 Bahr, Boehm et.al. GNFS 30 2.2GHz-Opteron-CPU-Jahre

2009 232 RSA-768 Kleinjung et.al. GNFS 2000 2.2GHz-Opteron-CPU-Jahre

178 5 Public-Key-Kryptographie

Entwicklung der Faktorisierungaus [Sil00]

5.2 Der RSA-Algorithmus 179

Silverman [Sil00]:One thing surprising about this data is that it is VERY linear. A simple least-squares fit

yields the equation: Size = 4.23 * (Year - 1970) + 23. The correlation coefficient is about

.955. This is somewhat puzzling. The algorithms are sub-exponential. That is, their run time

grows more slowly than an exponential function. Moore’s law is strictly exponential. It would

seem, therefore, based on theoretical grounds that this curve should be growing FASTER

than linearly. A possible explanation for this is that even though records continue to be

established, that over time the level of effort applied to each effort has dropped. Breaking

RSA-129 required a large effort involving many thousands of machines widely distributed over

the Internet. Compared with that, breaking RSA-512 was done by a relatively small group of

people using far fewer (albeit much faster) machines. If we solve for when a 1024-bit number

may be expected to be factored, based solely on extrapolating this historical data, we get an

answer of around 2037.

180 5 Public-Key-Kryptographie

Folgerungen

• 1024-Bit-Modul musste etwa im Jahr 2037 faktorisiert sein.

• Die Firma RSA-Security empfiehlt (im Jahr 2010) eine Mindest-schlussellange von 1369 Bit.

• Empfehlung des Autors (Jahr 2001): 1024 Bit

5.2 Der RSA-Algorithmus 181

Sicherheit von RSA

• Man hat bis heute aber noch nicht bewiesen, dass die Sicherheitvon RSA auf dem Problem der Faktorisierung großer Zahlenberuht.

• Die Faktorisierung von großen Primzahlen ist ein sehr schwie-riges Problem. Die Experten glauben, dass es kein effizientes(polynomielles) Verfahren zur Faktorisierung gibt. Bewiesen istdies jedoch nicht.

• Man weiss auch nicht, ob die Faktorisierung in der Klasse Poder in NP\ P liegt (Vorausgesetzt dass P 6= NP).

182 5 Public-Key-Kryptographie

Uber die Sicherheit von RSA in 50 Jahren kann daher heute niemandeine definitive Aussage machen.

5.2 Der RSA-Algorithmus 183

Effiziente Primzahltests

Der Primzahltest von Miller und Rabin basiert auf folgendem Satz:

Satz 5.2 Sei n eine erlaubte Zahl, d. h. eine ungerade Zahl furdie auch n−1

2 ungerade ist. Dann gilt:

1. n prim ⇒ an−1

2 = ±1 fur alle a ∈ Zn\{0}2. n nicht prim ⇒ a

n−12 = ±1 fur hochstens die Halfte der a ∈ Zn\{0}.

Darauf basiert folgender Test [Str96]:

Statistischer Primzahltest fur erlaubte Zahlen n:

184 5 Public-Key-Kryptographie

1. Wahle Zufallszahlen a1, . . . , ak aus {1, . . . , n− 1}

2. Berechne an−1

2i in Zn

3. Falls alle an−1

2i = ±1, entscheide: n prim

sonst entscheide: n nicht prim.

Der Test ist korrekt falls n prim.

Ist jedoch n nicht prim, so kann es sein, dass der Test antwortet:prim.

Fehlerwahrscheinlichkeit ≤ (12)k

5.2 Der RSA-Algorithmus 185

Gibt es genug Primzahlen?

Satz 5.3 Die Zahl π(n) der Primzahlen unterhalb n ist fur großen naherungsweise durch

π(n) ≈ n/ lnn

gegeben.

Damit lasst sich die Zahl der Primzahlen mit einer Lange bis zu 512Bit berechnen:

π(2512) ≈ 2512

512 ln 2≈ 1.34 · 10154

354.9≈ 3.8 · 10151

186 5 Public-Key-Kryptographie

• Eine Festplatte mit diesen Zahlen wurde aufgrund ihrer Massezu einem schwarzen Loch kollabieren (siehe [Sch96]).

• Von 355 Zufallszahlen der Lange 512 Bit ist im Mittel etwa eineprim.

5.2 Der RSA-Algorithmus 187

Effizienz und Implementierung von RSA

Me mod n

1024-Bit-Zahl M , 1024-Bit-Exponent e!

Beispiel 5.2

a19 = a24+2+1 = a2·2·2·2 · a2 · a = (((a2)2)2)2 · a2 · a.

188 5 Public-Key-Kryptographie

Berechnung von ab mod n:

Modular-Exponent(a, b, n)d := 1for i := k downto 0 do

d := (d · d) mod nif bi = 1 thend := (d · a) mod n

return d

5.2 Der RSA-Algorithmus 189

Beispiel 5.3 Berechnung von a19:

19 = 1 0 0 1 1

d = 1 · 1 = 1 i = 4d = 1 · a = a

d = a · a = a2 i = 3

d = a2 · a2 = a4 i = 2

d = a4 · a4 = a8 i = 1d = a8 · a = a9

d = a9 · a9 = a18 i = 0d = a18 · a = a19

190 5 Public-Key-Kryptographie

Komplexitat: O(k3) Bit-Operationen

5.2 Der RSA-Algorithmus 191

Laufzeiten

• Software-Implementierungen von RSA sind etwa 100-mal lang-samer als DES.

• Hardware-Implementierungen von RSA sind etwa 1000-mal lang-samer als DES.

• Auf SUN SPARC II mit 512 Bit Modul sind beim Verschlusseln17 KBit/sec. und beim Entschlusseln 3.2 KBit/sec. moglich.

• In Planung sind Chips mit 1 Megabit/sec.

192 5 Public-Key-Kryptographie

Schnellere Implementierung von RSA

[MvOV97, KR01].

Geheimer Schlussel wird geandert von (d, n) in (d, n, p, q, p)

mit d, n, p, q aus Definition 5.2 und p = p−1 mod q sowie p < q.

Der offentliche Schlussel bleibt unverandert (e, n).

Signatur eines Dokuments M

Die Signatur S wird erzeugt durch:

5.2 Der RSA-Algorithmus 193

S1 = Md mod p (5.4)

S2 = Md mod q (5.5)

h = p · (S2 − S1) mod q (5.6)

S = (S1 + p · h) mod n (5.7)

Satz 5.4 Mit e, d, n, p, q wie in Definition 5.2 und p = p−1 modq gilt S = S1 + p · h = Md mod n, d. h. das geanderte Verfahrenimplementiert RSA korrekt.

Beweis: Wir zeigen, dass S1 +p ·h ≡Md mod p und S1 +p ·h ≡Md mod q und wenden dann den chinesischen Restsatz an. Es gilt

(S1 + p · h) mod p = (S1 + p[ p · (S2 − S1) mod q]) mod p

= S1 mod p = Md mod p

194 5 Public-Key-Kryptographie

(S1 + p · h) mod q = (S1 + p[ p · (S2 − S1) mod q]) mod q

= S1 mod q + (pp) mod q · (S2 − S1) mod q

= S1 mod q + S2 mod q − S1 mod q

= S2 mod q = Md mod q

Mit dem chinesischen Restsatz folgt S1 + p · h ≡ Md mod p q =Md mod n. 2

• Die Rechenzeit verringert sich bei diesem Verfahren etwa umden Faktor vier.

• Sicherheitslucke im OpenPGP-Standard, basierend auf dieserOptimierung (siehe Abschnitt 6.4).

5.2 Der RSA-Algorithmus 195

Angriffe gegen RSA

196 5 Public-Key-Kryptographie

Angriff ErkenntnisChosen-Ciphertext-Angriff gegenRSA-Signatur.

1. Niemals beliebige. 2. Vor demSignieren immer eine Einweg-Hash-Funktion anwenden (Ab-schnitt 6.3).

Angriff gegen RSA mit gemeinsa-mem Modul n.

Eine Benutzergruppe darf niemalsden gleichen Wert fur n wahlen.

Bei kleinem Verschlusselungsex-ponenten e und kurzen Nachrich-ten.

Nachrichten vor der Verschlusse-lung auffullen.

Angriff gegen RSA mit kleinemEntschlusselungsexponenten d.

Großes d wahlen. Dies ist bei klei-nem e automatisch der Fall.

Angriff moglich, wenn zuerst ver-schlusselt und dann signiert wur-de.

Immer zuerst signieren und dannverschlusseln.

5.3 Angriffe gegen Public-Key-Verfahren 197

5.3 Angriffe gegen Public-Key-Verfahren

• Chosen-Plaintext-Angriff

• Brute-Force-Angriff auf kurze Nachrichten

• Angriffe aufgrund von Seiteneffekten

198 5 Public-Key-Kryptographie

Angriffe aufgrund von Seiteneffekten

• Angriff neuer Dimension gegen Kryptosysteme

• 1995 entdeckt von Paul Kocher

• timing-attack

• simple power analysis

• differential power analysis DPA

5.3 Angriffe gegen Public-Key-Verfahren 199

Rechenzeiten sind vom Schlussel abhangig

Modular-Exponent(a, b, n)d := 1for i := k downto 0 do

d := (d · d) mod nif bi = 1 thend := (d · a) mod n

return d

200 5 Public-Key-Kryptographie

Abwehrmaßnahmen

• Modular-Exponent so verandern, dass die Laufzeit kon-stant wird.

• An Modular-Exponent kurze Warteschleife mit zufalligerDauer anhangen.

• Blenden des Gegners:

1. Erzeuge eine Zufallszahl r zwischen 0 und n− 1, die teiler-fremd zum Modul n ist..

2. Berechne c′ = cre mod n, wobei e der offentliche Exponentist.

3. Berechne m′ = (c′)d mod n mit Modular-Exponent.

5.3 Angriffe gegen Public-Key-Verfahren 201

4. Berechne m = m′r−1 mod n (Ubung ??).

Laufzeit fur Dechiffrierung unabhangig vom Chiffretext c.

Angriffe aufgrund von Seiteneffekten sind prinzipiell bei allen Kryp-tosystemen moglich.

202 5 Public-Key-Kryptographie

5.4 Schlusseltausch

5.4 Schlusseltausch 203

Schlusseltausch mit symmetrischen Verfahren

E (k)kB

E (k)kB

E (k)kA

Alice

Trent

Bob

Bitte um

Sitzungsschlüssel

Abbildung 5.1: Schlusseltausch via Trustcenter

204 5 Public-Key-Kryptographie

Man-in-the-Middle-Angriff

BobAlice Mallory

P

PP

PA M

M B

Bei der Verwendung eines fremden offentlichen Schlussels mussmoglichst immer die Authentizitat des Schlussels gepruft bzw. si-chergestellt werden.

5.4 Schlusseltausch 205

Das Interlock-Protokoll

1. Alice sendet Bob ihren offentlichen Schlussel.

2. Bob sendet Alice seinen offentlichen Schlussel.

3. Alice chiffriert ihre Nachricht mit Bobs offentlichem Schlusselund sendet die Halfte davon an Bob.

4. Bob chiffriert seine Nachricht mit Alices offentlichem Schlusselund sendet die Halfte davon an Alice.

5. Alice schickt Bob die zweite Halfte ihrer verschlusselten Nach-richt.

6. Bob schickt Alice die zweite Halfte seiner verschlusselten Nach-richt.

206 5 Public-Key-Kryptographie

7. Bob fugt die beiden Halften von Alices Nachricht zusammenund dechiffriert sie mit seinem geheimen Schlussel.

8. Alice fugt die beiden Halften von Bobs Nachricht zusammenund dechiffriert sie mit ihrem geheimen Schlussel.

5.4 Schlusseltausch 207

Hybride Verschlusselung

Alice unsicherer BobKanal

wahlt zufalligenSitzungsschlussel k

symmetrisch:

verschlusselt C = Ek(M)public key:

verschlusselt Ck = EPB(k)(Ck ,C )−−−−−−−→ entschlusselt k = DSB(Ck)

entschlusselt M = Dk(C)

208 5 Public-Key-Kryptographie

5.4 Schlusseltausch 209

Perfect Forward Secrecy1

• NSA kann C und Ck speichern.

• Evtl. nach Jahren:

– Geheimer Schlussel bekannt (z.B. social Engineering), oder

– offentlicher Schlussel geknackt, oder

– RSA geknackt

• Abhilfe: Perfect Forward Secrecy = Diffie Hellman Algorithmus

1Jurgen Schmidt, Verpfuschte Verschlusselung, c’t Heft 18, 2013.

210 5 Public-Key-Kryptographie

5.5 Der Diffie-Hellmann-Algorithmus

Whitfield Diffie, Martin Hellmann, 1976:

• Austausch eines geheimen Sitzungsschlussels k

• uber unsicheren Kanal

5.5 Der Diffie-Hellmann-Algorithmus 211

1. Alice und Bob einigen sich auf große Primzahl n und eine Zahlg. Diese beiden Zahlen durfen offentlich bekannt sein.

2. Alice wahlt große Zufallszahl x und sendet X = gx mod nan Bob. Offentlicher Schlussel: (X, g, n), geheimer Schlussel:(x, g, n).

3. Bob wahlt große Zufallszahl y und sendet Y = gy mod n an Ali-ce. Offentlicher Schlussel: (Y, g, n), geheimer Schlussel: (y, g, n).

4. Alice berechnet Sitzungsschlussel k = Y x mod n.

5. Bob berechnet Sitzungsschlussel k′ = Xy mod n

Es gilt k = k′, denn

k = Y x mod n = gxy mod n = Xy mod n = k′.

212 5 Public-Key-Kryptographie

Warum ist dieses Verfahren sicher?

Kann Eve k berechnen?

Kann Eve x und y berechnen?

Auflosen der Gleichungen

Y = gy mod n und X = gx mod n

nach x bzw. y !?

x = logX/ log g.

Problem des diskreten Logarithmus.

5.6 Algorithmen mit Elliptischen Kurven 213

5.6 Algorithmen mit Elliptischen Kurven

214 5 Public-Key-Kryptographie

Algorithmen mit Elliptischen Kurven

-1 1 2 3 4 5

-6

-4

-2

2

4

6

Dieelliptische Kurve zu y2 = x3 − 4x2 + 10.

5.6 Algorithmen mit Elliptischen Kurven 215

Die Losungsmenge einer Gleichung der Form

y2 = ax3 + bx2 + cx + d

wird Elliptische Kurve genannt.

Seien A = (ax, ay) und B = (bx, by) Punkte mit ax 6= bx auf derelliptischen Kurve.

Diese zwei Punkte definieren eine Gerade, die einen dritten Schnitt-punkt C mit der Kurve besitzt.

man definiert:

A + B = −C = (cx,−cy)

Nimmt man nun noch einen “Punkt im Unendlichen” als Nullele-ment hinzu, so giltA+0 = A, oderA−A = 0, denn eine senkrechteGerade hat ihren dritten Schnittpunkt im Unendlichen.

216 5 Public-Key-Kryptographie

Man kann auch multiplizieren, denn zum Beispiel ist

4A = A + A + A + A. (5.8)

Nennt man die Gruppenoperation nicht “+” sondern “·”, so habenwir eine multiplikative Gruppe definiert und Gleichung 5.8 wird zu

A4 = A · A · A · A.

• Wechsel zu endlichem Korper!

• Betrachte elliptische Kurven uber endlichem Korper, definieredie Multiplikation wie oben und rechne modulo n.

• RSA-Algorithmus, Diffie-Hellmann-Algorithmus, etc. konnen inder neuen Arithmetik implementiert

• Galoiskorper GF (2n), denn die Arithmetik kann sehr effizientimplementiert werden.

5.6 Algorithmen mit Elliptischen Kurven 217

• RSA mit elliptischen Kurven ist bei 160-Bit-Schlussel so sicherwie normalesRSA 1024-Bit-Schlussel

Literatur: [Sti95, Men93, Kob94].

Kapitel 6

Authentifikation und digitale Signatur

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 219

6.1 Einwegfunktionen und Einweg-Hash-Funktionen

Definition 6.1 Einwegfunktionen sind Funktionen f , die sichleicht berechnen lassen, deren Umkehrung f−1 jedoch nicht odernur sehr schwer (d. h. mit nicht vertretbarem Aufwand) zu berech-nen ist, insbesondere, wenn die Funktion f offentlich bekannt ist.

• Differenzieren ist berechenbar, d.h. man kann ein Programmschreiben fur diese Aufgabe.

• Das Finden einer Stammfunktion nicht berechenbar.

220 6 Authentifikation und digitale Signatur

• ⇒ Differenzieren ist eine Einwegfunktion.

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 221

Beispiel 6.1 Durch stures Ausmultiplizieren kann man zeigen, dassgilt

(x− 1)(x− 2)(x− 3)(x− 4)(x− 5)(x− 6)(x− 7)(x− 8)(x− 9)(x− 10)(x− 11) =

x11 − 66x10 + 1925x9 − 32670x8 + 357423x7 − 2637558x6 + 13339535x5

−45995730x4 + 105258076x3 − 150917976x2 + 120543840x− 39916800

Umkehrung sehr schwierig!

Schon fur Polynome funften Grades wie etwa

x5 + x4 + x3 + x2 + x− 1

sind die Nullstellen im allgemeinen nicht (exakt) berechenbar.Dass es ein derartiges Verfahren fur Ploynome funften und hoherenGrades nicht geben kann, wurde mit Hilfe der Galoistheorie bewie-sen [RS74, FS78].

222 6 Authentifikation und digitale Signatur

Beispiel 6.2 RSA-Verschlusselung:

• M e mod n ist einfach

• Umkehrung (modulare Wurzel) ist sehr schwierig.

Definition 6.2 Einweg-Hash-Funktionen sind Einwegfunk-tionen, die beliebig lange Klartexte auf einen Hash-Wert festerLange abbilden.

nicht injektiv!!!

daher:

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 223

Es muß sehr schwierig sein, zwei Klartexte mit dem gleichen Hash-Wert zu finden.

224 6 Authentifikation und digitale Signatur

Umsetzungsbeispiel:Eine Eingabe M beliebiger Lange wird dann zerlegt in k Teile Mi

der Lange m, d. h.

M = (M1,M2, . . . ,Mk)

Die Einwegfunktion f wird dann wie folgt rekursiv angewendet

h0 = 0 (6.1)

hi = f (Mi, hi−1) (6.2)

und der letzte berechnete Wert hk ist dann der Hash-Wert von M .

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 225

AES:Ist Ek(M) der mit dem Schlussel k aus dem Klartextblock M er-zeugte Chiffretextblock, so wird Gleichung 6.2 ersetzt durch

hi = EMi(hi−1)⊕ hi−1.

226 6 Authentifikation und digitale Signatur

Einige wichtige Einweg-Hash-Funktionen

MD4 (MD steht fur message digest) MD4 wurde von Ron Ri-vest entwickelt und teilweise kryptanalysiert. Der Hash-Wert ist128 Bit lang.

MD5 Verbesserung von MD4 mit ebenfalls 128 Bit Hash-Wert,daher sicherer aber nicht unumstritten. Wird in PGP angewen-det.

SHA (Secure-Hash-Algorithm) wurde 1993 von der NSA (Natio-nal Security Agency) und NIST (National Institute of Standardsand Technology) entwickelt und ist auch eine Verbesserung vonMD4. Eine 1995 uberarbeitete Version hat nun den NamenSHA-1. Der Hash-Wert von SHA-1 ist 160 Bit lang.

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 227

RIPE-MD Eine weitere Variante von MD4 mit 160 Bit langemHash-Wert, die im EU-Projekt RIPE entwickelt wurde und sehrsicher sein soll.

228 6 Authentifikation und digitale Signatur

Passwortverschlusselung

• Einwegfunktionen werden angewendet bei der Passwortver-schlusselung.

• Chiffrierte Passworter werden gespeichert.

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 229

Worterbuchangriff

Mallory stellt eine Liste der 100 000 gangigsten Passworter auf, wen-det die (bekannte) Einwegfunktion auf alle Passworter an und spei-chert die Ergebnisse zusammen mit den Passwortern. Nun stiehltMallory eine Passwortdatei und vergleicht diese mit seiner Datei aufUbereinstimmungen.

Abwehrversuch: 12 Bit Salt

Es existiert ein Liste in der etwa 732 000 ubliche Passworter mitallen 4 096 Salt-Werten verknupft und verschlusselt wurden.

Dateigroße bei 13 Byte langen verschlusselten Passwortern:

732 000 · 4 096 · 13 Byte = 3.9 · 1010 Byte = 39 GByte

Viel kleiner als die Datei mit allen Passwortern bestehend aus sechs

230 6 Authentifikation und digitale Signatur

Tastaturzeichen, die auch ohne Salt schon etwa

966 · 13 Byte = 10 TByte

groß ware.

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 231

Der Geburtstagsangriff

Naiver Angriff gegen digitale Signatur: Dokument gegen einanderes mit gleichem Hash-Wert austauschen.

Besserer Angriff: Mallory erzeugt so lange unterschiedliche Ver-sionen eines Dokuments, bis die Hash-Wert gleich sind

232 6 Authentifikation und digitale Signatur

Geburtstagsangriff

Frage 1: Wieviele Leute mussen in einem Raum sein, so dass mithoher Wahrscheinlichkeit (> 0.5) eine Person heute Geburtstaghat?

Frage 2: Wieviele Leute mussen in einem Raum sein, so dass mithoher Wahrscheinlichkeit (> 0.5) mindestens zwei Personen amgleichen Tag Geburtstag haben?

Zu Frage 1: Sei gi der Geburtstag von Person i fur i = 1, . . . , n.Damit im Mittel mindestens eine Person am Tag x Geburtstag

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 233

hat, muss die Wahrscheinlichkeit hierfur > 0.5 sein, also

P (g1 = x ∨ g2 = x ∨ . . . ∨ gn = x)

= 1− P (g1 6= x ∧ g2 6= x ∧ . . . ∧ gn 6= x)

= 1−(

364

365

)n> 0.5

Daraus lasst sich n berechnen, indem man(364

365

)n< 0.5

nach n auflost und n ≥ 253 erhalt.

Zu Frage 2: Gesucht ist nun die Zahl k der Personen, so dass imMittel mindestens zwei Personen am gleichen Tag Geburtstag

234 6 Authentifikation und digitale Signatur

haben? Es muss also gelten

P (g1 = g2 ∨ g1 = g3 ∨ . . . ∨ gk−1 = gk)

= 1− P (g1 6= g2 ∧ g1 6= g3 ∧ . . . ∧ gk−1 6= gk)

= 1−(

364

365

)k(k−1)2

> 0.5

Setzt man nun k(k − 1)/2 = n, so erhalt man

k =1

2+

√1

4+ 2n = 22.98

Es mussen also k ≥ 23 Personen im Raum sein. Fur große ngilt naherungsweise k =

√2n.

Wenn der Hash-Wert aus m Bit besteht, dann mussen bei vorgege-benem Hash-Wert ca. n = 2m−1 Dokumente getestet werden, bis

6.1 Einwegfunktionen und Einweg-Hash-Funktionen 235

Ubereinstimmung erzielt wird. Beim Geburtstagsangriff hingegengilt k ≈

√2n, d. h.

k ≈√

2 · 2m−1 =√

2m = 2m2 .

Um also eine Einweg-Hash-Funktion auch vor Geburtstagsangriffenzu schutzen, muss der Hash-Wert doppelt so lang gewahlt werdenwie fur einfache Angriffe.

In der Praxis werden heute Langen von 128 bis 160 Bit verwendet.

236 6 Authentifikation und digitale Signatur

6.2 Zero-Knowledge-Protokolle

Problem: Einwahl uber Internet in Rechner!

Schlussel wird im Klartext ubertragen!

6.2 Zero-Knowledge-Protokolle 237

Challenge-and-Response

238 6 Authentifikation und digitale Signatur

Alice unsicherer Kanal Bob

GibtBenutzerkennung

ID einID−−−−−→ sucht zu ID

Schlussel k inDatenbank

↓r←−−−−− wahlt Zufallszahl r

↓Res ′ = f(k′, r) Res = f(k, r)

↓Res ′−−−−−→ Res = Res ′?

Abbildung 6.1: Das Challenge-and-Response-Protokoll

Idee der Zero-Knowledge-Protokolle

6.2 Zero-Knowledge-Protokolle 239

Jemanden davon zu uberzeugen, dass man ein Geheimnis kennt,ohne jedoch auch nur ein Bit an Information uber das Geheimnispreiszugeben.

Beispiel 6.3: Losen kubischer Gleichungen

Der italienische Mathematiker Niccolo Tartaglia entdeckte 1535 dieFormel zur Losung von kubischen Gleichungen.

• Er laßt sich von den Kollegen kubische Gleichungen nennen

• Er loste sie unbeobachtet

• Er gibt die Losung bekannt.

• Kollegen verifizieren die Korrektheit der Losung

240 6 Authentifikation und digitale Signatur

Beispiel 6.4: Der geheimnisvolle Geheimgang

Peggy (prover) kennt eine Zauberformel um die Tur des Geheim-gangs zu offnen. Sie uberzeugt Victor

A B Tür

Wahrscheinlichkeit fur einen erfolgreichen Betrug bei 100 Wieder-

6.2 Zero-Knowledge-Protokolle 241

holungen: 2−100 ≈ 10−30.

242 6 Authentifikation und digitale Signatur

Das Fiat-Shamir-Protokoll

von A. Fiat, A. Shamir und U. Feige entwickeltes Zero-Knowledge-Protokoll

• Peggy: prover

• Victor: verifier

• Modul n = p · q• Peggy’s geheimer Schlussel s wird zufallig bestimmt

• Peggy’s offentlicher Schlussel v = s2 mod n

6.2 Zero-Knowledge-Protokolle 243

Peggy unsicherer Kanal Victor

Wahlt Zufallszahl r,berechnet x = r2 mod nund y = r s mod n

x ,y−−−−−−−−→Verifizierty2 mod n = x v mod n

Ein unsicheres Protokoll

Peggy kann aber ohne Kenntnis von s z. B. y = 2 wahlen, die

244 6 Authentifikation und digitale Signatur

Gleichungy2 = x · v mod n

nach x auflosen und x, y an Victor schicken.

6.2 Zero-Knowledge-Protokolle 245

Peggy unsicherer Kanal Victor

Wahlt Zufallszahl r,berechnet x = r2 mod n

x−−−−−−−→Wahlt zufallig ein Bit b

b←−−−−−−−Berechnet

Falls b = 1:y = r s mod n

Falls b = 0:y = r mod n

y−−−−−−−→Verifiziert

Falls b = 1:y2 mod n = x v mod n

Falls b = 0:y2 mod n = x

246 6 Authentifikation und digitale Signatur

nach k Runden Sicherheit von 1− 12

k.

Die Sicherheit des Verfahrens basiert wesentlich auf der Schwie-rigkeit der Berechnung modularer Quadratwurzeln.

Satz 6.1 Seien p und q Primzahlen und n = p · q. Dann ist dasBerechnen einer Losung s von v = s2 mod n gleich schwierig1 wiedie Primfaktorzerlegung von n.

Dieses Protokoll ist sehr gut fur die Implementierung auf Chipkartengeeignet.

6.3 Digitale Signaturen 247

6.3 Digitale Signaturen

Eine gute Unterschrift besitzt folgende Eigenschaften ([Sch96]):

1. Sie ist authentisch, d. h. sie zeigt, dass der Unterzeichner wil-lentlich unterschrieben hat.

2. Sie ist falschungssicher. Sie beweist, dass der Unterzeichnerund kein anderer das Dokument unterschrieben hat.

3. Sie ist nicht wiederverwendbar. Die Unterschrift kann nichtauf ein anderes Dokument kopiert werden.

4. Das unterzeichnete Dokument ist unveranderbar. Nach derUnterzeichnung kann es nicht mehr geandert werden.

248 6 Authentifikation und digitale Signatur

5. Die Unterschrift ist bindend. Die Unterzeichnerin kann spaternicht behaupten, dass sie das Dokument nicht unterschriebenhat.

Unterschriften mit Tinte auf Papier erfullen keine dieser Aussagenvollstandig.

Signatur mit Public-Key-Algorithmus:

(M,ESA(M)).

Uberprufen der Unterschrift:

DPA(ESA(M)) = M

Bei großen Texten M :

(M,ESA(f (M))). (6.3)

6.3 Digitale Signaturen 249

Uberprufen der Unterschrift: berechnet Bob jetzt DPA(ESA(f (M)))und f (M) und vergleicht die beiden Werte.

Fur die Sicherheit des Verfahrens ist es wichtig, dass eine Einweg-Hash-Funktion benutzt wird!

250 6 Authentifikation und digitale Signatur

Digital Signature Algorithm (DSA)

Im JAHR 1991 suchte das NIST nach einem Standard fur digita-le Signaturen und beauftragte die NSA mit der Entwicklung desDigital Signature Algorithm (DSA).

Viele Firmen wollten RSA als Standard fur digitale Signaturen ha-ben [Sch96].

DSA wird in PGP ab Version funf eingesetzt.

6.3 Digitale Signaturen 251

Blinde Signaturene = offentlicher Schlussel von Bob, d = geheimer Schlussel von Bob

252 6 Authentifikation und digitale Signatur

Alice Bob

Wahlt Zufallszahl k,Verschlusselt M :t = M · ke mod n

t−−−−−−−→signiert t:u = td mod n

u←−−−−−−−Entschlusselt dassignierte Dokument:Md = u

k mod n

6.3 Digitale Signaturen 253

Was hier aussieht wie Zauberei, ist ganz einfach:

u

kmod n =

td

kmod n =

(M · ke)d

kmod n

=Md · ked

kmod n = Md mod n.

Blinde Signaturen wurden von D. Chaum [Cha85, Cha92] erfunden.

254 6 Authentifikation und digitale Signatur

6.4 Digitale Signatur in der Praxis

Die digitale Signatur ist also sehr sicher und einfach zu benutzen.

Trotzdem gibt es in der Praxis einige Probleme, die hier etwas ge-nauer beleuchtet werden.

6.4 Digitale Signatur in der Praxis 255

Speichern des geheimen Schlussels

• sichere Verwahrung des geheimen Schlussels!

• Speichern des geheimen Schlussels auf der Festplatte??

• Symmetrischer 128-Bit-Schlussel ist etwa so sicher wie RSA mit1024 Bit.

• ⇒ Passwort muß 128 Bit lang sein!

• Groß-, Kleinbuchstaben und Ziffern = 64 Zeichen, d.h. 6 Bit.

128 Bit

6 Bit/Zeichen≈ 21 Zeichen.

256 6 Authentifikation und digitale Signatur

Deutsche Texte lassen sich um etwa einen Faktor 3 bis 4 kompri-mieren. Daher:

Das Passwort (passphrase) fur die Verschlusselung des geheimenSchlussels eines Public-Key-Verfahrens muss mindestens 80 Zeichenlang sein.

Problem: Tippfehler beim Eintippen der 80 Zeichen

Losungen: Speichern des geheimen Schlussels auf Diskette.

Personalausweis auf Chipkarte

6.4 Digitale Signatur in der Praxis 257

Vertrauen in die Software

Der/die Unterzeichnende kann nicht unmittelbar kontrollieren, wasim Hauptspeicher und in der CPU des Rechners ablauft.

Signieren mit Chipkarte bietet einen gewissen Schutz.

Wie kann der Anwender jedoch kontrollieren was seine Chipkartesigniert?

Ein Autofahrer hat Vertrauen in die Funktionstuchtigkeit der Brem-sen seines Fahrzeuges, wenn es regelmassig gewartet wird.

Der Anwender sollte bei der Installation und vor jedem Start einesKryptographie-Programms die Signatur des Herstellers kontrollie-ren.

258 6 Authentifikation und digitale Signatur

Noch besser als die Signatur des Herstellers ist die Signatur einerunabhangigen Pruf- und Zertifizierungsstelle, wie zum Beispiel desBundesamtes fur Sicherheit in der Informationstechnik (BSI) [BSI01].

Auch die Soft- und Hardware der Chipkarten muss zertifiziert wer-den.

6.5 Signaturgesetz 259

6.5 Signaturgesetz

• 1997: deutsches Signaturgesetz [Sig97a], bzw. Signaturverord-nung [Sig97b].

• strenge Vorgaben:

• der geheime Schlussel darf nicht auf einem Computer gespei-chert sein!

• Software, Hardware, Chipkarten mussen zertifiziert sein!

• Trustcenter, muss zertifiziert sein!

• Dezember 1999 [Sig00]:“community framework for electronicsignatures” des EU-Parlaments.

260 6 Authentifikation und digitale Signatur

• Mai 2001: neues deutsches Signaturgesetz nach EU-Richtlinien.

• Unterscheidung zwischen verschiedenen Klassen digitaler Signa-tur.

deutsches Signaturgesetz vom 21. Mai 2001:Im Sinne dieses Gesetzes sind

1. “elektronische Signaturen” Daten in elektronischer Form, die anderen elektronischenDaten beigefugt oder logisch mit ihnen verknupft sind und die zur Authentifizierungdienen,

2. “fortgeschrittene elektronische Signaturen” elektronische Signaturen nach Nummer 1,die

a) ausschließlich dem Signaturschlussel-Inhaber zugeordnet sind,

b) die Identifizierung des Signaturschlussel-Inhabers ermoglichen,

c) mit Mitteln erzeugt werden, die der Signaturschlussel-Inhaber unter seiner alleinigenKontrolle halten kann, und

6.5 Signaturgesetz 261

d) mit den Daten, auf die sie sich beziehen so verknupft sind, dass eine nachtraglicheVeranderung der Daten erkannt werden kann,

3. “qualifizierte elektronische Signaturen” elektronische Signaturen nachNummer 2, die

a) auf einem zum Zeitpunkt ihrer Erzeugung gultigen qualifizierten Zertifikat beruhenund

b) mit einer sicheren Signaturerstellungseinheit erzeugt wurde.

• elektronische Signatur nach Nummer 1: normale E-Mail odereingescannte handschriftliche Unterschrift.

• fortgeschrittene elektronische Signature: PGP-Standard.

• Qualifizierte elektronische Signatur: offentlicher Schlussel mussvon akkreditiertem Trustcenter zertifiziert sein. Signatur mussauf der Chipkarte mit einem Klasse-2- oder Klasse-3-Chipkartenlesererfolgen.

262 6 Authentifikation und digitale Signatur

Klassifikation der verschiedenen Signaturtypen.

anwendbar bei

Signaturtypgesetzlich vorge-schriebener elek-tronischer Form

vereinbarterelektronischerForm

Rechtswirksam-keit

Beweiskraft

qualifizierteelektronischeSignatur

× × × sehr hoch

fortgeschritteneelektronischeSignatur

— × × hoch

elektronische Si-gnatur

— × × sehr schwach

E-Mail ohne Si-gnatur

— — × keine

6.5 Signaturgesetz 263

Zusammenfassung

Digitale Signaturen

• sind komfortabel

• sind sicher

• sparen Zeit und Kosten

• bieten fur viele Anwendungen große Vorteile

• haben juristische Gultigkeit im Fall eines Rechtsstreits [TT01]

• sind abstrakter als handgeschriebene

264 6 Authentifikation und digitale Signatur

6.6 Authentifikation mit digitaler Signatur

Alice unsicherer Kanal Bob

r←−−−−− wahlt Zufallszahl rsigniert r

ESA(r)

−−−−−→ DPA(ESA(r))?= r

Alice authentifiziert sich mit digitaler Signatur auf dem Server Bob.

6.6 Authentifikation mit digitaler Signatur 265

zu Zero-Knowledge-Beweis gleichwertig.

266 6 Authentifikation und digitale Signatur

6.7 Message-Authentication-Code (MAC)

Authentizitat von Nachrichten

(M,EK(f (M)))

Kein Ersatz fur eine digitale Signatur!

MAC durch Verwendung einer symmetrischen Blockchiffre im CBC-Modus (Abschnitt 4.3). Der letzte Chiffretextblock dient hier alsMAC.

6.8 Biometrische Verfahren 267

6.8 Biometrische Verfahren

• Authentifikation von Personen auf Grund von unveranderlichenkorperlichen Merkmalen

• Stimme, Gesicht, Fingerabdruck, Netzhautstruktur

• Mustererkennung nicht einfach

• anfallig gegen trojanische Pferde

• Chipkarte: PIN-Code ersetzen durch FingerabdruckAchtung: anfallig gegen trojanische Pferde

• Zukunft: Sensor auf der Chipkarte

268 6 Authentifikation und digitale Signatur

6.8 Biometrische Verfahren 269

270 6 Authentifikation und digitale Signatur

ROC-Kurven fur biometrische Authentifikation

0

20

40

60

80

100

0 20 40 60 80 100

FA

R =

fals

che

Akz

epta

nz U

nber

echt

igte

r [%

]

FRR = falsche Zurückweisung Berechtigter [%]

Hochsicherheits−anwendungen

Kriminalistik

schlechtes biometrisches System

gutes biometrisches System

gutes kryptographisches System

6.8 Biometrische Verfahren 271

Kapitel 7

Public-Key-Infrastruktur

Problem: Man-in-the-Middle-Angriff

Die Authentizitat der offentlichen Schlussel ist von außerster Wich-tigkeit. Bevor Bob den offentlichen Schlussel von Alice benutzt,muss er dessen Authentizitat uberprufen.

273

Die Infrastruktur fur die Erzeugung, Authentisierung, Verteilungund Uberprufung von offentlichen Schlusseln sowie fur die sichereSpeicherung der geheimen Schlussel wird Public-Key-Infrastruktur(PKI) genannt.

274 7 Public-Key-Infrastruktur

7.1 Personliche Prufung offentlicher Schlussel

Type Bits/KeyID Date User ID

pub 1024/2F7BFC59 1998/05/18 Wolfgang Ertel <[email protected]>

Key fingerprint = 9E 2D DB 62 C3 E7 7A 79 00 48 37 F6 55 B6 A9 EF

Abbildung 7.1: 128-Bit-Fingerprint eines PGP-Schlussels in Form von 16 Byte bzw. 32 Hexadezimalziffern

Nachteil: sehr aufwandig.

7.2 Trustcenter 275

7.2 Trustcenter

Definition 7.1 Ein Trustcenter ist eine Institution, der alle Per-sonen vertrauen, und dessen offentlicher Schlussel auf sicheremWege bekannt gemacht wird. Die wichtigste Aufgabe des Trust-centers besteht in der Zertifizierung offentlicher Schlussel von Pri-vatpersonen, Firmen oder anderen Institutionen. Die Zertifizie-rung eines offentlichen Schlussels P besteht in der Prufung derAuthentizitat der Person oder Firma und der Signatur des Schlus-sels P mit dem geheimen Schlussel des Trustcenters.

Da der offentliche Schlussel des Trustcenters jedermann bekannt

276 7 Public-Key-Infrastruktur

ist, kann auch jedermann die Zertifikate des Trustcenters prufen.

Verschiedene Klassen von Zertifikaten!

Mochte Alice mit Bob geheim kommunizieren, so gehen die beidenfolgendermaßen vor:

7.2 Trustcenter 277

1. Alice besorgt sich ein Zertifikat der Klasse 3 oder 4 beieinem Trustcenter ihrer Wahl.

2. Bob besorgt sich ein Zertifikat der Klasse 3 oder 4 beieinem Trustcenter seiner Wahl.

3. Alice und Bob schicken sich gegenseitig ihre zertifizier-ten offentlichen Schlussel zu.

4. Alice uberpruft das Zertifikat auf Bobs offentlichemSchlussel.

5. Bob uberpruft das Zertifikat auf Alices offentlichemSchlussel.

6. Bob und Alice konnen sich nun geheime und signierteNachrichten zukommen lassen.

278 7 Public-Key-Infrastruktur

Erstellen von Zeitstempeln:

((M, Uhrzeit, Datum), EST (f(M, Uhrzeit, Datum))).

Trustcenter muß nach Signaturgesetz zertifiziert sein.

7.3 Zertifikatshierarchie 279

7.3 Zertifikatshierarchie

Firma 2

Dave Ellen Frank

Firma 1

CarolAlice Bob

Trustcenter

CA 2CA 1

Abbildung 7.2: Zweistufige Zertifikatshierarchie

280 7 Public-Key-Infrastruktur

7.4 Web-of-Trust

Alice

Bob Carol

signiert

PB vertraut

7.4 Web-of-Trust 281

• Benutzen Sie niemals einen Schlussel, den Sie nur per E-Mailerhalten haben oder den Sie irgendwo im Internet gefunden ha-ben, solange er nicht von einer Person Ihres Vertrauens signiertist!

• Signieren Sie niemals einen Schlussel, den Sie nur per E-Mailerhalten haben oder den Sie irgendwo im Internet gefunden ha-ben, auch wenn er von einer Person Ihres Vertrauens signiertist! Verifizieren Sie personlich oder telefonisch die Echtheit desSchlussels, den Sie signieren!

• Vertrauen in einen Schlussel bedeutet nicht automatisch Ver-trauen in den Besitzer des Schlussels!

Kapitel 8

Public-Key-Systeme

8.1 PGP 283

8.1 PGP

PGP [Zim95, PGP01] wurde 1994 von Phil Zimmermann ent-wickelt

PGP steht fur pretty good privacy und

• kann Dateien verschlusseln oder signieren

• war bis zur Version 2.6.3 generell frei vefugbar

• aber nicht aus den USA exportierbar

• wurde als Buch publiziert

• in Europa eingescannt PGP 2.6.3i

284 8 Public-Key-Systeme

• kann in diversen Email-Programmen eingebunden werden

8.1 PGP 285

Here’s a short summary of commands in PGP 2.6.3i:

Generate new key pair: pgp -kg [keybits]

Add key: pgp -ka keyfile [keyring]

Extract key: pgp -kx[a] userid keyfile [keyring]

View key(s): pgp -kv[v] [userid] [keyring]

View fingerprint: pgp -kvc [userid] [keyring]

Check & view in detail: pgp -kc [userid] [keyring]

Remove userid or key: pgp -kr userid [keyring]

(Repeat for multiple userids on a key)

Edit trust params: pgp -ke userid [keyring]

Add another userid: pgp -ke your_userid [keyring]

Edit passphrase: pgp -ke your_userid [keyring]

Sign a key in pubring: pgp -ks other_id [-u sign_id] [keyring]

Remove a sig from key: pgp -krs userid [keyring]

Revoke, dis/enable: pgp -kd userid [keyring]

Encrypt: pgp -e[a] textfile TO_id [TO_id2 TO_id3...]

Sign: pgp -s[a] textfile [-u MY_id]

Sign & encrypt: pgp -se[a] textfile TO_id [TO_id2 TO_id3...][-u MY_id]

Make detached cert: pgp -sb[a] [+clearsig=on] mainfile [-u MY_id]

(Can do binaries) (clearsig=on may be set in CONFIG.TXT)

Encrypt with IDEA only: pgp -c textfile

Decrypt or check sig: pgp [-d] [-p] cryptogram

(-d to keep pgp data, -p for original file name)

Check detached cert: pgp certfile [mainfile]

(If root of filenames are the same omit [mainfile])

Use [a] for ASCII output

Use [-o outfile] to specify an output file

Use [-@ textfile] to specify additional userids when encrypting

Use [-z"pass phrase"] to specify your pass phrase

Use [+batchmode] for errorlevel returns

Use [f] for stream redirection ( pgp -f[ARGS] <infile >outfile )

Use [w] to wipe plaintext file (encryption operations)

Use [m] to force display of plaintext only (no output file)

Use [t] to alter line endings for unix, etc.

286 8 Public-Key-Systeme

Date: Wed, 29 Apr 1998 15:56:54 +0200

To: [email protected]

Subject: Signaturgesetz

From: Wolfgang Ertel <[email protected]>

ReplyTo: [email protected]

Mime-Version: 1.0

Content-Transfer-Encoding: 8bit

Content-Type: text/plain; charset=ISO-8859-1

Content-Length: 977

-----BEGIN PGP SIGNED MESSAGE-----

Sehr geehrte Damen und Herren,

anbei ein Auszug aus dem Signaturgesetz.

mfg

W. Ertel

Beschluss des Bundeskabinetts

zum Entwurf der Signaturverordnung

am 8.10.1997

Das Bundeskabinett hat am heutigen Tag dem Entwurf der

Signaturverordnung zugestimmt, den das Bundesministerium fuer Bildung,

Wissenschaft, Forschung und Technologie und das Bundesministerium des

Innern gemeinsam vorgelegt haben.

Die Bundesregierung schafft mit der Verordnung die notwendigen

Voraussetzungen fuer eine zeitnahe Umsetzung des Signaturgesetzes, das

als Art. 3 des Informations- und Kommunikationsdienste-Gesetzes

(IuKDG) am 1. August 1997 in Kraft getreten ist.

-----BEGIN PGP SIGNATURE-----

Version: 2.6.3i

Charset: noconv

iQBVAwUBNUcxVIrxrO+qmKMNAQHrwAH6AqmIGyAs7Oah9lgWsQQyhFjWYxvU5mgA

r5yrrDr7aMG4+rI/4ixR1Mbfs8SCSBmHmSlIgBC6ugphxhUXnQQSWg==

=KVTm

-----END PGP SIGNATURE-----

8.1 PGP 287

PGP 7.0 bietet neben dem Verschlusseln und Signieren folgendeFunktionen:

• IDS (intrusion dection system) zur automatischen Abwehr be-stimmter Netzwerkangriffe.

• VPN (virtual private networking) zur sicheren – vom Benutzerunbemerkten – Kommunikation zwischen Firmenfilialen (sieheAbschnitt 8.6).

• Automatische Ver- und Entschlusselung von Dateien auf derFestplatte.

• Einen Personal-Firewall zur Filterung von ein- und ausgehendenPaketen.

• Einfacher bzw. automatischer Zugang zu Trustcenter, CA (cer-tification authority) und Schlussel-Servern.

288 8 Public-Key-Systeme

PGP-Schlusselring (pgp -kv)

Type Bits/KeyID Date User ID

pub 2048/CFC100F5 1997/05/02 TC TrustCenter Class 2 Private CA

pub 2048/833153FD 1998/03/01 TC TrustCenter Class 4 Business CA

pub 2048/C935FB3D 1997/05/02 TC TrustCenter Class 1 Private CA

pub 2048/CB1CDBF9 1997/05/02 TC TrustCenter Class 3 Private CA

pub 2048/6D37AF71 1998/03/01 TC TrustCenter Class 3 Business CA

pub 1024/804B5A69 1999/06/23 Hansi Muller <[email protected]>

pub 512/EBD9FB49 1998/06/16 Klaus Maier <[email protected]>

pub 2048/293A0B77 1998/06/29 Max Muster <[email protected]>

pub 768/27AE3DA9 1998/06/16 Hans Huber [email protected]

pub 2048/AAEBDCC9 1998/06/22 Alice Weiss <[email protected]>

pub 768/16BE84D5 1998/06/21 Bob Schwarz <[email protected]>

pub 768/6FAFE9B1 1997/06/14 Dan Hack <[email protected]>

pub 1024/2F7BFC59 1998/05/18 Wolfgang Ertel <[email protected]>

8.1 PGP 289

Ein PGP-Schlussel mit Signaturen

pgp -kvv ertel

pub 1024/2F7BFC59 1998/05/18 Wolfgang Ertel <[email protected]>

sig CB1CDBF9 TC TrustCenter Class 3 Private CA

sig 804B5A69 Hansi Muller <[email protected]>

sig 27AE3DA9 [email protected]

sig EBD9FB49 Klaus Maier <[email protected]>

sig AAEBDCC9 Alice Weiss <[email protected]>

sig 16BE84D5 Bob Schwarz <[email protected]>

sig 2F7BFC59 Wolfgang Ertel <[email protected]>

290 8 Public-Key-Systeme

Die Big-Brother-Funktion

ab PGP 5.5.X besteht die Moglichkeit, die Geheimhaltung inner-halb von Institutionen (z. B. Firmen) aufzuheben, wie in [Rav98]beschrieben.

Kopien von Emails werden mit dem “Firmen”-Public-Key verschlusselt.

Bezeichnung:“Corporate-Message-Recovery-Key” (CMRK)

“Additional-Decryption-Key” (ADK)

• Festlegung eines ADK fur eingehende E-Mails

• Festlegung eines ADK fur ausgehende E-Mails

• Erzwingung der Benutzung eines ADK fur ausgehende und/oder eingehende E-Mails

• Erzwingung von zusatzlichen ADKs (z. B. weiterer “Firmen”)

8.1 PGP 291

• Erzwingung einer bestimmten Lange und Qualitat der Passphrase

• Erzwingung einer bestimmten Schlussellange

• Erzwingung, dass der ADK automatisch von allen Benutzern der Client-Version signiertwird, wenn diese einen Schlussel erzeugen

• Erzwingung eines bestimmten Kommentars im Nachrichtenheader

• Ausgabe einer Warnung, wenn mit einem Public-Key verschlusselt wird, der nicht mitdem ADK signiert wurde

• Verbot der Schlussel-Erzeugung

• Verbot der RSA-Schlussel-Erzeugung

• Verbot der konventionellen Verschlusselung

• Voreinstellung der Schlussel, die im Standard-Keyring enthalten sind

Auch Behorden konnten dieses Feature einsetzen.

292 8 Public-Key-Systeme

GnuPG

• Gnu-Privacy-Guard (GnuPG) [ACGW99].

• 1999 von Werner Koch entwickelt.

• Open Source Tradition

• nur frei verfugbare Algorithmen

• teilweise kompatibel mit PGP

• halt sich an den OpenPGP-Standard

Algorithmen:

AES, triple DES, TWOFISH.

8.1 PGP 293

RSA, ElGamal, DSA

MD5, SHA-1, RIPEMD160 und TIGER/192.

294 8 Public-Key-Systeme

Angriffe gegen PGP

Angriff auf PGP-Signatur mit manipuliertem Schlussel

Schwerwiegender Mangel im Datenformat des OpenPGP-Standardfur die Speicherung des geheimen Schlussels!

Entdeckt vonb Vlastimil Klıma und Tomas Rosa [KR01].

Angriff: Mallory verandert zufallig den gespeicherten, verschlussel-ten geheimen Schlussels von Alice und bringt Alice dazu, eine ihmbekannte Nachricht M zu signieren.

Aus der Signatur S und der Nachricht M kann er nun den Schlusselermitteln, wie unten beschrieben.

8.1 PGP 295

Dieser Angriff ist (war) moglich sowohl bei DSA-Signaturen, alsauch bei RSA-Signaturen.

Abwehrmaßnahme:

Veranderung der Datenstruktur zur Abspeicherung des geheimenSchlussels welche einen guten Integritatscheck erlaubt.

Angriff mit Nachschlussel

Bei PGP mit ADK-Feature und Diffie-Hellmann-Verschlusselung:

Mallory schickt Alice den veranderten offentlichen Schlussel P ′B vonBob, ohne dass sie diese Veranderung bemerkt [Sen00].

P ′B enthalt PB und PM

Fur jede mit P ′B verschlusselte Nachricht wurden nun von PGP

296 8 Public-Key-Systeme

automatisch zwei Kopien erzeugt und jede mit einem der beidenSchlussel verschlusselt.

Mallory kann jede Nachricht von Alice an Bob abhoren ohne dassAlice eine Ahnung davon hat.

8.2 S/MIME und das X.509 Protokoll 297

8.2 S/MIME und das X.509 Protokoll

• S/MIME: Secure Multipurpose Internet Mail Extension

• Protokoll zum Verschlusseln und Signieren von E-Mail [IMC01].

• benutzt den Standard PKCS #7 (Cryptographic Message Syn-tax) fur verschlusselte E-Mails

• PKCS: public key cryptography system

• benutzt X.509-Protokoll [KP01] fur Zertifikate.

298 8 Public-Key-Systeme

X.509-Protokoll

existiert seit 1988

ist heute ein wichtiger Industrie-Standard.

Ein X.509-Zertifikat besteht aus folgenden Teilen:

Version: Versionsnummer des Protokolls (1–3).

Seriennummer: Ganzzahlige, innerhalb einer CA eindeutige Se-riennummer.

Algorithmenidentifikation: Spezifikation des verwendeten Si-gnaturalgorithmus und der Einweg-Hash-Funktion.

Aussteller: Identifikation der ausstellenden CA.

Geltungsdauer: Zeitraum der Gultigkeit des Zertifikats.

8.2 S/MIME und das X.509 Protokoll 299

Subject: Person oder Objekt, deren/dessen Identitat das Zertifi-kat sichern soll.

Public-Key: Offentlicher Schlussel des “Subject”. Enthalt denNamen des verwendeten Algorithmus, die Schlussellange, denModul n und den offentlichen Exponenten e.

X.509v3-Erweiterungen: Raum fur spezielle Parameter der je-weiligen Anwendung.

Signatur: Signatur des Hash-Wertes aller anderen Felder durchden Aussteller.

300 8 Public-Key-Systeme

8.3 OpenPGP versus S/MIME

• klare Tendenzen der Industrie fur S/MIME

• große Zahl von Benutzern bereits fur PGP als Werkzeug ent-schieden.

• Internet Engineering Task Force (IETF) [IET01], hat OpenPGP-Standard definiert [oPG01].

• Das Internet Mail Consortium versucht, beide Standards zusam-men zu fuhren [IMC01].

8.4 Secure shell (SSH) 301

8.4 Secure shell (SSH)

SSH secure shell ist ein sicherer Ersatz fur telnet, rlogin, rsh,rcp, etc.

SSH bietet:

• Sichere gegenseitige Authentifikation von Client und Server.

• Sicheres Login durch Authentifikation der Benutzer auf demServer mit RSA, oder DSA.

• Verschlusselung mit RSA und IDEA, Blowfish oder Triple-DES

• Sichere Verbindungen auch fur grafische Anwendungen unter

302 8 Public-Key-Systeme

X11.

• Jeder TCP/IP-Port kann auf einen durch SSH abgesichertenPort umgeleitet werden. (Tunneln, IP-Tunneling)

Authentifikationsprotokoll:

• Uni-Rechner erzeugt 256-Bit-Zufallszahl r, verschlusselt diesemit PA.

• schickt EPA(r) an Alice.

• Alice entschlusselt r und schickt deren Hashwert f (r) an denUni-Rechner.

• Uni-Rechner checkt f (r).

8.5 Secure socket layer (SSL) 303

8.5 Secure socket layer (SSL)

Netscape: 1994

Nachfolger: Transport Layer Security (TLS) [TLS01]: 2001

304 8 Public-Key-Systeme

Die Protokollebenen von SSL.

SSL-Handshake- SSL-Change-Cipher- SSL-Alert- HTTP

Protokoll Spec-Protokoll Protokoll

SSL-Record-Protokoll

TCP

IP

SSL-Record-Protokoll: kryptographische Algorithmen: MD5,

8.5 Secure socket layer (SSL) 305

SHA-1; RSA, Diffie-Hellmann; stehen RC4, RC2, DES, DES40,Triple-DES, IDEA, Fortezza (Chipkarten)

SSL-Alert-Protokoll: Warn- und Fehlermeldungen.

SSL-Change-Cipher-Protokoll: Initialisierung der ausgewahl-ten Algorithmen.

SSL-Handshake-Protokoll: Beim client_hello und server_hello werden die kryptographischen Algorithmen und der Kom-pressionsalgorithmus festgelegt. Authentifikation von Client undServer durch Zertifikate. Schlusseltausch die symmetrische Ver-schlusselung.

HTTP (Hypertext Transfer Protocol): Ubertragung der HTML-Seiten.

SSL in Europa bis 1999 nur mit 40 Bit-Schlusseln erhaltlich.

306 8 Public-Key-Systeme

Seit Februar 2000 auch langere Schlussel moglich.

Wichtig fur eine sichere Verbindung sind die Rechnerzertifikate, ins-besondere beim Server.

8.6 Virtual Private Networking und IP Security 307

8.6 Virtual Private Networking und IP Security

virtual private networking (VPN)

• Verschlusselung und Authentisierung ohne dass der einzelne Be-nutzer dies bemerkt

• auf der IP-Paket-Ebene

• jedes IP-Paket wird verschlusselt, unabhangig von dem verwen-deten Protokoll.

Die Verwendung von IPSec auf einem Firewall bietet folgende Vor-teile:

308 8 Public-Key-Systeme

• Starke kryptographische Sicherheit fur Verkehr nach außen ohne Belastung des internenVerkehrs.

• IPSec auf einem Firewall kann nicht umgangen werden.

• Da IPSec unter der Transportschicht (TCP/UDP) arbeitet, muss die Anwendungssoft-ware nicht geandert werden.

• Der Benutzer bemerkt die Arbeit von IPSec nicht, muss also auch nicht geschult werden.

Kapitel 9

Elektronisches Bargeld

310 9 Elektronisches Bargeld

Geforderte Eigenschaften:

• Das Bezahlen muss einfach und mit sehr geringen Unkostenerfolgen ( ⇒ Micro-Payment)

• Das Bezahlen von kleinen Betragen muss unverbindlich sein.Bsp: Kauf einer Zeitung am Kiosk per Uberweisung!?

• Das Bezahlen muss anonym erfolgen.

• Das Wechselgeldproblem des klassischen Bargeldes muss demKunden erspart bleiben.

• Das Bezahlen soll auch zwischen Privatpersonen moglich sein.

• Das elektronische Bargeld soll moglichst viele Sprunge machenkonnen, bevor es wieder zur Bank zuruckkommt.

311

• Das elektronische Bargeld ist nur fur kleine Betrage bis ca. 500DM zu verwenden.

• Elektronische Munzen sollen falschungssicher sein.

312 9 Elektronisches Bargeld

9.1 Secret-Splitting

Zerteilen einer Bitfolge M in zwei Teile M1, M2, die beide fur sichallein wertlos sind.

So geht’s:

M1 = R⊕MM2 = R.

es gilt:

M = M1 ⊕M2 = R⊕R⊕M.

Verallgemeinerung:

9.1 Secret-Splitting 313

• (m,n)-Schwellenwertproblem

• n Teile

• Rekonstruktion nur moglich mit mind. m Teilen (m < n)

314 9 Elektronisches Bargeld

9.2 Bit-Commitment-Protokolle

Alice soll sich auf ein Bit festlegen, mochte dieses aber geheimhalten.

Bob jedoch will eine Garantie.

9.2 Bit-Commitment-Protokolle 315

Verfahren mit symmetrischer Verschlusselung

Festlegung:

1. Bob sendet eine Zufallszahl R an Alice.

2. Alice legt sich fest auf das Bit b und schickt M =EK(R, b) an Bob.

Uberprufung:

1. Alice sendet den Schlussel K an Bob.

2. Bob dechiffriert: R′, b′ = DK(M). Er vergleicht R′ mit R.Wenn R′ = R, dann vertraut Bob Alice.

316 9 Elektronisches Bargeld

Verfahren mit Einweg-Hash-Funktion

Festlegung:

1. Alice legt sich auf das Bit b fest und erzeugt zwei Folgenfester Lange aus Zufallsbits R1 und R2.

2. Sie wendet auf R1, R2 und b die Einweg-Hash-Funktion Han und schickt (H(R1, R2, b), R1) an Bob.

Uberprufung:

1. Alice schickt den Klartext (R1, R2, b) an Bob.

2. Bob berechnet H(R1, R2, b) und vergleicht R1 und das Er-gebnis mit Alices Nachricht. Bei Ubereinstimmung ist er vonder Echtheit des Bits uberzeugt.

9.3 Protokolle fur Elektronisches Bargeld 317

9.3 Protokolle fur Elektronisches Bargeld

Verfeinerung der Protokolle Nr. 1 bis 4 aus Kapitel 1 von D. Chaum [Cha85,Cha92, CFN88, Cha89, Sch96].

Ziel:Identifizierung des Betrugers trotz Anonymitat!

318 9 Elektronisches Bargeld

Protokoll Nr. 5

1. Alice erzeugt n Munzen mit unterschiedlichen, zufallig gewahlten langen Seriennummern,wie bei Protokoll Nr. 4. Nun spaltet sie ihre Identitat (Name, Adresse etc.) mit einemSecret-Splitting-Protokoll n-mal unterschiedlich auf, was zu den n Identitatsfolgen

I1 = (I1L, I1R)

I2 = (I2L, I2R)

. . .

In = (InL, InR

)

fuhrt.

2. Nun wendet Sie auf jede Halfte jeder Identitatsfolge getrennt ein Bit-Commitment-Protokoll an. Bei dem in Abschnitt 9.2 beschriebenen Protokoll mit Einweg-Hash-Funktion

9.3 Protokolle fur Elektronisches Bargeld 319

sieht eine Munze dann etwa so aus:

Betrag

Seriennummer

[H(R1, R2, I1L), R1], [H(R3, R4, I1R), R3]

[H(R5, R6, I2L), R5], [H(R7, R8, I2R), R7]

. . .

[H(R4n−3, R4n−2, InL), R4n−3], [H(R4n−1, R4n, InR

), R4n−1]

Jede Halfte jeder Identitatsfolge ist nun also separat unkenntlich gemacht und un-veranderbar. Sie kann nur mit Alices Hilfe decodiert werden. Wegen der Verwendungeines Bit-Commitment-Protokolls kann Alice bei der Decodierung nicht schwindeln. Die-ser Prozess der Erzeugung von n Identitatsfolgen wird fur jede der n Munzendurchgefuhrt und dann werden die Folgen auf den Munzen gespeichert!

3. Alice verschlusselt die n Munzen mit einem Protokoll fur blinde Signaturen und schicktsie an die Bank.

4. Wie in Protokoll Nr. 4 verlangt die Bank nun von Alice die Entschlusselung von n − 1zufallig gewahlten Munzen. Die Bank uberpruft Betrag und Seriennummer und bittetAlice, alle Identitatsfolgen offenzulegen.

320 9 Elektronisches Bargeld

5. Falls alles in Ordnung ist, signiert die Bank die verbleibende Munze blind, belastet AlicesKonto und gibt die signierte Munze an Alice zuruck.

6. Alice macht ihre Munze wieder lesbar und geht mit ihr einkaufen.

7. Der Handler uberpruft die Signatur der Bank.

8. Nun muss Alice von jeder Identitatsfolge entweder die linke oder die rechte Halfte offnen.Der Handler bestimmt fur jede der Folgen zufallig, welche Halfte sie offnet.

9. Alice befolgt die Anweisung.

10. Der Handler bringt die Munze zur Bank mit der Bitte um Gutschrift auf sein Konto.

11. Die Bank uberpruft ihre Signatur und uberpruft in ihrer Datenbank, ob bereits eineMunze mit der gleichen Seriennummer eingegangen ist. Ist dies nicht der Fall, bekommtder Handler sein Geld und die Bank protokolliert Seriennummer und alle Identitatsinfor-mationen in ihrer Datenbank.

12. Ist die Seriennummer bereits in der Datenbank gespeichert, so liegt (mit sehr hoherWahrscheinlichkeit) ein Betrug vor. Nun werden die verschlusselten Identitatsdaten aufder Munze mit den in der Datenbank gespeicherten verglichen. Stimmen sie uberein, soweiß die Bank, dass der Handler die Munze kopiert hat.

9.3 Protokolle fur Elektronisches Bargeld 321

Im anderen Fall ist Alice die Betrugerin.

Nun vergleicht die Bank alle Identitatspaare auf der Munze mit den gespeicherten. Gibtes ein Paar bei dem beide Halften geoffnet wurden, so verknupft die Bank diese beidenHalften mit XOR und liest die Identitat von Alice im Klartext.

Kapitel 10

Elektronische Zahlungssysteme

• Micro-Payment fur Pfennigbetrage und

• Macro-Payment fur Betrage ab etwa 5 DM.

Kategorien:

Elektronisches Bargeld: s.o., Beispiele sind Mondex und Ecash.

323

Kreditkarte: Beispiel: SET.

Abbuchung vom Konto: Erteilen einer Einzugsermachtigungan den Handler.

Abrechnung uber die Telefonrechnung:Variante: uber das Konto des Mobiltelefons. Authentisierung perRuckruf der Abrechnungsstelle beim Mobiltelefon des Kunden.

324 10 Elektronische Zahlungssysteme

10.1 Die Geldkarte

Chipkarte mit sicherer Speicherung des Betrags und kryptographi-schen Protokollen fur Authentifikation und Kommunikation.

10.1 Die Geldkarte 325

Vergleich von Geldkarte und Mondex-System

Karte

Wallet

Karte

Händler Karte

Händler

Bank

MondexGeldkarte

Bank

Zukunftig soll uber spezielle Kartenlesegerate auch das Bezahlen im

326 10 Elektronische Zahlungssysteme

Internet mit Geldkarte moglich sein.

10.2 Mondex 327

10.2 Mondex

• 1990 in Großbritannien gestartet.

• Bis heute Pilotversuche in Großbritannien, den USA, Kanada,Australien und anderen Landern.

• Gegenuber der Geldkarte mehr Komfort.

• Gegenuber der Geldkarte geringere Sicherheit.

• Details geheim (Kerkhoffs-Prinzip!) ⇒ unter FachleutenMisstrauen!

328 10 Elektronische Zahlungssysteme

10.3 Ecash 329

10.3 Ecash

• Basiert auf elektronischen Munzen

• Ahnelt Protokoll Nr. 5 (D. Chaum)

• Algorithmen: RSA mit 768-Bit-Schlussel, Triple-DES, SHA-1

• Wegen mangelnder Akzeptanz im Pilotversuch von DeutscherBank eingestellt!

330 10 Elektronische Zahlungssysteme

10.4 Secure Electronic Transactions (SET)

• Aufwandiges Protokoll zum Bezahlen mit Kreditkarten

• Ende 1997 von VISA und MasterCard gestartet

• zweiseitige Authentifizierung, Verschlusselung, Vertraulichkeit

• Bsp.: Handler erfahrt keine Kreditkartennummer des Kunden!

• Kunde und Handler mussen Zertifikate beantragen ⇒ Nach-teil gegenuber anderen Systemen.

10.4 Secure Electronic Transactions (SET) 331

Ablauf einer SET-Transaktion

Kapitel 11

Politische Randbedingungen

11.1 Starke Kryptographie und der Lauschangriff 333

11.1 Starke Kryptographie und der Lauschangriff

• ECHELON: weltweites Abhorsystem zum routinemaßigen Abhorender Internet-Leitungen und Satellitenverbindungen.

• Sicherheit der starken Kryptographie so hoch, dass selbst dieNSA nicht mithoren kann.

• Dilemma: Polizei hat ein Problem bei der Verbrechensbekamp-fung.

• In Frankreich war das Verschlusseln von 1990 bis 1996 verboten.

• USA: 1993 bis 1996 Escrowed Encryption Standard (EES) ein-

334 11 Politische Randbedingungen

gefuhrt: Verwendung des Clipper-Chips fur Verschlusselung. Dergeheime Schlussel war in jedem Clipper-Chip fest codiert undbeim NIST hinterlegt. Mit richterlicher Anordnung konnte dannabgehort werden.

11.1 Starke Kryptographie und der Lauschangriff 335

Chaffing and Winnowing

Ron Rivest [Riv98] ( ⇒ RSA)

Idee: Nachrichten geheimhalten ohne verschlusseln.

Jede Nachricht wird in Pakete zerlegt.

Jedes Paket wird mit einem MAC signiert.

Die Pakete werden alle als Klartext verschickt und besitzen eineSeriennummer zur Rekonstruktion.

(Beispiel aus [Riv98]):

(1,Hi Bob,465231)

(2,Meet me at,782290)

(3,7PM,344287)

(4,Love-Alice,312265)

336 11 Politische Randbedingungen

Alice, die Absenderin, streut zu jedem Paket falsche Pakete miteiner Zufallszahl statt dem MAC ein:

(1,Hi Larry,532105)

(1,Hi Bob,465231)

(2,Meet me at,782290)

(2,I’ll call you at,793122)

(3,6PM,891231)

(3,7PM,344287)

(4,Yours-Susan,553419)

(4,Love-Alice,312265)

Bob, der Empfanger, kennt den Schlussel und kann den MAC uber-prufen. So kann er die Spreu (chaff) vom Weizen trennen.

• Behorden konnten die Hinterlegung des geheimen Schlusselsverlangen.

11.1 Starke Kryptographie und der Lauschangriff 337

• Rivest argumentiert so: Da der Schlussel ein Signaturschlusselist, hat die Behorde kein Recht, diesen zu verlangen.

338 11 Politische Randbedingungen

11.2 US-Exportgesetze

Seit 12.1.2000 wurden die Exportrestriktionen fast ganz aufgeho-ben.

Kryptographische Software darf nun an Nicht-Regierungs-Endbenutzerweltweit exportiert werden mit Ausnahme der sieben “Terroristen-Lander” Kuba, Iran, Irak, Libyen, Nord Korea, Sudan und Syrien.

Kapitel 12

Sicherheitslucken in der Praxis

Wenn man ein Verfahren anwendet, das beweisbar sicher und kor-rekt ist, dann hat man beste Voraussetzungen fur Sicherheit in derPraxis. Jedoch keine Garantie!!!

340 12 Sicherheitslucken in der Praxis

Mogliche Gefahrenquellen (unvollstandig!):

Programmierfehlerggf. sicherheitsrelevante Programmteile automatisch verifizie-ren.

Aufbewahrung von SchlusselnProbleme: zu kurze Passworte (Worterbuchangriff), unverschlussel-te Ubertragung des Passwortes, aufgeschriebene Passworter

Bestechung, Erpressung, physische Gewalt

Unvollstandiges LoschenBeim Verschlusseln von Dateien muss darauf geachtet werden,dass die Klartextdatei mit binaren Nullen uberschrieben wird.

341

Kopieren von Schlusseln aus dem HauptspeicherLange Verweilzeiten von Schlusseln im Hauptspeicher sind ungunstig,Auslagern auf die Festplatte sollte verhindert werden.

Schlechte Zufallszahlen

Schlechte Passworter/Vorlagephrasen⇒ Chipkarte mit gespeichertem Schlussel.

Betriebssystemfehler

Inhomogener Sicherheitstandard innerhalb eines Systems

Ein System ist nur so sicher wie der schwachste Zugang.

Umstandliche BedienungSicherheitsfunktionen sollten einfach zu bedienen sein. Sie soll-ten leichter ein- als auszuschalten sein.

342 12 Sicherheitslucken in der Praxis

Geringe Nachfrage nach Sicherheitsfunktionen

Verkehrsanalyse

Trojanische PferdeTrojanische Pferde sind vorgetauschte Benutzeroberflachen, umz. B. Passworter abzuhoren.

Gefalschte offentliche SchlusselVertrauen Sie nur einem offentlichen Schlussel, den Sie personlichvom Eigentumer erhalten haben, oder der von einer Zertifizie-rungsbehorde signiert wurde.

Entsorgen gebrauchter Datentrager

Abhoren elektromagnetischer Wellen

Angriffe aufgrund von Seiteneffekten

343

Gefalschte Zeitstempel

Kapitel 13

Das kleine Einmaleins auf endlichen Mengen

Gesucht: Arithmetik auf endlicher Menge mit n Elementen

Losung: Rechnen mit Resten,d. h. Addieren und Multiplizieren modulo n.

13.1 Modulare Arithmetik 345

13.1 Modulare Arithmetik

17 : 3 = 5 Rest 2 oder 17 = 5 · 3 + 2

12 : 3 = 4 Rest 0 oder 12 = 4 · 3

Der Divisionsrest ist immer eindeutig und es gilt

Satz 13.1 Seien a, b ∈ N und b > 0. Dann gibt es eindeutigenaturliche Zahlen q und r mit a = qb + r und r < b.

Beweis: Es gilt 0 < b ≤ a und ab ≥ a. Sei q das großte Viel-fache von b mit qb ≤ a. Dann ist (q + 1)b = qb + b > a. Also

346 13 Das kleine Einmaleins auf endlichen Mengen

r = a− qb < b.Eindeutigkeit: Angenommen es gibt zwei Paare r1, q1, r2, q2, mitr1 > r2 und q1 < q2, welche die Gleichungen a = q1b + r1

und a = q2b + r2 erfullen. Dann folgt q1b + r1 = q2b + r2 und(q2− q1)b = r1− r2. Wegen q2− q1 > 0 ist r1− r2 ≥ b. Damit istauch r1 ≥ b im Widerspruch zur Annahme. 2

Definition 13.1 Seien a, n ∈ Z und sei a = nq + r mit r < n.Dann schreibt man

r = a mod n.

Zwei Zahlen a, b ∈ Z heißen restgleich, wenn a mod n =b mod n. Man schreibt a ≡ b mod n und spricht a ist kon-gruent zu b modulo n.

13.1 Modulare Arithmetik 347

Beispiel 13.1

19 ≡ 12 mod 7 = 5 und 19− 12 = 7 ist teilbar durch 7,

2, 5, 8, 11, 14, 17, 20, 23, . . . sind paarweise kongruent modulo 3.

Satz 13.2 Wenn zwei Zahlen bei Division durch n den gleichenRest haben, ist ihre Differenz ein Vielfaches des Moduls n. Fura, b ∈ Z gilt also

a ≡ b mod n ⇔ (a− b) ist teilbar durch n,

Beweis: “⇒”: Sei a ≡ b mod n. Dann haben a und b bei Divisiondurch n den gleichen Rest r. Also gilt a = q1n + r, b = q2n + rund a− b = (q1− q2)n. Damit ist a− b ohne Rest teilbar durch n.

348 13 Das kleine Einmaleins auf endlichen Mengen

“⇐”: Sei (a − b) durch n teilbar. Dann gibt es ein q ∈ N mita − b = q n. Dividiert man a und b durch n, so erhalt man a =qan + ra und b = qbn + rb. Also gilt

a− b = (qa − qb)n + (ra − rb) = q n

(ra − rb) = (q − qa + qb)n

und (ra− rb) ist durch n teilbar. Da ra, rb < n ist ra− rb < n. Dieeinzige durch n teilbare Zahl kleiner n ist 0. Also ist ra − rb = 0,d. h. a und b sind restgleich. 2

Definition 13.2 Sei n ∈ N. Dann ist Zn := Z/nZ :={0, 1, . . . , n− 1}.

13.1 Modulare Arithmetik 349

Definition 13.3 Eine naturliche Zahl n > 1 heißt Primzahl,wenn sie nur durch 1 und sich selbst ohne Rest teilbar ist.

350 13 Das kleine Einmaleins auf endlichen Mengen

Definition 13.4 Eine Struktur (M,+, ·) auf einer Menge M mitden inneren Verknupfungen +, · heißt Ring, wenn gilt:

• (M,+) ist eine kommutative Gruppe, d. h. es gibt bezuglich +ein neutrales Element 0 sowie zu jedem Element a ein Inverses−a und es gelten das Assoziativ- und Kommutativgesetz.

• (M, ·) besitzt ein neutrales Element 1, und es gilt das Assozia-tivgesetz.

• Es gelten die Distributivgesetze a(b+c) = ab+ac und (a+b)c =ac + bc fur alle a, b, c ∈M .

Definition 13.5 Ein Ring (M,+, ·) heißt Korper, wenn (M, ·)kommutativ ist und wenn es zu jedem Element a ein multiplikativesInverses a−1 = 1/a gibt.

13.1 Modulare Arithmetik 351

Beispielsweise ist (Z,+) eine kommutative Gruppe, (Z,+, ·) einkommutativer Ring und (Q,+, ·) ein Korper.

betrachte (Zn,+, ·).

Addition bzw. Multiplikation sind definiert als (a + b) mod n bzw.(a · b) mod n.

Konvention: oft schreibt man a + b statt (a + b) mod n.

Satz 13.3 (Zn,+, ·) ist ein kommutativer Ring.

Beweis: als Ubung 2

in Zn gelten alle Rechenregeln, analog wie in Q, mit Ausnahme der

352 13 Das kleine Einmaleins auf endlichen Mengen

Division.

Lemma 13.1 Jeder Korper (K,+, ·) ist nullteilerfrei, d. h. fur allex, y ∈ K\{0} gilt x · y 6= 0.

Beweis: Angenommen es gabe x 6= 0, y 6= 0 mit x ·y = 0. DurchMultiplikation mit y−1 folgt x = 0 im Widerspruch zur Vorausset-zung. 2

13.2 Invertierbarkeit in Zn 353

13.2 Invertierbarkeit in Zn

354 13 Das kleine Einmaleins auf endlichen Mengen

Beispiel 13.2 (Z4,+, ·) = ({0, 1, 2, 3},+, ·) und Verknupfungs-tabelle:

· 0 1 2 30 0 0 0 01 0 1 2 32 0 2 0 23 0 3 2 1

Z4 ist nicht nullteilerfreigibt es zu 2 kein multiplikativesInverses!Z4 ist kein Korper.3 · 3 = 1.

(Z3,+, ·) = ({0, 1, 2},+, ·) ist ein Korper:

· 0 1 20 0 0 01 0 1 22 0 2 1

1 · 2 = 2 · 1 = 22 ist invers zu sich selbst12 = 2.

13.2 Invertierbarkeit in Zn 355

Aber: 12 6= 0.5! denn diese Zahl gibt es in Z2 nicht. Es gilt 1

2 + 12 =

2 + 2 = 1.

Satz 13.4 Fur den Ring (Zn,+, ·) gilt:

n prim ⇔ (Zn,+, ·) ist ein Korper.

Beweis: “⇐”: Angenommen Zn ist ein Korper. Dann gilt fur jezwei Elemente x, y ∈ Zn: xy mod n 6= 0 und damit auch xy 6= n.Das heißt aber genau, dass n prim ist.

“⇒”: Sei n prim und sei a 6= 0 eine beliebige Zahl aus Zn. Wirbilden alle Produkte

a · 0, a · 1, a · 2, . . . , a · (n− 1) (13.1)

von a in Zn und zeigen nun, dass diese paarweise voneinander ver-

356 13 Das kleine Einmaleins auf endlichen Mengen

schieden sind. Ware namlich a · b = a · c fur 0 ≤ b < c < n, sogalte

a · (c− b) ≡ 0 mod n,

d. h. a · (c− b) ist durch n ohne Rest teilbar und es gibt x ∈ N mit

a · (c− b) = x · n.Zerlegen wir nun beide Seiten dieser Gleichung in ihre Primfakto-ren, so kommen links nur Zahlen aus {1, . . . , n− 1} vor, wahrendrechts ein Vielfaches der Primzahl n steht. Dies ist ein Widerspruchzur Eindeutigkeit der Primfaktorzerlegung naturlicher Zahlen. Da-mit sind alle Produkte in (13.1) verschieden und es gilt

{a · 0, a · 1, a · 2, . . . , a · (n− 1)} = {0, 1, 2, . . . , n− 1}. (13.2)

Da 1 ∈ {0, 1, 2, . . . , n − 1} und 1 Produkt von a und einer Zahlq ∈ {0, 1, 2, . . . , n − 1} ist, ist dieses q invers zu a. Da a 6= 0

13.2 Invertierbarkeit in Zn 357

beliebig gewahlt wurde, gibt es in Zn zu jeder Zahl außer null eininverses. 2

Satz 13.5 (Fermat) Sei n eine Primzahl. Dann gilt in Zn furalle a 6= 0

an−1 = 1.

Beweis: Nach Satz 13.4 ist Zn ein Korper, da n prim ist. Danngilt fur a 6= 0 die Mengengleichung

{1, . . . , n− 1} = {a · 1, . . . , a · (n− 1)},

denn fur x 6= y gilt in einem Korper immer ax 6= ay (Ware diesnicht der Fall, so wurde aus a(x − y) = 0 folgen x = y, was derVoraussetzung x 6= y widerspricht.), weshalb alle Produkte von a

358 13 Das kleine Einmaleins auf endlichen Mengen

mit einer der Zahlen 1, . . . , n − 1 unterschiedlich und 6= 0 seinmussen.

Mit obiger Mengengleichung gilt auch

1 · . . . · n− 1 = a · 1 · . . . · a · (n− 1) = an−1 · 1 · . . . · (n− 1)

Da Zn ein Korper ist, durfen wir die Zahlen 2, 3, . . . , n− 1 kurzenund erhalten

an−1 = 1,

womit der Satz bewiesen ware. 2

Nebeneffekt: Es gilt an−1 = aan−2 = 1 und damit

a−1 = an−2.

13.2 Invertierbarkeit in Zn 359

Z. B. ist in Z23

6−1 = 621 = 616+4+1 = (((62)2)2)2 · (62)2 · 6 = ((132)2)2 · (13)2 · 6= (82)2 · 8 · 6 = 182 · 8 · 6 = 2 · 8 · 6 = 96 mod 23 = 4,

Probe: in Z23 ist 6 · 4 = 1.

Unklar: wie geht’s wenn n nicht prim?

360 13 Das kleine Einmaleins auf endlichen Mengen

13.3 Der Euklidische Algorithmus

Definition 13.6 Fur a, b ∈ N sei ggT(a, b) der großte gemein-same Teiler von a und b, d. h. die großte ganze Zahl, die a und bohne Rest teilt.

13.3 Der Euklidische Algorithmus 361

Beispiel 13.3 Der großte gemeinsamer Teiler von 531 und 93 lasstsich wie folgt durch wiederholte Division berechnen:

531 = 5 · 93 + 66

93 = 1 · 66 + 27

66 = 2 · 27 + 12

27 = 2 · 12 + 3

12 = 4 · 3

Tatsachlich ist ggT(531, 93) = 3, denn es gilt folgender Satz:

362 13 Das kleine Einmaleins auf endlichen Mengen

Satz 13.6 Euklidischer Algorithmus: Seien a, b ∈ N\{0}.Dann gilt

ggT(a, b) =

{ggT(b, a mod b) falls a mod b 6= 0

b falls a mod b = 0

Beweis: Zuerst beweisen wir den Terminierungsfall der Rekursi-onsformel: Sei a mod b = 0. Dann ist a ist durch b ohne Rest teilbarund a ist Vielfaches von b. Also ist ggT(a, b) = b.Sei nun a mod b 6= 0. Dann ist a = qb + r. Ist d der ggT von aund b, so teilt d auch qb und damit auch r = a− qb. Also ist d einTeiler von b und r. Jeder Teiler von b und r ist auch Teiler von a

13.3 Der Euklidische Algorithmus 363

und ist damit ≤ d. d ist also auch ggT von b und r. Es folgt

ggT(a, b) = d = ggT(b, r) = ggT(b, a mod b). 2

Mathematica-Programm fur den Euklidischen Algorithmus:

ggT[a ,b ] := ggT[b,Mod[a,b]]

ggT[a ,0] := a

Nochmal das Beispiel:

531 = 5 · 93 + 66

93 = 1 · 66 + 27

66 = 2 · 27 + 12

27 = 2 · 12 + 3

364 13 Das kleine Einmaleins auf endlichen Mengen

ruckwarts Einsetzen:

3 = 27− 2 · 12

= 27− 2 · (66− 2 · 27) = −2 · 66 + 5 · 27

= −2 · 66 + 5 · (93− 66) = 5 · 93− 7 · 66

= 5 · 93− 7(531− 5 · 93) = −7 · 531 + 40 · 93

13.3 Der Euklidische Algorithmus 365

Verallgemeinerung: mit r0 := a und r1 := b gilt

r0 = q0 · r1 + r2

r1 = q1 · r2 + r3

. . .

ri = qi+1 · ri+1 + ri+2

. . .

rn−3 = qn−2 · rn−2 + rn−1

rn−2 = qn−1 · rn−1 + rn

rn−1 = qn · rn

ruckwarts Einsetzen ergibt

d = rn

= rn−2 − qn−1 · rn−1= rn−2 − qn−1 · (rn−3 − qn−2 · rn−2) = −qn−1rn−3 + (1 + qn−1qn−2)rn−2

= (. . .)rn−4 + (. . .)rn−3

. . .

= (. . .)r0 + (. . .)r1

= x · r0 + y · r1= x · a+ y · b,

366 13 Das kleine Einmaleins auf endlichen Mengen

was zu folgendem Satz fuhrt.

Satz 13.7 Sei d = ggT(a, b). Dann gibt es ganze Zahlen x undy mit

d = ggT(a, b) = a x + b y.

Sei ggT(a, n) = 1.

Dann gibt es x und y mit 1 = a x + n y und

1 = 1 mod n = a x mod n + n y mod n = a x mod n.

also: x = a−1.

13.3 Der Euklidische Algorithmus 367

Beispiel 13.4 gesucht ist 136−1 mod 3003.

3003 = 22 · 136 + 11

136 = 12 · 11 + 4

11 = 2 · 4 + 3

4 = 1 · 3 + 1

⇒ ggT(3003, 136) = 1, also ruckwarts Einsetzen:

1 = 4− 1 · 3= 4− (11− 2 · 4) = 3 · 4− 11

= 3 · (136− 12 · 11)− 11 = 3 · 136− 37 · 11

= 3 · 136− 37 · (3003− 22 · 136) = 817 · 136− 37 · 3003

368 13 Das kleine Einmaleins auf endlichen Mengen

Also: 817 = 136−1 mod 3003

13.3 Der Euklidische Algorithmus 369

erweiterter Euklidischer Algorithmus

ErwEuklid(a,b)If(b == 0) Then Return(a,1,0)

(d,x,y) = ErwEuklid(b,Mod(a,b))Return(d,y,x-Div(a,b)*y)

Definition 13.7 Zwei naturliche Zahlen a und b heißen relativprim, wenn ggT(a, b) = 1.

Damit sind nun endlich die Voraussetzungen fur den folgenden, furmultiplikative Chiffren und Tauschchiffren wichtigen Satz geschaf-

370 13 Das kleine Einmaleins auf endlichen Mengen

fen:

Satz 13.8 Ist ggT(a, n) = 1, dann gibt es zu a eine Inversea−1 bezuglich der Multiplikation in Zn mit aa−1 ≡ 1 mod n. Dererweiterte Euklidische Algorithmus berechnet a−1.

13.4 Die Eulersche ϕ-Funktion 371

13.4 Die Eulersche ϕ-Funktion

Definition 13.8 Fur jede naturliche Zahl n gibt die Eulersche ϕ-Funktion ϕ(n) die Anzahl der naturlichen Zahlen kleiner als n an,die zu n teilerfremd sind, das heißt

ϕ(n) = |{0 ≤ k < n|ggT(k, n) = 1}| .

372 13 Das kleine Einmaleins auf endlichen Mengen

Beispiel 13.5 ϕ(15) = 8, denn die Zahlen 1,2,4,7,8,11,13,14 sindteilerfremd zu 15. Nun berechnen wir a8 mod 15 fur alle a < 15.

a 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14a8 mod 15 0 1 1 6 1 10 6 1 1 6 10 1 6 1 1

Man erkennt, dass a8 mod 15 = 1 immer dann, wenn a und 15 tei-lerfremd sind. Dies gilt allgemein, denn es gilt folgender Satz.

Satz 13.9 Wenn ggT(a, n) = 1, dann gilt aϕ(n) mod n = 1.

Ist n eine Primzahl, so erkennt man leicht, dass ϕ(n) = n− 1. DerFermatsche Satz ergibt sich daher als Spezialfall dieses Satzes.

13.4 Die Eulersche ϕ-Funktion 373

Beispiel 13.6 230 mod 15 = 4, aber

230 mod 15 mod 15 = 20 mod 15 = 1.

Offenbar gilt nicht ab mod n = ab mod n mod n.1

Neuer Versuch:

230 mod ϕ(15) mod 15 = 230 mod 8 mod 15 = 26 mod 15 = 64 mod 15 = 4.

Satz 13.10 Wenn ggT(a, n) = 1, dann gilt ab mod n =ab mod ϕ(n) mod n.

Beweis: Der Exponent b lasst sich schreiben als b = qϕ(n) + r

374 13 Das kleine Einmaleins auf endlichen Mengen

mit r = b mod ϕ(n). Damit ergibt sich

ab mod n = aqϕ(n)+r mod n = ((aqϕ(n) mod n) · (ar mod n)) mod n

= (aϕ(n) mod n) · (aϕ(n) mod n) · . . . · (aϕ(n) mod n) · (ar mod n)

= 1 · 1 · . . . · 1 · (ar mod n) = ar mod n = ab mod ϕ(n) mod n,

wobei in der vierten Gleichung Satz 13.9 verwendet wurde. 2

13.5 Primzahlen 375

13.5 Primzahlen

iteratur: [?]

Satz 13.11 (Fundamentalsatz der Arithmetik) Jede naturlicheZahl n > 1 besitzt eine eindeutige Primfaktorzerlegung, d.h. zun > 1 gibt es eindeutig bestimmte Primzahlen p1, . . . , pk undnaturliche Zahlen a1, . . . , ak mit

n = pa11 · p

a22 · · · pann .

376 13 Das kleine Einmaleins auf endlichen Mengen

Satz 13.12 Es gibt unendlich viele Primzahlen.

Beweis: Angenommen es gibt endlich viele Primzahlen und diegroßte Primzahl sei p. Dann berechnen wir die Zahl

n = 2 · 3 · 5 · . . . · p + 1.

Diese Zahl n ist nicht durch eine der Primzahlen 2 bis p teilbar,denn bei jeder Division bleibt der Rest 1. n ist also durch keinePrimzahl teilbar. Aus Satz 13.11 wissen wir jedoch, dass jede Zahlin ihre Primfaktoren zerlegt werden kann. Dieser Widerspruch fuhrtzur Behauptung. 2

Wichtig fur die Schlusselgenerierung beim RSA-Algorithmus:

13.5 Primzahlen 377

Definition 13.9 Fur jede naturliche Zahl n gibt π(n) die Zahlder Primzahlen kleiner oder gleich n an.

Satz 13.13 Die Zahl π(n) der Primzahlen unterhalb n ist furgroße n naherungsweise durch

π(n) ≈ n

lnn− 1.08366≈ n

lnn

gegeben.

378 13 Das kleine Einmaleins auf endlichen Mengen

1e+09

2e+09

3e+09

4e+09

2e+10 4e+10 6e+10 8e+10 1e+11

n

Primzahlhäufigkeit

π(n)n/(ln(n)−1.08366)

n/ln(n)

0

0.05

0.1

0.15

0.2

0.25

0.3

100000 1e+10 1e+15 1e+20 1e+25 1e+30 1e+35 1e+40

π(n)

/n

n

Primzahldichte

Die Funktion π(n) sowie die beiden Approximationen (links) unddie Primzahldichte (rechts).

13.5 Primzahlen 379

13.5.1 Primzahltests

Fermatscher Satz zur Suche nach großen Primzahlen.

an−1 6= 1 ⇒ n ist nicht prim.

an−1 = 1 ⇒ ?

380 13 Das kleine Einmaleins auf endlichen Mengen

Beispiel 13.7 berechne an−1 mod n fur alle a zwischen 2 und n−1 (siehe auch Ubung ??) und bestimmen die relative Haufigkeit vonEinsen.

10000 0.

10001 0.00630

10002 0.

10003 0.00349

10004 0.

10005 0.00629

10006 0.

10007 1.

10008 0.

10009 1.

10010 0.

10011 0.02787

10012 0.00019

10013 0.00149

10014 0.

10015 0.00029

10016 0.

10017 0.00149

10018 0.

10019 0.00029

10020 0.

10021 0.00988

10022 0.

10023 0.00069

10024 0.00019

10025 0.00309

10026 0.

10027 0.03221

10028 0.

10029 0.00029

10030 0.

10031 0.00029

10032 0.

10033 0.00348

10034 0.

10035 0.00069

10036 0.00079

10037 1.

10038 0.

10039 1.

10040 0.

10041 0.00029

10042 0.

10043 0.00029

10044 0.

10045 0.00945

10046 0.

10047 0.00069

10048 0.00019

10049 0.00149

10050 0.

10051 0.00109

10052 0.

10053 0.00069

10054 0.00019

10055 0.00029

10056 0.

10057 0.00626

10058 0.

10059 0.00069

10060 0.

10061 1.

10062 0.

10063 0.00029

10064 0.

10065 0.00626

10066 0.00019

10067 1.

10068 0.

10069 1.

10070 0.

10071 0.00029

10072 0.

10073 0.00029

10074 0.

10075 0.00704

10076 0.00039

10077 0.00029

10078 0.

10079 1.

10080 0.

10081 0.02530

10082 0.

10083 0.00029

10084 0.00019

10085 0.00148

10086 0.00039

10087 0.00228

10088 0.

10089 0.00069

10090 0.00079

10091 1.

10092 0.

10093 1.

10094 0.

10095 0.00544

10096 0.00138

10097 0.00029

10098 0.

10099 1.

10100 0.

Relative Haufigkeit von an−1 mod n = 1 fur n ∈ [10000, 10100].Suche nach der maximalen Wahrscheinlichkeit fur

an−1 mod n = 1 unter allen Zahlen n im Intervall [10000,20000].Ergebnis: 12959/15839 ≈ 0.8182. Dieses Maximum tritt auf bei

n = 15841 = 7 · 31 · 73.Fur etwa 82% aller a zwischen 2 und 15840 ist also

a15840 mod 15841 = 1.Simpler Primzahltest:

1. Wahle Zufallszahlen a1, . . . , ak aus {2, . . . , n− 1}2. Berechne an−1

i in Zn3. Falls alle an−1

i = 1, entscheide: n primsonst entscheide: n nicht prim.

Mochte man z.B. n = 15841 testen und wahlt zufallig 100 Zahlenai zwischen 2 und 15840, so ist die Wahrscheinlichkeit, dass sich100 mal a15840

i mod 15841 = 1 ergibt, gleich 0.82100 ≈ 2.4 · 10−9.Das ist die Fehlerwahrscheinlichkeit fur diesen Test, die aber nur

fur n ∈ [10000, 20000] gilt.

13.5 Primzahlen 381

Test von Miller und Rabin:

Satz 13.14 Sei n eine erlaubte Zahl, d. h. eine ungerade Zahlfur die auch n−1

2 ungerade ist. Dann gilt:

1. n prim ⇒ an−1

2 = ±1 fur alle a ∈ Zn\{0}2. n nicht prim ⇒ a

n−12 = ±1 fur hochstens die Halfte der a ∈ Zn\{0}.

Der Beweis der ersten Aussage ist einfach. Da n ungerade ist, istn−1

2 eine naturliche Zahl und es gilt

(an−1

2 + 1)(an−1

2 − 1) = an−1 − 1 = 0

Die letzte Gleichung folgt aus dem Fermatschen Satz (Satz 13.5).

Da Zn ein Korper ist, wird das Produkt (an−1

2 + 1)(an−1

2 − 1) Null

382 13 Das kleine Einmaleins auf endlichen Mengen

wenn einer der Faktoren Null wird. Daraus folgt die Behauptung.

Fur den Beweis der zweiten Aussage dieses Satzes wird auf [Str96]verwiesen. Will man nun eine Zahl n auf Primalitat testen, so kannman folgendes vereinfachte Verfahren aus [Str96] anwenden.

Statistischer Primzahltest fur erlaubte Zahlen n:

1. Wahle Zufallszahlen a1, . . . , ak aus {1, . . . , n− 1}

2. Berechne an−1

2i in Zn

3. Falls alle an−1

2i = ±1, entscheide: n prim

sonst entscheide: n nicht prim.

Dieser Test ist sehr effizient, aber er gibt nicht immer die korrekte

Antwort. Ist n prim, so gilt nach Satz 13.14 fur alle ai: an−1

2i = ±1.

13.5 Primzahlen 383

Ist jedoch n nicht prim, so kann es sein, dass an−1

2i = ±1 fur alle

ai und der Test antwortet: prim. Die Zahlen a1, . . . , ak werdenubrigens Zeugen (engl. witness) genannt.

Die Fehlerwahrscheinlichkeit ist ≤ (12)k, denn nach Satz 13.14 ist

die Fehlerwahrscheinlichkeit fur jedes einzelne ai hochstens 12. Fur

die Praxis ist dieser Wert jedoch nicht von Interesse, sondern es wirdein anderer Wert benotigt, den man wie folgt berechnet [Sti95]. Furden beschriebenen Test ist die Wahrscheinlichkeit, eine Zahl als primzu klassifizieren, wenn sie zusammengesetzt ist, kleiner oder gleich(1

2)k. Formal laßt sich dies als bedingte Wahrscheinlichkeit

P ( t | p ) ≤ 1

2(13.3)

ausdrucken. Hierbei steht t fur das Ereignis “Die Zahl n bestehtden Test”, p fur das Ereignis “Die Zahl n ist prim” und t

384 13 Das kleine Einmaleins auf endlichen Mengen

sowie p fur die jeweilige Negation.

Wie erwahnt, ist P ( t | p ) fur die Praxis nicht interessant. Vielmehrbenotigt man die bedingte Wahrscheinlichkeit P ( p | t ) dafur, dassdie Zahl n nicht prim ist, wenn der Test sie als prim klassifiziert.Diesen Wert berechnen wir nun mit der Bayes-Formel

P ( p | t ) =P ( t | p )P ( p )

P ( t )=

P ( t | p )P ( p )

P ( t | p )P ( p ) + P ( t | p )P ( p ).

(13.4)Von den hier benotigten Werten sind

P ( t | p ) = 1

und P ( t | p ) ≤(

1

2

)k

13.5 Primzahlen 385

bekannt. Damit vereinfacht sich Gleichung 13.4 zu

P ( p | t ) ≤(1

2)kP ( p )

P ( p ) + (12)kP ( p )

=P ( p )

P ( p ) + 2kP ( p )(13.5)

=1− P ( p )

1− P ( p ) + 2kP ( p )(13.6)

Wenn die Zahl n in dem Intervall [N, 2N ] liegt, so ist die Zahl derPrimzahlen in diesem Intervall nach Satz 13.13 etwa gegeben durch

2N

ln 2N− N

lnN=

2N

ln 2 + lnN− N

lnN≈ 2N

lnN− N

lnN=

N

lnN≈ n

lnn

Da bei dem Test vorausgesetzt wird, dass n erlaubt ist, gilt

P ( p ) = P (n prim|n erlaubt) =P (n prim und n erlaubt)

P (n erlaubt)≈

12

1lnn14

=2

lnn

386 13 Das kleine Einmaleins auf endlichen Mengen

Hier wurde außerdem verwendet, dass etwa die Halfte der Primzah-len und ein Viertel aller naturlichen Zahlen erlaubte Zahlen sind.Aus Gleichung 13.6 ergibt sich somit

P ( p | t ) /1− 2

lnn

1− 2lnn + 2k 2

lnn

≈ 1

1 + 2k 2lnn

=1

1 + 2k+1

lnn

≈ lnn

2k+1

Fur RSA mit 1024 Bit langen Schlusseln werden bei der Schlussel-generierung 512 Bit lange Primzahlen benotigt. Folgende Tabellegibt daher fur n = 2512 eine obere Schranke fur die Fehlerwahr-scheinlichkeit P ( p | t ) des Tests an.

k 10 20 40 80(1 + 2k+1

512 ln 2

)−1

0.148 1.69 · 10−4 1.61 · 10−10 1.47 · 10−22

Der Anwender dieses Tests kann also selbst die mittlere Korrekt-

13.5 Primzahlen 387

heit der Antwort des Tests bestimmen, indem er die Anzahl k dergewahlten Zufallszahlen entsprechend hoch setzt. Fur k = 80 istdie Fehlerwahrscheinlichkeit kleiner oder gleich 1.47 · 10−22.

Deterministischer Primzahltest:

• Im August 2002 fanden drei Inder polynomiellen deterministi-schen Primzahltest [?].

• Keine praktische Bedeutung.

• Theoretisch von großer Bedeutung

388 13 Das kleine Einmaleins auf endlichen Mengen

13.6 Der endliche Korper GF (28)

Gesucht: Chiffre, die auf Bytes arbeitet.

(Z256,+, ·) ungeeignet. warum?

Losung: GF (28) mit 256 Elementen

Die Bits b7, b6, b5, b4, b3, b2, b1, b0 eines Bytes sind Koeffizienten desPolynoms

b(x) = b7x7 + b6x

6 + b5x5 + b4x

4 + b3x3 + b2x

2 + b1x + b0

Das Byte mit dem hexadezimalen Wert ‘57’ (binar 01010111) re-

13.6 Der endliche Korper GF (28) 389

prasentiertx6 + x4 + x2 + x + 1.

390 13 Das kleine Einmaleins auf endlichen Mengen

Addition

Die Addition von Polynomen ist definiert als Addition der Koeffizi-enten modulo 2.

Beispiel: ‘57’ ⊕ ‘83’ = ‘D4’, oder

(x6 + x4 + x2 + x + 1)⊕ (x7 + x + 1) = x7 + x6 + x4 + x2.

Binardarstellung01010111

⊕ 10000011

11010100

(bitweises XOR).

Die Menge aller Bytes mit dem bitweisen XOR ist eine Gruppe.

13.6 Der endliche Korper GF (28) 391

Multiplikation

Polynome werden multipliziert modulo eines irreduziblen Polynomsm(x) vom Grad 8.

Ein Polynom heißt irreduzibel, falls es sich nicht als Produkt zwei-er (anderer) Polynome darstellen lasst. Das in Rijndael benutztePolynom ist

m(x) = x8 + x4 + x3 + x + 1

oder ‘11B’ in hexadezimaler Darstellung.

392 13 Das kleine Einmaleins auf endlichen Mengen

Beispiel 13.8 In GF (28) gilt ‘57’ · ‘83’ = ‘C1’, denn

(x6 + x4 + x2 + x + 1) · (x7 + x + 1)

= x13 + x11 + x9 + x8 + x7+

x7 + x5 + x3 + x2 + x+

x6 + x4 + x2 + x + 1

= x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1

und

(x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1) mod (x8 + x4 + x3 + x + 1)

= x7 + x6 + 1

Es gibt zwar keine einfache Operation auf Byte-Ebene fur die Multi-plikation, doch auch sie lasst sich effizient implementieren [DR99].

13.6 Der endliche Korper GF (28) 393

GF (28) ist ein Korper.

Berechnung des Inversen bezuglich der Multiplikation mit erweiter-tem Euklidischem Algorithmus oder nach dem Satz von Fermat,angewandt auf Polynome.

394 13 Das kleine Einmaleins auf endlichen Mengen

Polynome mit Koeffizienten in GF (28)

Die Elemente von GF (28) sind schlicht alle Byte-Werte, das heißtdie Zahlen 0 bis 255.

Polynome (Grad ≤ 3) mit Bytes als Koeffizienten sind 4-Byte-Worte

Beispiel: ‘57 00 D4 11’ steht fur

57x3 + D4x + 11,

Die Koeffizienten des Polynoms sind nun selbst Polynome, das heißtElemente von GF (28). Damit sind Addition und Multiplikation vonderartigen Polynomen definiert.

Fur die Multiplikation von zwei Polynomen verwenden wir das Sym-bol ⊗.

13.6 Der endliche Korper GF (28) 395

Hier werden die Koeffizienten entsprechend den Regeln von GF (28)addiert und multipliziert. Man erhalt ein Polynom vom Grad ≤ 6.Dieses wird nun reduziert auf den Grad ≤ 3 durch Bestimmung desDivisionsrestes modulo x4 + 1.

Multiplikation eines derartigen Polynoms mit x modulo x4 + 1 ent-spricht einer zyklischen Verschiebung aller vier Bytes um eins nachlinks.

Beispiel:

((57x3 + D4x + 11)⊗ x) mod (x4 + 1) = D4x2 + 11 x + 57.

In [DR99] wird auch gezeigt, dass die Multiplikation d(x) = a(x)⊗b(x) eines Polynoms a(x) = a3x

3+a2x2+a1+a0 mit dem Polynom

b(x) = b3x3 + b2x

2 + b1 + b0 modulo x4 + 1 dargestellt werden kann

396 13 Das kleine Einmaleins auf endlichen Mengen

als die Matrixmultiplikationd0

d1

d2

d3

=

a0 a3 a2 a1

a1 a0 a3 a2

a2 a1 a0 a3

a3 a2 a1 a0

b0

b1

b2

b3

,

wobei wie oben die einzelnen Additionen und Multiplikationen nachden Regeln in GF (28) durchgefuhrt werden.

In Rijndael wird ein festes Polynom a(x) gewahlt und in der MixColumn-Transformation mit einem 4-Byte-Wort multipliziert.

Fur das Dechiffrieren ist es wichtig, dass diese Multiplikation um-kehrbar ist, d. h. dass es ein zu a(x) inverses Polynom a−1(x) gibt.

Wie in Satz 13.8 und Satz 3.1 fur multiplikative Chiffren muss dasPolynom a(x) teilerfremd zum Modul x4 + 1 sein.

13.6 Der endliche Korper GF (28) 397

Das in Rijndael gewahlte Polynom 03x3 + 01x2 + 01x + 02 erfulltdiese Bedingung.

Kapitel 14

Erzeugen von Zufallszahlen

Anwendungen:

• randomisierte Algorithmen

• stochastische Simulation (Monte-Carlo-Simulation)

• Kryptographie (z.B. Schlusselerzeugung, One-Time-Pad)

Lit: Don Knuth “The Art of Computer Programming” Bd. 2

399

Definition von Zufalligkeit:

U. Maurer [Mau92]: “A random bit generator is a devicethat is designed to output a sequence of statistically inde-pendent and symmetrically distributed1 binary random va-riables, i.e., that is designed to be the implementation of aso-called binary symmetric source (BSS). In contrast, apseudo-random bit generator is designed to deterministicallygenerate a binary sequence that only appears as if it weregenerated by a BSS.”

Eine Folge ist zufallig, falls fur jede Lange ` die Verteilung allerZeichenketten der Lange ` maximale Entropie besitzt.

1 Eine binare Variable heißt symmetrisch verteilt, wenn die Wahrscheinlichkeit fur beide Werte exakt 1/2ist.

400 14 Erzeugen von Zufallszahlen

Pseudozufallszahlen

Ein Pseudozufallszahlengenerator (PRNG, pseudo random num-ber generator) ist ein Algorithmus, der nach Eingabe einer odermehrer Initialisierungszahlen (seed numbers) deterministisch eineZahlenfolge erzeugt.

Fur kryptographische Anwendungen sehr problematisch!

Alternative:

Verwendung von physikalischen Zufallsereignissen, wie thermischesRauschen oder radioaktiver Zerfall echte Zufallszahlen

⇒ real random number generator (RRNG).

Philosophie:

401

Bis heute ist unklar ob verborgene Parameter scheinbar zufalli-gen Prozess deterministisch beschreiben.

402 14 Erzeugen von Zufallszahlen

Kolmogorov-Komplexitat

• Laßt sich eine (große) Datei komprimieren, so ist die der Inhaltnicht zufallig.

• Echte Zufallszahlen lassen sich nicht komprimieren!

• Ist (31415926 . . .) zufallig?

• Nein, denn π = 3.1415926 . . . laßt sich komprimieren

• Computerprogramm kann beliebig viele Dezimalstellen von πberechnen!

403

Definition 14.1 Die Kolmogorov-Komplexitat einer Folgeist die Lange des kurzesten Programms, das die Folgenglieder die-ser Folge berechnen kann [LV88].

Eine zufallige Folge hat unendliche Kolmogorov-Komplexitat!

Fur die Praxis untauglich, denn die Kolmogorov-Komplexitat istnicht berechenbar!

Jeder PRNG erzeugt nur Zahlenfolgen endlicher Kolmogorov-Komplexitat.Also sind diese nicht zufallig

404 14 Erzeugen von Zufallszahlen

Kompression von Zufallszahlenfolgen

Satz 14.1 Kein Programm kann ohne Verlust alle Dateien mitmindestens n Bit komprimieren (n ≥ 0).

Beweis: Angenommen, ein Programm konnte dies. Wir kompri-mieren mit diesem Programm (nur!) alle Dateien mit genau n Bit.Die komprimierten Dateien sind dann hochstens n−1 Bit groß. DieZahl der komprimierten Dateien der Großen 0 bis n− 1 ist

1 + 2 + 4 + 8 + . . . + 2n−1 = 2n − 1.

Da es 2n Dateien mit n Bit gibt, mussen mindestens zwei Dateienauf die gleiche Datei komprimiert werden. Damit ist die Kompres-sion nicht verlustfrei. 2

405

406 14 Erzeugen von Zufallszahlen

Pseudozufallszahlengeneratoren

Lineare Kongruenzgeneratoren sind rekursiv definiert durch

xn = (axn−1 + b) mod m.

mit Parametern a, b und m

Die Periode ist hochstens m. Warum?

[Sch96] empfiehlt fur 32 Bit Integer Zahlen a = 7141, b = 54773und m = 259200

Auch Polynomiale Kongruenzgeneratoren der Form

xn = (akxkn−1 + ak−1x

k−1n−1 + . . . + a0) mod m.

konnen geknackt werden.

407

BBS-Generator [BBS86]

Wahle Primzahlen p und q mit

p ≡ q ≡ 3 mod 4.

Berechne n = p ·q und wahle eine Zufallszahl s, mit ggT(S, n) = 1ist.

Berechne den Seedx0 = s2 mod n.

Der Generatur berechnet nun, beginnend mit i = 1 wiederholt

xi = (xi−1)2 mod n

bi = xi mod 2,

Bit bi wird als i− tes Zufallsbit ausgegeben.

408 14 Erzeugen von Zufallszahlen

BBS gilt als sehr gut, aber:

Ein mit BBS betriebenes One-Time-Pad ist so sicher wie eine Chiffremit einen Schlussel der Lange |s|!

409

Lineare Schieberegister mit Ruckkopplung

410 14 Erzeugen von Zufallszahlen

Definition 14.2

• Ein Schieberegister der Lange n besteht aus einem Bitvektor(xn, . . . , x1). In jedem Rechenschritt werden die Bits um eineStelle nach rechts verschoben, d. h.

xn 7→ xn−1 , . . . , x2 7→ x1

und es wird links ein neues Bit In nachgeschoben sowie dasletzte Bit Out ausgegeben:

In 7→ xn, x1 7→ Out .

• Ein lineares Schieberegister mit Ruckkopplung (LFSR)berechnet die Eingabe (In) durch Addition modulo 2 von be-stimmten Bits des Registers. (LFSR ist die Abkurzung von li-near feedback shift register.)

411

Beispiel 14.1 LFSR1:

x3

x x2 1

1 1 1

x3 x2 x1 Out1 1 1

0 1 1 1

1 0 1 1

1 1 0 1

0 1 1 0

Periode 3.

412 14 Erzeugen von Zufallszahlen

Beispiel 14.2 LFSR2 hat die Periode 7:

1 1 1

x3 x2 x1 Out1 1 1

0 1 1 1

1 0 1 1

0 1 0 1

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

Die maximale Periode eines LSFR der Lange n ist 2n − 1.

413

Beispiel 14.3 Analyse eines LFSR der Lange 3Wir beobachten die Bitfolge

B = (01110010)

und suchen die Parameter a1, a2, a3.

1 1 0

a3 a a2 1

Das LFSR lasst sich mathematisch darstellen durch die Abbildung

(x3, x2, x1) 7→ (a1x1 ⊕ a2x2 ⊕ a3x3, x3, x2),

welche iterativ wiederholt wird. Die ersten drei Bit der Folge Bgeben den Zustand des LFSR zu einem bestimmten Zeitpunkt an,d. h. x1 = 0, x2 = 1, x3 = 1Zustand des LFSR: (1, 1, 0)Je eine Zeiteinheit spater gilt fur den Zustand

(1, 1, 1) = (a2 ⊕ a3, 1, 1) (14.1)

(0, 1, 1) = (a3 ⊕ a2 ⊕ a1, 1, 1) (14.2)

(0, 0, 1) = (a2 ⊕ a1, 0, 1) (14.3)

Aus (14.1), (14.2), (14.3) erhalt man die Gleichungen

a2 ⊕ a3 = 1 (14.4)

a3 ⊕ a2 ⊕ a1 = 0 (14.5)

a2 ⊕ a1 = 0 (14.6)

und berechnet

(14.4) in (14.5) : 1⊕ a1 = 0 ⇒ a1 = 1 (14.7)

(14.7) in (14.6) : a2 ⊕ 1 = 0 ⇒ a2 = 1 (14.8)

(14.8) in (14.4) : a3 = 0 (14.9)

Das Schieberegister hat also die Form

1 1 0

und die Folge der Zustande einer Periode von LFSR3 ist

1 1 0

1 1 1 0

0 1 1 1

0 0 1 1

1 0 0 1

0 1 0 0

1 0 1 0

1 1 0 1

0

Man beachte, dass zur Analyse von LFSR3 nur sechs Bit der Aus-gabefolge benutzt wurden und dass LFSR3 maximale Periode hat.

414 14 Erzeugen von Zufallszahlen

Allgemein kann man zeigen, dass zur Analyse eines linearen Schie-beregisters hochstens 2n Bit der Ausgabefolge benotigt werden.(Berlekamp-Massey-Algorithmus)

415

Stromchiffren

Die Qualitat des Schlusselstroms bestimmt die Sicherheit der Strom-chiffre.

Definition 14.3 Die lineare Komplexitat einer Folge ist dieLange des kurzesten LFSR, das die Folge erzeugen kann.

Besitzt also eine Schlusselfolge endliche lineare Komplexitat n, sowerden nur 2n Bit der Folge benotigt, um den Code der zugehorigenStromchiffre zu knacken.

⇒ Kolmogorov-Komplexitat.

416 14 Erzeugen von Zufallszahlen

Echte Zufallszahlen

• Spezialhardware

◦ Physikalische Rauschquelle, AD-Wandler, Verstarker, Filter,Test(?)

◦ Spezialhardware (thermisches Rauschen) fur Testzwecke

◦ Spezialhardware fur kryptographische Anwendungen zu teuer

• Intel: thermisches Rauschen eines Widerstands im Pentium-III-Prozessor

◦ Frequenz: 75000 Bits pro Sekunde [Int99, JK99]

• Maxtor: Rauschen von IDE-Festplatten

417

◦ Frequenz: 835200 Bits pro Sekunde [ES00]

418 14 Erzeugen von Zufallszahlen

Der Neumann-Filter

John von Neumann, 1963

f : 00 7→ ε

11 7→ ε

01 7→ 0

10 7→ 1,

ε = leere Zeichekette

Beispiel 14.4 10001101011100101110 7→ 10011

419

Beispiel 14.5 11111111111111111111 7→ ε

Beispiel 14.6 10101010101010101010 7→ 1111111111Allgemein gilt:

Satz 14.2 Sind aufeinanderfolgende Bits in eine Bit-Folge stati-stisch unabhangig, so sind nach Anwendung des Neumann-Filtersdie Bits symmetrisch verteilt. Die Lange der Bit-Folge verkurztsich dabei um den Faktor p(1− p).

Beweis: Wenn in der Folge a die Bits unabhangig sind und mitWahrscheinlichkeit p den Wert “1” annehmen, dann ist die Wahr-scheinlichkeit fur ein Paar “01” gleich p(1−p). Die Wahrscheinlich-keit fur ein Paar “10” ist auch gleich p(1− p). Damit ist die Wahr-scheinlichkeit pn fur den Wert “1” nach Anwendung des Neumann-

420 14 Erzeugen von Zufallszahlen

Filters gegeben durch

pn =p(1− p)

2p(1− p)= 1/2.

Fur den Beweis des Verkurzungsfaktors wird auf Ubung 14.4 ver-wiesen. 2

421

Einfluß der Asymmetrie auf die Ausbeute desNeumann-Filters

0

0.05

0.1

0.15

0.2

0.25

0 0.2 0.4 0.6 0.8 1

p(1-p)

p

422 14 Erzeugen von Zufallszahlen

14.1 Ubungen

Aufgabe 14.1

Warum ist die Periode eines linearen Kongruenzgenerators nachoben beschrankt durch den Wert des Moduls m? Wie mußte manden Generator bei festem Modul m abandern, um die Periodendauerwesentlich langer zu machen.

Aufgabe 14.2

Implementierung und Test von Pseudozufallszahlengeneratoren [BBS86].

14.1 Ubungen 423

a) Implementieren Sie einen linearen Kongruenzgenerator der Form

xn = (axn−1 + b) mod m

mit a = 7141, b = 54773 und m = 259200 in einer (moglichstschnellen) Programmiersprache Ihrer Wahl.

b) Testen Sie die mit diesem Generator erzeugten Bits auf Sym-metrie und Periodizitat.

c) Wiederholen Sie die Tests nach Anwendung des Neumann-Filters.

d) Implementieren Sie den BBS-Generator.

e) Wahlen Sie kleine Werte (< 30) fur p und q und wiederholenSie die o.a. Tests mit und ohne Neumann-Filter.

f) Wahlen Sie nun großere Werte fur p und q (100 < p < q <1000) und wiederholen die Tests.

424 14 Erzeugen von Zufallszahlen

Aufgabe 14.3

a) Warum ist der Symmetrietest nicht ausreichend, um die Qualitateines Zufallszahlengenerators zu testen?

b) Schlagen Sie andere Tests vor, um die Qualitat eines PRNG furkryptographische Anwendungen zu testen.

c) Was konnen Sie theoretisch sagen uber die Periode des BBS-Generators?

Aufgabe 14.4

Zeigen Sie, dass sich die Lange einer endlichen Bit-Folge (an)n∈{0,1}mit unabhangigen Bits durch Anwendung des Neumann-Filters umetwa den Faktor p(1 − p) verkurzt, wenn der relative Anteil vonEinsen gleich p ist. (Satz 14.2)

14.1 Ubungen 425

Losung zu Aufgabe 14.4

Die Wahrscheinlichkeit fur zwei aufeinanderfolgende Einsen in derFolge ist p2 und fur zwei aufeinanderfolgende Nullen ist sie (1−p)2.Sei n = |(an)n∈{0,1}| und m = |(bn)n∈{0,1}| die Lange der Ergebnis-Folge (bn)n∈{0,1}. Dann gilt

m =1

2(1− p2− (1− p)2) · n =

1

2· 2 · p(1− p) · n = p(1− p) · n.

Literaturverzeichnis

[ACGW99] M. Ashley, M. Copeland, J. Grahn, and D. Wheeler. The gnu privacy handbook. http://www.

gnupg.org/gph/en/manual/book1.html, 1999. 6.4

[AR99] Y. Aumann and M. Rabin. Information theoretically secure communication in the limited storagespace model. In M. Wiener, editor, Advances in Cryptology - CRYPTO’99, volume 1666 ofLNCS, page 65 ff. Springer Verlag, 1999. (document)

[BBS86] L. Blum, M. Blum, and M. Shub. A simple unpredictable pseudo-random number generator. SIAMJournal of Computing, 15(2):364–383, 1986. 13.5.1, 14.2

[BGW01] N. Borisov, I. Goldberg, and D. Wagner. Security of the wep algorithm. http://www.isaac.cs.

berkeley.edu/isaac/wep-faq.html, Januar 2001. (document)

[BSI01] It-sicherheitskriterien - zertifizierung. Bundesamt fur Sicherheit in der Informationstechnik, http://www.bsi.de/zertifiz/index.htm, 2001. 6.4

LITERATURVERZEICHNIS 427

[CFN88] D. Chaum, A. Fiat, and M. Naor. Untraceable Electronic Cash. In S. Goldwasser, editor, Advancesin Cryptology CRYPTO ’88, pages 319–327. Springer Verlag, 1988. 6.4

[Cha85] D. Chaum. Security without Identification: Transaction Systems to Make Big Brother Obsolete.Communications of the ACM, 28(10):1030–1044, 1985. http://www.chaum.com/articles/

Security_Wthout_Identification.htm. 6.4, 6.4

[Cha89] D. Chaum. Online Cash Checks. In J.J. Quisquater and J. Vandewalle, editors, Advances inCryptology EUROCRYPT ’89, pages 288–293. Springer Verlag, 1989. http://www.chaum.

com/articles/Online_Cash_Checks.htm. 6.4

[Cha92] D. Chaum. Achieving Electronic Privacy. Scientific American, pages 96–101, August 1992.http://www.chaum.com/articles/Achieving_Electronic_Privacy.htm. 6.4, 6.4

[CM97] C. Cachin and U. Maurer. Unconditional security against memory-based adversaries. In B. Kali-ski, editor, Advances in Cryptology - CRYPTO’97, volume 1233 of LNCS, pages 209–225.Springer Verlag, 1997. ftp://ftp.inf.ethz.ch/pub/publications/papers/ti/isc/wwwisc/CacMau97b.ps. (document)

[Dew89] A.K. Dewdney. Auf den Spuren der Enigma. Spektrum der Wissenschaft, Computer KurzweilIII, pages 96–99, 1989. Kurze, einfache Beschreibung der Enigma und ihrer Analyse. (document)

[DR99] J. Daemen and V. Rijmen. Aes proposal: Rijndael. NIST-AES Homepage: http://csrc.nist.gov/encryption/aes/round2/r2algs.htm, 1999. (document), 13.5.1

[EFF99] Electronic frontier foundation. http://www.eff.org/pub/Privacy/Crypto_misc/

DESCracker/, 1999. (document)

428 LITERATURVERZEICHNIS

[EJHF11] W. Ertel, L. Jans, W. Herzhauser, and J. Feßler. An Enigma Replica and its Blueprints. Crypto-logia, 35(1):16–21, 2011. http://www.tandfonline.com/doi/abs/10.1080/01611194.2010.533256. (document)

[Ert07] W. Ertel. Angewandte Kryptographie. Hanser Verlag Munchen, 3. edition, 2007. http://www.hs-weingarten.de/~ertel/kryptobuch.html.

[ES00] W. Ertel and E. Schreck. Real random numbers produced by a maxtor disk drive. http://

ti-voyager.fbe.fh-weingarten.de/ertel/rrng/maxtor.html, 2000. 13.5.1

[Fei73] H. Feistel. Cryptography and computer privacy. Scientific American, Mai 1973. (document)

[FS78] G. Fischer and R. Sacher. Einfuhrung in die Algebra. Teubner Verlag, 1978. 6.1

[Har95] A. Harris. Enigma. Heyne Verlag, 1995. (Englisches Orignial erschienen bei Ballantine Books).(document)

[IET01] Internet engineering task force. http://www.ietf.org, Marz 2001. 6.4

[IMC01] S/mime and openpgp. Internet Mail Consortium, http://www.imc.org/smime-pgpmime.html,2001. 6.4, 6.4

[Int99] The intel random number generator. Intel Platform Security Division, http://developer.intel.com/design/security/rng/rngppr.htm, 1999. 13.5.1

[JK99] B. Jun and P. Kocher. The intel random number generator (white paper). http://developer.

intel.com/design/security/rng/rngppr.htm, 1999. 13.5.1

LITERATURVERZEICHNIS 429

[Kah67] D. Kahn. The Codebreakers: The Story of Secret Writing. Macmillan Publishing Co., NewYork, 1967. Umfassende Dokumentation militarischer Kryptanalyse im 20. Jahrhundert. (document)

[Kah91] D. Kahn. Seizing the Enigma. Houghton Mifflin Co., Boston, 1991. (document)

[Kob94] N. Koblitz. A Course in Number Theory and Cryptography. Springer Verlag, 1994. GutesLehrbuch mit viel Mathematik. (document)

[Kol01] G. Kolata. The key vanishes: Scientist outlines unbreakable code. New York Times, 20. Marz2001. http://www.nytimes.com/2001/02/20/science/20CODE.html. (document)

[KP01] S. Kent and T. Polk. Public-key infrastructure (x.509) (pkix). http://www.ietf.org/html.

charters/pkix-charter.html, 2001. 6.4

[KR01] V. Klima and T. Rosa. Attack on private signature keys of the openpgp format, pgp programsand other applications compatible with openpgp. http://www.i.cz/en/pdf/openPGP_attack_

ENGvktr.pdf, Marz 2001. (document), 6.4

[LV88] M. Li and P. Vitanyi. Two decades of applied kolmogorov complexity. In 3rd IEEE Conferenceon Structure in Complexity theory, pages 80–101, 1988. 14.1

[Mau92] U. Maurer. A universal statistical test for random bit generators. Journal of Cryptography,5(2):89–105, 1992. 13.5.1

[Mau01] U. Maurer. Information-theoretic cryptography. http://www.inf.ethz.ch/department/TI/um/research/itc, Marz 2001. (document)

430 LITERATURVERZEICHNIS

[Men93] A. Menezes. Elliptic Curve Public Key Cryptosystems. Kluwer Academic Publishers, 1993.(document)

[MvOV97] A. Menezes, P. van Oorschot, and S. Vanstone. Handbook of Applied Cryptography. DiscreteMathematics and Its Applications. CRC Press, 1997. (document)

[Nob96] I. Noble. Virtual Enigma. http://www.geocities.com/CapeCanaveral/Launchpad/6720/,1996. Sehr guter Enigma-Simulator und Informationen uber Enigma. (document)

[oPG01] An open specification for pretty good privacy (openpgp). http://www.ietf.org/html.

charters/openpgp-charter.html, Februar 2001. 6.4

[PGP01] The international pgp home page. http://www.pgpI.org, 2001. 6.4

[Rav98] K. Raven. Deutsche Anleitung zu PGP 5.5.X. http://members.xoom.com/Corvuscorax/

pgp5kurs.htm, 1998. 6.4

[Riv98] R. Rivest. Chaffing and winnowing: Confidentiality without encryption. http://theory.lcs.mit.edu/~rivest/chaffing.txt, April 1998. 6.4

[RS74] F. Reinhardt and H. Soeder. dtv–Atlas zur Mathematik (Band 1: Grundlagen – Algebra undGeometrie). Deutscher Taschenbuchverlag, Munchen, 1974. 6.1

[Sch96] B. Schneier. Angewandte Kryptogrphie. Addison-Wesley, 1996. Deutsche Ubersetzung. (docu-ment), 6.4, 6.4, 6.4, 13.5.1

[Sen00] R. Senderek. Key-experiments – how pgp deals with manipulated keys. http://senderek.de/

security/key-experiments.html, August 2000. 6.4

LITERATURVERZEICHNIS 431

[Sig97a] Informations- und kommunikationsdienste-gesetz - iukdg, artikel 3: Gesetz zur digitalen signatur.Deutscher Bundestag, Juni 1997. 6.4

[Sig97b] Entwurf der signaturverordnung. Bundeskabinett, http://www.iid.de/rahmen/info081097.

html, Oktober 1997. 6.4

[Sig00] Digital signatures. European Commission - Information Society Directorate-General, http://

europa.eu.int/ISPO/ecommerce/legal/digital.html, August 2000. 6.4

[Sil00] R. Silverman. A cost-based security analysis of symmetric and asymmetric key lengths. http:

//www.rsasecurity.com/rsalabs/bulletins/bulletin13.html, 2000. (document)

[Sti95] D. Stinson. Cryptography: Theory and Practice. CRC press, 1995. Fur den mathematischinteressierten Leser sehr zu empfehlen. (document), 13.5.1

[Str96] V. Strassen. Zufalls–Primzahlen und Kryptographie. Konstanzer Schriften in Math. u. Inform. Nr. 7,Univ. Konstanz, 1996. Leicht lesbarer Artikel uber Primzahltests fur die Kryptographie. (document),13.5.1

[TLS01] Transport layer security (tls). http://www.ietf.org/html.charters/tls-charter.html, Ja-nuar 2001. 6.4

[TT01] TC-Trustcenter. personliche mitteilung. http://www.tc-trustcenter.de, 2001. 6.4

[Vig01] Java-applets zur analyse der vigenere chiffre. http://math.ucsd.edu/~crypto/java/

EARLYCIPHERS/Vigenere.html,http://www.math.nmsu.edu/~crypto/Vigenere.html,

432 LITERATURVERZEICHNIS

http://www.uncg.edu/mat/security/vigenere/vigenere.html

, 2001. (document)

[Zim95] P. Zimmermann. The Official PGP User’s Guide. MIT Press, 1995. 6.4