
Kryptografie für Dummies
Hans Werner Lang(Author)
Wiley-VCH (Publisher)
1st Edition
Published on 15. August 2018
Book
Paperback/Softback
300 pages
978-3-527-71457-5 (ISBN)
Article exhausted; check for reprint
Description
Die Kommunikation über das Internet ist quasi öffentlich: Dritte können Nachrichten mitlesen, abfangen oder fälschen. Genauso kann ein Sender einer Nachricht behaupten, diese nie gesendet zu haben, und ein Empfänger kann behaupten, eine Nachricht nie erhalten zu haben. Abhilfe schafft die Kryptografie. Sie ermöglicht nicht nur die Verschlüsselung von Nachrichten, sondern auch digitale Unterschriften, die Authentifizierung und die Anonymisierung von Kommunikationspartnern. Das hier vorliegende Buch ist eine Einführung in die Kryptografie für Studierende - von der symmetrischen über die asymmetrische Verschlüsselung bis hin zu Hash-Funktionen. Umfassend, keinesfalls oberflächlich, aber ohne Vorwissen verständlich.
More details
Series
Edition
1. Auflage
Language
German
Place of publication
Berlin
Germany
Target group
Professional and scholarly
Dimensions
Height: 24 cm
Width: 17.6 cm
Thickness: 1.6 cm
Weight
526 gr
ISBN-13
978-3-527-71457-5 (9783527714575)
Schweitzer Classification
Other editions
New editions

