Wolfgang Ertel, Ekkehard Löhmann
Angewandte Kryptographie
Inhalt
10
1 Elektronisches Bargeld, ein erstes Beispiel
16
2 Grundlagen
22
2.1 Terminologie
22
2.2 Kryptographische Algorithmen
23
2.3 Kryptographische Protokolle
25
2.4 Public-Key-Algorithmen
25
2.5 Kryptanalyse
27
2.6 Sicherheit von Schlüsseln
28
3 Klassische Chiffren
32
3.1 Verschiebechiffren
33
3.2 Multiplikative Chiffren
34
3.3 Tauschchiffren (Affine Chiffren)
36
3.4 Kryptanalyse monoalphabetischer Chiffren
37
3.5 Polyalphabetische Chiffren
38
3.5.1 Homophone Chiffren
38
3.6 Die Vigenère-Chiffre
39
3.6.1 Der Algorithmus
39
3.6.2 Kryptanalyse
41
3.6.3 Der Kasiski-Test
41
3.6.4 Der Friedman-Test
44
3.7 Die Enigma
46
3.7.1 Kryptanalyse
49
3.8 Das One-Time-Pad, die perfekte Chiffre
53
3.9 One-Time-Pad fast ohne Schlüsseltausch
56
3.10 Zusammenfassung
58
4 Moderne Blockchiffren
60
4.1 Data-Encryption-Standard DES
60
4.1.1 Übersicht
62
4.1.2 Eine Runde
64
4.1.3 Die 16 Teilschlüssel
65
4.1.4 Die Dechiffrierfunktion
65
4.1.5 Sicherheit und Nichtlinearität
67
4.1.6 Sicherheit und Geschwindigkeit
69
4.1.7 Triple-DES
69
4.2 Advanced-Encryption-Standard AES
69
4.2.1 Die Blockchiffre Rijndael
70
4.2.2 Die ByteSub-Transformation
71
4.2.3 Die ShiftRow-Transformation
72
4.2.4 Die MixColumn-Transformation
73
4.2.5 Die Schlüsselexpansion
73
4.2.6 Die inverse Chiffre
74
4.2.7 Geschwindigkeit
74
4.2.8 Sicherheit
74
4.2.9 Andere Funktionalitäten
75
4.3 Betriebsmodi von Blockchiffren
75
4.4 Andere Blockchiffren
76
5 Public-Key-Kryptographie
78
5.1 Merkles Rätsel
79
5.2 Der RSA-Algorithmus
80
5.2.1 Der Algorithmus
81
5.2.2 Sicherheit von RSA
83
5.2.3 Effiziente Primzahltests
84
5.2.4 Effizienz und Implementierung von RSA
85
5.2.5 Schnellere Implementierung von RSA
86
5.2.6 Angriffe gegen RSA
87
5.3 Angriffe gegen Public-Key-Verfahren
88
5.3.1 Chosen-Ciphertext-Angriff mit Social Engineering
88
5.3.2 Angriffe aufgrund von Seiteneffekten
88
5.3.3 Angriffe mit Spezialhardware
90
5.4 Schlüsseltausch
90
5.4.1 Schlüsseltausch mit symmetrischen Verfahren
90
5.4.2 Man-in-the-Middle-Angriff
91
5.4.3 Das Interlock-Protokoll
91
5.4.4 Schlüsseltausch mit Quantenkryptographie
92
5.5 Der Diffie-Hellman-Algorithmus
92
5.6 Der ElGamal-Algorithmus
94
5.7 Algorithmen mit Elliptischen Kurven
94
6 Authentifikation und digitale Signatur
98
6.1 Einwegfunktionen und Einweg-Hash-Funktionen
99
6.1.1 Passwortverschlüsselung
101
6.1.2 Der Geburtstagsangriff
101
6.2 Zero-Knowledge-Protokolle
103
6.2.1 Challenge-and-Response
103
6.2.2 Die Idee der Zero-Knowledge-Protokolle
104
6.2.3 Das Fiat-Shamir-Protokoll
105
6.3 Digitale Signaturen
106
6.3.1 Digital Signature Algorithm (DSA)
107
6.3.2 Blinde Signaturen
108
6.4 Digitale Signatur in der Praxis
109
6.4.1 Speichern des geheimen Schlüssels
109
6.4.2 Vertrauen in die Software
110
6.4.3 Zusammenfassung
111
6.5 Das Signaturgesetz
112
6.6 Authentifikation mit digitaler Signatur
113
6.7 Message-Authentication-Code (MAC)
114
6.8 Biometrische Verfahren
115
7 Public-Key-Infrastruktur
118
7.1 Persönliche Prüfung öffentlicher Schlüssel
118
7.2 Trustcenter
119
7.3 Zertifikatshierarchie
120
7.4 Web-of-Trust
121
7.5 Zukunft
122
8 Public-Key-Systeme
124
8.1 PGP
124
8.1.1 Schlüsseltausch mit PGP
127
8.1.2 Die Big-Brother-Funktion
127
8.1.3 GnuPG
128
8.1.4 Angriffe gegen PGP
129
8.2 S/MIME und das X.509-Protokoll
131
8.3 OpenPGP versus S/MIME
132
8.4 Secure shell (SSH)
132
8.5 Secure socket layer (SSL)
133
8.6 Virtual Private Networking und IP Security
134
8.7 Der neue Personalausweis
135
8.7.1 Hoheitliche Funktionen
135
8.7.2 Andere Funktionen
136
8.7.3 Digitale Signatur
136
8.7.4 Sicherheit des neuen Personalausweises
137
9 Elektronisches Bargeld
140
9.1 Secret-Splitting
140
9.2 Bit-Commitment-Protokolle
141
9.3 Protokolle für elektronisches Bargeld
142
10 Elektronische Zahlungssysteme
146
10.1 Die Geldkarte
147
10.2 Mondex
148
10.3 Ecash
149
10.4 Zahlung per Kreditkarte
149
10.4.1 Secure Electronic Transactions (SET)
149
10.4.2 PayPal
150
10.4.3 Andere Systeme
151
10.5 Zusammenfassung
151
11 Blockchain-Technologie und Bitcoin
152
11.1 Ein einführendes Beispiel
152
11.2 Vom virtuellen verteilten Kassenbuch zu Bitcoin
154
11.3 Authentizität der Nachricht
154
11.4 Berechnung des Kontostandes
155
11.5 Bestätigung der Zahlung durch die Mehrheit der Teilnehmer
155
11.6 Worin besteht das mathematische Rätsel?
156
11.7 Was sind die Eingabedaten in die Hash-Funktion?
157
11.8 Die Blockchain
157
11.9 Wie sieht ein Block bei Bitcoin aus?
159
11.10 Der Blockheader
159
11.11 Wie wird die Gültigkeit eines Blocks überprüft?
160
11.12 Die Arbeit eines Miners: Proof of Work (PoW)
160
11.13 Steuerung der Höhe des Schwellwertes
161
11.14 Das Rennen um die längste Kette
162
11.15 Die Geschichte von Bitcoin
162
11.16 Gibt es bei der Kryptowährung Bitcoin eine Inflation?
163
11.17 Ökologische Aspekte des Bitcoin-Systems (Stromverbrauch)
163
11.18 Public-Key-Infrastruktur versus Blockchain
165
12 Politische Randbedingungen
168
12.1 Starke Kryptographie und der Lauschangriff
168
12.2 US-Exportgesetze
170
13 Sicherheitslücken in der Praxis
172
A Arithmetik auf endlichen Mengen
176
A.1 Modulare Arithmetik
176
A.2 Invertierbarkeit in Zn
179
A.3 Der Euklidische Algorithmus
181
A.4 Die Eulersche ?-Funktion
184
A.5 Primzahlen
186
A.5.1 Primzahltests
187
A.6 Der endliche Körper GF(28)
191
A.6.1 Addition
191
A.6.2 Multiplikation
191
A.6.3 Polynome mit Koeffizienten in GF(28)
192
B Erzeugen von Zufallszahlen
196
B.1 Pseudozufallszahlengeneratoren
198
B.1.1 Lineare Schieberegister mit Rückkopplung
199
B.1.2 Stromchiffren
201
B.2 Echte Zufallszahlen
202
B.2.1 Der Neumann-Filter
202
B.3 Zusammenfassung
204
C Lösungen zu den Übungen
206
Literatur
228
Index
236
© 2009-2024 ciando GmbH