Person
Hans Werner Lang ist Professor für Informatik an der Hochschule Flensburg. Seine Fachgebiete sind Algorithmen, Theoretische Informatik und Kryptografie.
Content
UEber den Autor 7
Einleitung 19
UEber dieses Buch 19
Konventionen in diesem Buch 20
Was Sie nicht lesen muessen 20
Toerichte Annahmen ueber den Leser 20
Wie dieses Buch aufgebaut ist 21
Teil I: Verschluesseln 21
Teil II: Kryptische Mathematik 21
Teil III: Kryptogra?sche Verfahren 21
Teil IV: Berechnungsverfahren 22
Teil V: Authenti?zieren 22
Teil VI: Sicherheit 22
Teil VII: Zufall 22
Teil VIII: Anwendungen 23
Teil IX: Top-Ten-Teil 23
Anhaenge 23
Symbole, die in diesem Buch verwendet werden 23
Wie es weitergeht 23
TEIL I VERSCHLUESSELN 25
Kapitel 1 Sicherheit in Zeiten des Internet 27
Authentizitaet 28
Zerti?kat. 28
Vertraulichkeit und Integritaet 30
Verschluesselung 30
Kapitel 2 Klassische Verschluesselung 33
Geheimsprache 33
Verschluesseln wie Caesar 35
Kryptoanalyse. 38
Substitutions-Verschluesselung 40
Vigenere-Verschluesselung 41
Vigenere knacken 41
Vernam-Verschluesselung 42
Verschluesseln von Bits 44
Kapitel 3 Public-Key-Verschluesselung 47
RSA-Verschluesselung 48
Schluessel erzeugen. 50
Ver- und Entschluesseln 52
Sicherheit 53
TEIL II KRYPTISCHE MATHEMATIK 57
Kapitel 4 Menge, Relation, Abbildung 59
Nur ganz kurz 59
Wozu brauchen wir das? 60
Was noch kommt 60
Kapitel 5 Teilbarkeit und Modulo-Rechnung 63
Teilbarkeit 63
Miteinander teilen 63
Ist null durch null teilbar? 64
Der Teiler und das Ganze 65
Primzahlen 67
Modulo-Rechnung 68
Schubladendenken 68
Modulo n rechnen heisst einfach rechnen. 70
Kapitel 6 Gruppe 73
Gruppenaxiome 73
Elemente verknuepfen 73
Auf halbem Weg zur Gruppe 75
Und nun zur Gruppe 76
Die Gruppe ?n? 77
Gruppentheorie 78
Untergruppe 78
Erzeugendes Element 79
Ordnung 80
Zyklische Gruppe 80
Starke Primzahl 83
TEIL III KRYPTOGRAFISCHE VERFAHREN 85
Kapitel 7 RSA: Korrektheit und Schluesselerzeugung 87
Saetze von Euler und Fermat 87
Satz von Euler 87
Satz von Fermat 88
Modi?zierter Satz von Euler 89
Korrektheit des RSA-Verfahrens 90
OE?entlichen und privaten Schluessel erzeugen 90
Multiplikativ inverses Element berechnen 90
Sicherheit 92
Kapitel 8 Di?e-Hellman, ElGamal und Shamir 95
Di?e-Hellman-Schluesselvereinbarung 95
Protokoll 96
Auswahl von g 96
Auswahl von p 97
Sicherheit 98
ElGamal-Verschluesselung 99
Prinzip 99
Realisierung 99
Sicherheit 100
Shamirs No-Key-Verschluesselung 102
Idee 103
Implementierung 103
Kapitel 9 AES-Verschluesselungsverfahren 105
Verschluesseln 106
Entschluesseln 109
Rundenschluessel erzeugen 110
Entwurfskriterien 113
Betriebsarten bei Block-Verschluesselung 113
Kapitel 10 AES-Mathematik: Rechnen in einem Koerper 117
Ring und Koerper 117
Ring 118
Ring mit Eins 119
Koerper 119
Erweiterungskoerper ??28 120
Addition und Multiplikation im Erweiterungskoerper ??28 120
Polynome aus ??28 als Bitvektoren darstellen 121
Bitvektoren als Bytes hexadezimal darstellen 123
Kapitel 11 Di?e-Hellman-Schluesselvereinbarung mit elliptischer Kurve 127
Elliptische Kurven 128
Punkte verknuepfen 129
Gruppenstruktur von E 130
Berechnung des Schnittpunktes 130
Elliptische Kurven ueber endlichen Koerpern 132
TEIL IV BERECHNUNGSVERFAHREN 135
Kapitel 12 Python-Einfuehrung 137
Anweisungen 137
Wertzuweisung 137
Bedingte Anweisungen 138
Programmschleifen 138
Funktionen 139
Klassen und Objekte 140
Python-Module 141
Kapitel 13 Erweiterter euklidischer Algorithmus 145
Groessten gemeinsamen Teiler berechnen 145
Erweiterter euklidischer Algorithmus 148
Rekursive Version 150
Multiplikativ inverses Element modulo n berechnen 153
Implementierung 153
Kapitel 14 Schnelle Exponentiation und Primzahltest 155
Schnelle Exponentiation 155
Idee 155
Programm 156
Primzahltest 157
Verteilung der Primzahlen 157
Klassische Methode 158
Fermat-Test 158
Miller-Rabin-Test 160
Zufaellige Primzahlen 163
Kapitel 15 Chinesischer Restsatz 167
Problem 168
Berechnung 168
Implementierung 170
RSA: Chinesisch entschluesseln 171
Kapitel 16 Elliptische Kurven implementieren 175
Klasse EcPoint 176
Klasse ModInt 178
Standard-Punkt auf Standard-Kurve 180
Kapitel 17 Kryptogra?sche Verfahren implementieren 183
RSA-Schluessel erzeugen 184
Di?e-Hellman-Schluessel vereinbaren 185
TEIL V AUTHENTIFIZIEREN 189
Kapitel 18 Kryptogra?sche Hashfunktion 191
Hashfunktion 191
Kryptogra?sche Sicherheit 193
Kryptogra?sche Hashfunktionen in der Praxis 194
Der SHA-1-Hashalgorithmus 195
Ablauf des Verfahrens 196
Kapitel 19 Authentizitaet und Integritaet von Nachrichten 199
Authentizitaet und Integritaet bei symmetrischer Verschluesselung 199
Authentizitaetscode erstellen 200
Hash-Keyed Message Authentication Code (HMAC) 200
Digitale Signatur 203
Eigenschaften einer Unterschrift 203
Digitale Signatur 204
Sicherheitsprobleme 204
Hash-Signatur 205
Eigenschaften der RSA-Signatur 206
Kapitel 20 Teilnehmer-Authenti?zierung 209
Isomorphe Graphen 211
Bit-Commitment 212
Eine Muenze werfen 213
Sich committen ... 213
Sicherheit des Protokolls 214
Muenzwurf telefonisch 215
Teilnehmer-Authenti?zierung 216
Zero-Knowledge-Eigenschaft 216
Fiat-Shamir-Protokoll 217
Bit-Commitment-Protokoll 217
Sicherheit 217
Teilnehmer-Authenti?zierung 219
Zero-Knowledge-Eigenschaft 219
TEIL VI SICHERHEIT 221
Kapitel 21 Angri?e auf das RSA-Verfahren 223
Faktorisieren mithilfe von ??(??) 224
Low-Exponent-Angri? auf das RSA-Verfahren 225
Implementierung 226
Klartext-Aufbereitung 229
Replay-Angri? 231
Seitenkanal-Angri? 232
Kapitel 22 Faktorisierungsangri? 235
Idee 235
Quadratisches Sieb 236
Sieb 237
Auswahl von Exponentenvektoren 239
Die p-1-Methode 239
Idee 240
Implementierung 241
Programm 241
Kapitel 23 Angri?e auf Hashfunktionen 243
Passwort-Dateien angreifen 243
Angri? mit roher Gewalt 244
Woerterbuchangri? 244
Zum Geburtstag ein Angri? 245
TEIL VII ZUFALL 249
Kapitel 24 Zufallsbits und Pseudozufallsbits 251
Zufallszahlen erzeugen 252
Zufallsbits mit rueckgekoppeltem Schieberegister 252
Linear rueckgekoppeltes Schieberegister 252
Kryptogra?sche (Un-)Sicherheit 254
Kapitel 25 Kryptogra?sch sichere Zufallsbits 257
Startwert waehlen 257
Pseudozufallsbits per Hashfunktion 258
Blum-Blum-Shub-Zufallsbits 258
Algorithmus. 259
Implementierung 259
Sicherheit 260
Blum-Micali Zufallsbits 260
Algorithmus. 260
Implementierung 261
Sicherheit 261
TEIL VIII ANWENDUNGEN 263
Kapitel 26 Zerti?zierte Sicherheit 265
TLS - Daten sicher transportieren 266
Ablauf des TLS-Handshakes 267
Zerti?kat - Echtheit garantiert 268
E-Mails verschluesseln und signieren 270
TEIL IX DER TOP-TEN-TEIL 273
Kapitel 27 10/2 Mal die glorreichen Sieben 275
Die 7 verruecktesten Dinge 275
Primzahltest 275
Di?e-Hellman-Schluesselvereinbarung 276
Public-Key-Verschluesselung 276
Shamirs No-Key-Verschluesselung 277
Nichtunterscheidbarkeit 277
Bit-Commitment 277
Zero-Knowledge-Authenti?zierung 278
Die 7 bedeutendsten Anwendungszwecke 278
Vertraulichkeit 278
Integritaet 279
Authentizitaet 279
Verbindlichkeit 279
Festlegung 280
Anonymitaet 280
Kooperation 280
Die 7 elementarsten Berechnungsverfahren 280
Bitweise Addition modulo 2 281
Schnelle modulare Exponentiation 281
Groesster gemeinsamer Teiler 281
Erweiterter euklidischer Algorithmus 281
Primzahltest 282
Chinesischer Restsatz 282
Punkte einer elliptischen Kurve verknuepfen 282
Die 7 wichtigsten Einwegfunktionen 282
Faktorisierung 282
Problem des diskreten Logarithmus 283
Problem des diskreten Logarithmus elliptischer Kurven 283
Wurzeln modulo n ziehen 284
Graphisomorphismus 284
Kryptogra?sche Hashfunktion invertieren 284
AES-Known-Plaintext-Angri? 285
Die 7 haeu?gsten Angri?e 285
Brute-Force-Angri? 285
Ciphertext-Only-Angri? 285
Known-Plaintext-Angri? 286
Man-in-the-Middle-Angri? 286
Geburtstagsangri? 286
Replay-Angri? 287
Seitenkanal-Angri? 287
ANHAENGE 289
Anhang A
Zum Weiterlesen 289
Anhang B
Loesungen zu den UEbungsaufgaben 291
Kapitel 2 291
Kapitel 5 291
Kapitel 6 292
Kapitel 7 293
Kapitel 8 293
Kapitel 10 294
Kapitel 13 295
Kapitel 14 295
Kapitel 15 296
Kapitel 21 296
Literaturverzeichnis 297
Stichwortverzeichnis 298
Einleitung 19
UEber dieses Buch 19
Konventionen in diesem Buch 20
Was Sie nicht lesen muessen 20
Toerichte Annahmen ueber den Leser 20
Wie dieses Buch aufgebaut ist 21
Teil I: Verschluesseln 21
Teil II: Kryptische Mathematik 21
Teil III: Kryptogra?sche Verfahren 21
Teil IV: Berechnungsverfahren 22
Teil V: Authenti?zieren 22
Teil VI: Sicherheit 22
Teil VII: Zufall 22
Teil VIII: Anwendungen 23
Teil IX: Top-Ten-Teil 23
Anhaenge 23
Symbole, die in diesem Buch verwendet werden 23
Wie es weitergeht 23
TEIL I VERSCHLUESSELN 25
Kapitel 1 Sicherheit in Zeiten des Internet 27
Authentizitaet 28
Zerti?kat. 28
Vertraulichkeit und Integritaet 30
Verschluesselung 30
Kapitel 2 Klassische Verschluesselung 33
Geheimsprache 33
Verschluesseln wie Caesar 35
Kryptoanalyse. 38
Substitutions-Verschluesselung 40
Vigenere-Verschluesselung 41
Vigenere knacken 41
Vernam-Verschluesselung 42
Verschluesseln von Bits 44
Kapitel 3 Public-Key-Verschluesselung 47
RSA-Verschluesselung 48
Schluessel erzeugen. 50
Ver- und Entschluesseln 52
Sicherheit 53
TEIL II KRYPTISCHE MATHEMATIK 57
Kapitel 4 Menge, Relation, Abbildung 59
Nur ganz kurz 59
Wozu brauchen wir das? 60
Was noch kommt 60
Kapitel 5 Teilbarkeit und Modulo-Rechnung 63
Teilbarkeit 63
Miteinander teilen 63
Ist null durch null teilbar? 64
Der Teiler und das Ganze 65
Primzahlen 67
Modulo-Rechnung 68
Schubladendenken 68
Modulo n rechnen heisst einfach rechnen. 70
Kapitel 6 Gruppe 73
Gruppenaxiome 73
Elemente verknuepfen 73
Auf halbem Weg zur Gruppe 75
Und nun zur Gruppe 76
Die Gruppe ?n? 77
Gruppentheorie 78
Untergruppe 78
Erzeugendes Element 79
Ordnung 80
Zyklische Gruppe 80
Starke Primzahl 83
TEIL III KRYPTOGRAFISCHE VERFAHREN 85
Kapitel 7 RSA: Korrektheit und Schluesselerzeugung 87
Saetze von Euler und Fermat 87
Satz von Euler 87
Satz von Fermat 88
Modi?zierter Satz von Euler 89
Korrektheit des RSA-Verfahrens 90
OE?entlichen und privaten Schluessel erzeugen 90
Multiplikativ inverses Element berechnen 90
Sicherheit 92
Kapitel 8 Di?e-Hellman, ElGamal und Shamir 95
Di?e-Hellman-Schluesselvereinbarung 95
Protokoll 96
Auswahl von g 96
Auswahl von p 97
Sicherheit 98
ElGamal-Verschluesselung 99
Prinzip 99
Realisierung 99
Sicherheit 100
Shamirs No-Key-Verschluesselung 102
Idee 103
Implementierung 103
Kapitel 9 AES-Verschluesselungsverfahren 105
Verschluesseln 106
Entschluesseln 109
Rundenschluessel erzeugen 110
Entwurfskriterien 113
Betriebsarten bei Block-Verschluesselung 113
Kapitel 10 AES-Mathematik: Rechnen in einem Koerper 117
Ring und Koerper 117
Ring 118
Ring mit Eins 119
Koerper 119
Erweiterungskoerper ??28 120
Addition und Multiplikation im Erweiterungskoerper ??28 120
Polynome aus ??28 als Bitvektoren darstellen 121
Bitvektoren als Bytes hexadezimal darstellen 123
Kapitel 11 Di?e-Hellman-Schluesselvereinbarung mit elliptischer Kurve 127
Elliptische Kurven 128
Punkte verknuepfen 129
Gruppenstruktur von E 130
Berechnung des Schnittpunktes 130
Elliptische Kurven ueber endlichen Koerpern 132
TEIL IV BERECHNUNGSVERFAHREN 135
Kapitel 12 Python-Einfuehrung 137
Anweisungen 137
Wertzuweisung 137
Bedingte Anweisungen 138
Programmschleifen 138
Funktionen 139
Klassen und Objekte 140
Python-Module 141
Kapitel 13 Erweiterter euklidischer Algorithmus 145
Groessten gemeinsamen Teiler berechnen 145
Erweiterter euklidischer Algorithmus 148
Rekursive Version 150
Multiplikativ inverses Element modulo n berechnen 153
Implementierung 153
Kapitel 14 Schnelle Exponentiation und Primzahltest 155
Schnelle Exponentiation 155
Idee 155
Programm 156
Primzahltest 157
Verteilung der Primzahlen 157
Klassische Methode 158
Fermat-Test 158
Miller-Rabin-Test 160
Zufaellige Primzahlen 163
Kapitel 15 Chinesischer Restsatz 167
Problem 168
Berechnung 168
Implementierung 170
RSA: Chinesisch entschluesseln 171
Kapitel 16 Elliptische Kurven implementieren 175
Klasse EcPoint 176
Klasse ModInt 178
Standard-Punkt auf Standard-Kurve 180
Kapitel 17 Kryptogra?sche Verfahren implementieren 183
RSA-Schluessel erzeugen 184
Di?e-Hellman-Schluessel vereinbaren 185
TEIL V AUTHENTIFIZIEREN 189
Kapitel 18 Kryptogra?sche Hashfunktion 191
Hashfunktion 191
Kryptogra?sche Sicherheit 193
Kryptogra?sche Hashfunktionen in der Praxis 194
Der SHA-1-Hashalgorithmus 195
Ablauf des Verfahrens 196
Kapitel 19 Authentizitaet und Integritaet von Nachrichten 199
Authentizitaet und Integritaet bei symmetrischer Verschluesselung 199
Authentizitaetscode erstellen 200
Hash-Keyed Message Authentication Code (HMAC) 200
Digitale Signatur 203
Eigenschaften einer Unterschrift 203
Digitale Signatur 204
Sicherheitsprobleme 204
Hash-Signatur 205
Eigenschaften der RSA-Signatur 206
Kapitel 20 Teilnehmer-Authenti?zierung 209
Isomorphe Graphen 211
Bit-Commitment 212
Eine Muenze werfen 213
Sich committen ... 213
Sicherheit des Protokolls 214
Muenzwurf telefonisch 215
Teilnehmer-Authenti?zierung 216
Zero-Knowledge-Eigenschaft 216
Fiat-Shamir-Protokoll 217
Bit-Commitment-Protokoll 217
Sicherheit 217
Teilnehmer-Authenti?zierung 219
Zero-Knowledge-Eigenschaft 219
TEIL VI SICHERHEIT 221
Kapitel 21 Angri?e auf das RSA-Verfahren 223
Faktorisieren mithilfe von ??(??) 224
Low-Exponent-Angri? auf das RSA-Verfahren 225
Implementierung 226
Klartext-Aufbereitung 229
Replay-Angri? 231
Seitenkanal-Angri? 232
Kapitel 22 Faktorisierungsangri? 235
Idee 235
Quadratisches Sieb 236
Sieb 237
Auswahl von Exponentenvektoren 239
Die p-1-Methode 239
Idee 240
Implementierung 241
Programm 241
Kapitel 23 Angri?e auf Hashfunktionen 243
Passwort-Dateien angreifen 243
Angri? mit roher Gewalt 244
Woerterbuchangri? 244
Zum Geburtstag ein Angri? 245
TEIL VII ZUFALL 249
Kapitel 24 Zufallsbits und Pseudozufallsbits 251
Zufallszahlen erzeugen 252
Zufallsbits mit rueckgekoppeltem Schieberegister 252
Linear rueckgekoppeltes Schieberegister 252
Kryptogra?sche (Un-)Sicherheit 254
Kapitel 25 Kryptogra?sch sichere Zufallsbits 257
Startwert waehlen 257
Pseudozufallsbits per Hashfunktion 258
Blum-Blum-Shub-Zufallsbits 258
Algorithmus. 259
Implementierung 259
Sicherheit 260
Blum-Micali Zufallsbits 260
Algorithmus. 260
Implementierung 261
Sicherheit 261
TEIL VIII ANWENDUNGEN 263
Kapitel 26 Zerti?zierte Sicherheit 265
TLS - Daten sicher transportieren 266
Ablauf des TLS-Handshakes 267
Zerti?kat - Echtheit garantiert 268
E-Mails verschluesseln und signieren 270
TEIL IX DER TOP-TEN-TEIL 273
Kapitel 27 10/2 Mal die glorreichen Sieben 275
Die 7 verruecktesten Dinge 275
Primzahltest 275
Di?e-Hellman-Schluesselvereinbarung 276
Public-Key-Verschluesselung 276
Shamirs No-Key-Verschluesselung 277
Nichtunterscheidbarkeit 277
Bit-Commitment 277
Zero-Knowledge-Authenti?zierung 278
Die 7 bedeutendsten Anwendungszwecke 278
Vertraulichkeit 278
Integritaet 279
Authentizitaet 279
Verbindlichkeit 279
Festlegung 280
Anonymitaet 280
Kooperation 280
Die 7 elementarsten Berechnungsverfahren 280
Bitweise Addition modulo 2 281
Schnelle modulare Exponentiation 281
Groesster gemeinsamer Teiler 281
Erweiterter euklidischer Algorithmus 281
Primzahltest 282
Chinesischer Restsatz 282
Punkte einer elliptischen Kurve verknuepfen 282
Die 7 wichtigsten Einwegfunktionen 282
Faktorisierung 282
Problem des diskreten Logarithmus 283
Problem des diskreten Logarithmus elliptischer Kurven 283
Wurzeln modulo n ziehen 284
Graphisomorphismus 284
Kryptogra?sche Hashfunktion invertieren 284
AES-Known-Plaintext-Angri? 285
Die 7 haeu?gsten Angri?e 285
Brute-Force-Angri? 285
Ciphertext-Only-Angri? 285
Known-Plaintext-Angri? 286
Man-in-the-Middle-Angri? 286
Geburtstagsangri? 286
Replay-Angri? 287
Seitenkanal-Angri? 287
ANHAENGE 289
Anhang A
Zum Weiterlesen 289
Anhang B
Loesungen zu den UEbungsaufgaben 291
Kapitel 2 291
Kapitel 5 291
Kapitel 6 292
Kapitel 7 293
Kapitel 8 293
Kapitel 10 294
Kapitel 13 295
Kapitel 14 295
Kapitel 15 296
Kapitel 21 296
Literaturverzeichnis 297
Stichwortverzeichnis 298