Vorlesung Informationssicherheit Krypt-was? Grundbegriffe Historie

Download Report

Transcript Vorlesung Informationssicherheit Krypt-was? Grundbegriffe Historie

Krypt-was?
Vorlesung Informationssicherheit
Zwei Teilgebiete:
Thema 2: Grundlagen der Kryptographie
Kryptografie - beschäftigt sich mit der sicheren Übertragung
von Nachrichten
Kryptanalyse - ist das Brechen von kryptografisch
verschlüsselten Nachrichten
Robert Baumgartl
Kryptologie umfasst beide Teildisziplinen und ist selbst ein
Teilgebiet der Mathematik.
24. 03. 2014
1 / 50
2 / 50
Grundbegriffe
Historie: Skytale
Sender und Empfänger tauschen Nachrichten aus.
Damit niemand außer den beiden Teilnehmern den Inhalt der
Nachrichten lesen kann, werden diese beim Empfänger
verschlüsselt und beim Empfänger entschlüsselt:
Klartext
M
Verschlüsselung
verschlüsselter Text
C
Entschlüsselung
älteste (dokumentierte) kryptografische Methode (Sparta,
≈ 500 v.u.Z.)
Prinzip:
Pergamentstreifen um
Holzstab definierter Dicke
gewickelt,
Klartext
M
längs beschriftet
Verschlüsselungsfunktion E (encryption)
Entschlüsselungsfunktion D (decryption)
abgewickelt unlesbar
Empfänger kann Botschaft
nur lesen, wenn Holzstab
gleicher Dicke benutzt
Die unverschlüsselte Nachricht wird Klartext (P, plain text)
genannt. Die verschlüsselte Nachricht heißt Chiffrat (C).
E(M) = C
D(C) = M
(Quelle: Wikipedia)
und damit D(E(M)) = M.
3 / 50
4 / 50
Historie: Chiffrierung durch Transposition
Historie: Chiffrierung mittels Substitution
Idee: Nur die Positionen der zu kodierenden Zeichen werden
manipuliert.
Idee: Elemente im Klartext werden durch andere Elemente
im Chiffretext ersetzt
Beispiel: Spaltentransposition
Dechiffrierung durch Umkehrung der Substitution
Klartext: COMPUTER GRAPHICS MAY BE SLOW BUT AT
LEAST IT’S EXPENSIVE
Einfachste Form: monoalphabetische Substitution
jedem Zeichen im Klartext ist genau ein Zeichen im
Chiffrat zugeordnet ( genau ein Alphabet)
COMPUTERGR
APHICSMAYB
ESLOWBUTAT
LEASTITSEX
PENSIVEXXX
Caesar-Verschlüsselung (Pos. im Alphabet + 3 modulo 26)
ROT-13 Pos. im Alphabet + 13 modulo 26
unter Ausnutzung relativer Buchstabenhäufigkeiten sehr
leicht zu brechen
Chiffrat: CAELP OPSEE MHLAN PIOSS UCWTI TSBIV
EMUTE RATSX GYAEX RBTXX
5 / 50
6 / 50
1
Buchstabenhäufigkeit
Historie: Chiffrierung mittels Substitution
Weitere Substitutionschiffren
Buchstabe
a
b
c
d
e
f
g
h
i
j
k
l
m
Häufigkeit
6.51
1.89
3.06
5.08
17.40
1.66
3.01
4.76
7.55
0.27
1.21
3.44
2.53
Buchstabe
n
o
p
q
r
s
t
u
v
w
x
y
z
homophone Substitution
Häufigkeit
9.78
2.51
0.79
0.02
7.00
7.27
6.15
4.35
0.67
1.89
0.03
0.04
1.13
ein Zeichen Klartext kann auf verschiedene Zeichen
Chiffre abgebildet werden
Zeichenvorrat des Chiffrats größer
polygrafische Substitution
Blöcke von Zeichen im Klartext werden auf Blöcke von
Zeichen im Chiffrat abgebildet
polyalphabetische Substitution
je nach Position des Zeichens werden unterschiedliche
Kodierungsalphabete genutzt
Tabelle: Häufigkeit von einzelnen Buchstaben in deutschen
Gebrauchstexten (in Prozent)
z. B. Vigenère-Verschlüsselung
7 / 50
8 / 50
Vigenère-Verschlüsselung
Vigenère-Verschlüsselung
Hilfsmittel: Vigenère-Quadrat oder -Tableau
Idee: Nutzung mehrerer (bis zu 26) monoalphabetischer
Verschlüsselungen im Wechsel; Anordnung im
sog. Vigenère-Quadrat
entwickelt von Blaise de Vigenère (1523-1596)
Schluessel
Basis vieler Verschlüsselungen, die bis heute genutzt
werden
gleicht unterschiedliche Auftrittswahrscheinlichkeiten der
Buchstaben aus
über Analyse der Buchstabenhäufigkeiten nicht zu
brechen
a
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
b
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
A
c
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
B
d
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
e
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
D
f
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
E
g
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
F
h
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
G
i
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
H
j
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
k
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
J
Klartext
l m n
L M N
M N O
N O P
O P Q
P Q R
Q R S
R S T
S T U
T U V
U V W
V W X
W X Y
X Y Z
Y Z A
Z A B
A B C
B C D
C D E
D E F
E F G
F G H
G H I
H I J
I J K
J K L
K L M
o
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
N
p
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
O
q
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
P
r
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
Q
s
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
R
t
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
u
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
T
v
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
U
w
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
V
x
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
W
y
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
X
z
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
9 / 50
10 / 50
Anwendung
Vigenère-Verschlüsselung
Kasiski-Test
Wahl eines Schlüsselworts – Zuordnung Buchstaben des
Schlüsselwortes zu Klartextbuchstaben (ggf. mehrfach)
Friedrich Wilhelm Kasiski (1863) beobachtete:
Verschlüsselung: Schnittpunkt Zeile Schlüsselbuchstabe Spalte Klartextbuchstabe liefert Chiffratbuchstaben
E
L
B
A
E
L
B
A
E
L
B
A
E
L
B
A
a
n
g
r
i
f
f
z
w
e
i
u
h
r
m
e
z
Chiffrat
E Y
H
R
M
Q
G
Z
A
P
J
U
L
C
N
E
D
L
B
A
E
L
B
A
E
L
B
A
E
L
B
A
E
·
·
e
i
n
·
·
·
n
·
·
·
·
·
·
·
M Y
·
·
E
·
·
R
·
i
I
·
e
F
·
·
·
·
Schlüssel
E
L
B
A
E
L
B
A
E L
B
A
E
L
B A E
Klartext
·
·
e
i
n
·
·
n
·
·
·
·
·
Y
·
·
M
·
·
E
·
·
Y
·
i
M
·
e
E
·
·
·
·
·
Chiffrat
Beispiel: (Schlüsselwort: „Elba“)
Klartext
E
Klartext
Chiffrat
Entschlüsselung: Schlüsselbuchstabe selektiert wieder
monoalphabetische Chiffre, Aufsuchen des
Chiffratbuchstabens in Chiffre, darüberliegender Spaltenkopf ist
Klartextbuchstabe
Schlüssel
Schlüssel
Identische Klartextpassagen werden auf identische
Chiffratphrasen abgebildet, wenn sie unter identischen
Buchstaben des Schlüsselwortes stehen.
E
Abstand ist ein Vielfaches der Schlüssellänge!
11 / 50
12 / 50
2
Vigenère-Verschlüsselung
Vigenère-Verschlüsselung
Kasiski-Test
Kasiski-Test: Beispiel
Suche nach sich wiederholenden Buchstabenfolgen der
Länge 3 und größer im Chiffrat
EYRYC
TNEER
JHZVB
TNERH
UUYJU
FMWVZ
PCQUC
FLMYF
VEEKS
EYHRT
ILIER
PYVKK
VYVFG
FHFVJ
GAESS
Bestimmung des Abstandes dieser gleichen
Buchstabenfolgen
Abstand ist Vielfaches der Schlüssellänge
Gibt es mehrere Abstände, so muss die Schlüssellänge
alle (bzw. die allermeisten) Abstände teilen.
FWLJH
FLJLV
FXMXK
MCGYS
FOISH
TYOIS
HYRGO
FNEVH
OCQDC
VYVXS
JBVVF
VLHVB
BVIIO
PLWZS
HYPFS
FHSIU
SXMVY
PMMVW
OVYVF
XOVUS
UUIIS
MUWKV
JAOVW
OUXSS
TIVXH
BLFVW
TCIUI
VWLEW
FCRVU
TNLRH
BHMJO
SSTKC
OZSIA
PNEVH
FMKRP
ECIZV
BNXVB
ULYER
LUQVB
EUWJG
UHMTV
SZXVB
DBXMS
FMXVZ
UYR
UCSEG
MIKZS
FCRVF
JAOVW
TWLCI
SVYVF
VHHWI
AYLER
FMALF
JYARS
UAIJH
JBVVP
SFEJG
MNIRI
Folge
TNE
FCRV
NEVHJAOVWU
VWU
(OIS)
Abstand
50
265
90
75
(26)
Zerlegung
2·5·5
5·53
2·3·3·5
3·5·5
(2·13)
Vermutete Schlüssellänge: ggT(50, 265, 90, 75) = 5.
Ermittlung der Schlüssellänge ist ausreichend, um
Vigenère-Verschlüsselung zu brechen.
14 / 50
13 / 50
Vigenère-Verschlüsselung
Vigenère-Verschlüsselung
Friedman-Test: Koinzidenzindex
Friedman-Test: Koinzidenzindex
Anzahl Buchstabenpaare ‘aa’ aus einem Text, der n1 -mal ’a’ enthält:
n1 (n1 − 1)
William Friedman (1925)
2
statistische Größe
Anzahl Buchstabenpaare ’aa’, ‘bb’, . . . , ‘zz’ aus einem Text, der n1 -mal ‘a’, n2 -mal ‘b’, . . . , n26 -mal ‘z’
enthält:
kann zur Kryptanalyse unbekannter Chiffrate eingesetzt
werden.
n1 (n1 − 1)
2
Mit welcher Wahrscheinlichkeit ‘erwischt’ man bei zufälliger
Auswahl zweier Zeichen aus einem gegebenen Text zwei
gleiche Zeichen?
+
n2 (n2 − 1)
2
+ ··· +
n26 (n26 − 1)
2
26
=
i=1
ni (ni − 1)
2
Wahrscheinlichkeit, bei zufälliger Auswahl zweier Zeichen aus einem Text der Länge n zwei gleiche Zeichen
zu erhalten:
26
26
ni (ni − 1)
2
i=1
n(n − 1)
2
=
i=1
ni (ni − 1)
n(n − 1)
=κ
κ (Kappa) ist der Friedmansche Koinzidenzindex
15 / 50
16 / 50
Vigenère-Verschlüsselung
Vigenère-Verschlüsselung
Koinzidenzindex mit Auftrittswahrscheinlichkeiten
Friedman-Test
Gegeben: Text deutscher Sprache (Auftrittswahrscheinlichkeiten der einzelnen Buchstaben bekannt)
gegeben:
Wkt., dass erster Buchstabe des Paares ein ‘a’ ist, ist p1
Wkt., dass zweiter Buchstabe des Paares ein ‘a’ ist, ist ebenfalls p1
Chiffrat der Länge n (
trivial zu ermitteln)
Wkt., bei zufälliger Auswahl zweier Zeichen aus einem deutschen Text zweimal ‘a’ zu erhalten ist damit p12 .
Wkt., bei zufälliger Auswahl zweier Zeichen aus einem deutschen Text zwei gleiche Buchstaben zu erhalten:
2
2
26
2
κ = p1 + p2 + · · · + p26 =
i=1
Wissen über die Sprache des Klartextes (z. B. Deutsch,
κDE bekannt)
2
pi .
Dann beträgt die Länge h des Schlüssels näherungsweise
(Friedman, 1925):
κ der deutschen Sprache ist damit:
2
2
2
κDE = 0.0651 + 0.0189 + · · · + 0.0113 ≈ 0.0762.
(κEN ≈ 0.0667)
h≈
Für einen Text aus zufälligen Buchstaben ergibt sich hingegen:
26
κRND =
i=1
2
pi =
26
i=1
1
26
2
= 26 ·
1
262
=
1
26
Koinzidenzindex κ des Chiffrats
n(κDE − κRND )
.
κ · (n − 1) + κDE − nκRND
Literatur: Albrecht Beutelspacher: Kryptologie. 9. Auflage,
Wiesbaden, 2009, S. 34–40.
≈ 0.0385.
17 / 50
18 / 50
3
Vigenère-Verschlüsselung
Historie: Codex Copiale
Von der Schlüssellänge zur Dechiffrierung
Schlüsselwortlänge h
Chiffrat besteht aus h Folgen, die
monoalphabetisch verschlüsselt sind:
...
Schlüssel
2
h+2
2h + 2
3
h+3
2h + 3
...
...
...
...
...
...
...
h
2h
3h
Nummern der
Buchstaben des
Chiffrats
...
1
h+1
2h + 1
...
jeweils monoalphabetisch verschlüsselt
(Quelle: http://commons.wikimedia.org/wiki/File:Copiale-cipher09s.png)
19 / 50
20 / 50
Historie: Codex Copiale
Historie: Das Voynich-Manuskript
wahrscheinlich zwischen
1404 und 1438
geschrieben
verschlüsselte Handschrift aus dem 18. Jh.
102 (erhaltene)
Pergament-Blätter,
beschrieben in einer
unbekannten Sprache
homophone Verschlüsselung
2011 entschlüsselt (Kevin Knight et al: The Copiale Cipher.
Proceedings of the 4th Workshop on Building and Using
Comparable Corpora. Stroudsburg PA, 2011)
„Text“ gehorcht
bestimmten
natürlichsprachigen
Statistiken
deutscher Klartext
Beschreibung geheimer Initiationsriten einer deutschen
freimaurerähnlichen Gesellschaft („Oculisten“)
bis heute nicht
entschlüsselt (Freiwillige
vor!)
(Bildnachweis: http://commons.wikimedia.org/wiki/File:Voynich_Manuscript_%28135%29.jpg)
21 / 50
22 / 50
Schlüssel
Zwei Kategorien von Verschlüsselungsverfahren
Kryptografische Algorithmen mit Schlüsseln:
1. symmetrische Verfahren
Ver- und Entschlüsselung erfolgt bei modernen Algorithmen mit
sog. Schlüsseln (K , key).
Chiffrier- und Dechriffrierschlüssel meist identisch
aka secret key, single key
Schlüssel muss zwischen Sender und Empfänger
vereinbart werden
Schlüssel muss unbedingt geheim bleiben!
blockbasierte vs. strombasierte Verfahren
Schlüssel haben i. a. sehr großer Wertebereich (damit man
nicht alle durchprobieren kann)
Schlüssel sind für Ver- und Entschlüsselung nötig
2. asymmetrische Verfahren
Es gibt sowohl Verfahren, die ein- und denselben Schlüssel für
Ver- und Entschlüsselung nutzen, als auch Verfahren, die
verschiedene Schlüssel erfordern.
2 verschiedene Schlüssel
Chiffrierschlüssel ist öffentlich (public key)
Dechiffrierschlüssel ist geheim (private key)
jeder kann eine Nachricht verschlüsseln
nur der Besitzer des Dechiffrierschlüssels kann diese
entschlüsseln
→ Sicherheit der Verfahren hängt maßgeblich von Schlüsseln
ab.
Ein Kryptosystem ist ein Verschlüsselungsalgorithmus sowie
alle möglichen Klartexte, Chiffren und Schlüssel.
23 / 50
24 / 50
4
Kerckhoffs’sches Prinzip
Blockbasierte vs. strombasierte Verfahren
Anforderungen an ein sicheres Kryptosystem:
blockbasiert:
Das System muss im Wesentlichen, am besten
mathematisch, unentschlüsselbar sein.
1. Klartext wird in Blöcke gleicher Länge strukturiert
Das System darf keine Geheimhaltung erfordern und kann
durch den Gegner gestohlen werden.
3. Ver- und Entschlüsselung erfolgen blockweise
2. ggf. werden Nullbytes aufgefüllt (Padding)
4. typische Längen: 64 Bit (DES), 128 Bit (AES), 1024 (RSA)
Es muss leicht übermittelbar sein und man muss sich die
Schlüssel ohne schriftliche Aufzeichnung merken können,
Schlüssel müssen leicht austauschbar sein.
5. meiste moderne Verfahren
strombasiert:
Strom von Bits, Bytes oder Zeichen
Das System sollte mit telegraphischer Kommunikation
kompatibel sein.
Ver- und Entschlüsselung erfolgt bit-, byte- oder
zeichenweise
Das System muss transportabel sein und die Bedienung
darf nicht mehr als eine Person erfordern.
Vigenère-Verfahren, XOR-Verschlüsselung, RC4, A5/1
(GSM)
Das System muss einfach anwendbar sein [. . . ].
Vorteil: es muss nicht auf Komplettierung des ersten
Blockes gewartet werden (niedrige Latenz)
(Auguste Kerckhoffs: La Cryptographie Militaire. In: Journal des
Sciences Militaires, Januar 1883, S. 12)
25 / 50
26 / 50
Beschränkte Algorithmen
Kryptanalyse
nicht publiziert (geheimgehalten)
breiter wissenschaftlichen Diskussion entzogen (kein Peer
Review)
beziehen ihre „Sicherheit“ aus der Geheimhaltung des
Algorithmus
ein Algorithmus kann immer aus dem Binärabbild
disassembliert werden
aka Security By Obscurity
→ häufig inhärent unsicher (viele Beispiele)
Voraussetzungen:
Gegner hat vollständigen Zugang zur verschlüsselten
Nachricht
Kryptografischer Algorithmus ist bekannt.
Ziel: Ermittlung des Klartextes ohne Kenntnis des Schlüssels
(oder Ermittlung des Schlüssels).
Algorithmen, deren Sicherheit von ihrer Geheimhaltung
abhängen, sind beschränkt und sollten nicht eingesetzt werden.
„Die besten Algorithmen sind diejenigen, die
veröffentlicht, jahrelang von den weltbesten
Kryptographen angegriffen und bislang nicht geknackt
wurden“
Versuch der Kryptanalyse wird Angriff genannt.
Beispiel: RC4, Stromchiffre, die 7 Jahre lang geheim war, bis
1994 jemand anonym den Quelltext publizierte
27 / 50
28 / 50
1. Ciphertext-only-Angriff
2. Known-plaintext-Angriff
Gegeben:
Gegeben:
Menge von chiffrierten Nachrichten
C1 = Ek (P1 ), C2 = Ek (P2 ), . . . , Ci = Ek (Pi )
Menge von chiffrierten Nachrichten sowie die
dazugehörigen Klartexte
nichts weiter
P1 , C1 = Ek (P1 ), P2 , C2 = Ek (P2 ), . . . , Pi , Ci = Ek (Pi )
Gesucht:
Gesucht:
P1 , P2 , . . . , Pi und k
k
oder ein Algorithmus, um Pi+1 aus Ci+1 = Ek (Pi+1 )
abzuleiten
oder ein Algorithmus, um Pi+1 aus Ci+1 = Ek (Pi+1 )
abzuleiten
29 / 50
30 / 50
5
3. Chosen-plaintext-Angriff
4. Gummischlauch-Kryptanalyse
Gegeben:
Der Analytiker bedroht, erpresst oder quält den
Schlüsselbesitzer solange, bis dieser den Schlüssel verrät.
P1 , C1 = Ek (P1 ), P2 , C2 = Ek (P2 ), . . . , Pi , Ci = Ek (Pi )
P1 , P2 , . . . , Pi kann durch den Analytiker vorgegeben
werden
“a process for key discovery that he describes as ‘can
take a surprisingly short time and is quite
computationally inexpensive’.” (Quelle:
http://groups.google.com/...)
Gesucht:
k
oder ein Algorithmus, um Pi+1 aus Ci+1 = Ek (Pi+1 )
abzuleiten
→ so „gewonnene“ Erkenntnisse sind zumindest in
Deutschland nicht gerichtsverwertbar („Früchte des vergifteten
Baumes“).
Kann der Analytiker, den zu verschlüsselnden Klartext in
Abhängigkeit vorangehender Verschlüsselungen variieren, so
spricht man von Adaptive-chosen-plaintext-Angriff
32 / 50
31 / 50
Schlechte Verschlüsselung: XOR-Verschlüsselung
XOR-Verschlüsselung, cont’d
symmetrisches Verfahren
Klartext wird zeichenweise mit Schlüssel „ex-oder-iert“,
also C = P ⊕ K
x
y
0
0
1
0
1
0
1
1
1
1
0
Entschlüsselung mit gleichem Schlüssel, da
x ⊕y
a ⊕ k ⊕ k = a ⊕ 0 = a.
0
Problem: Known-Plaintext-Angriff
Bewertung:
„An XOR might keep your kid sister from reading your
files, but it won’t stop a cryptanalyst for more than a
few minutes.“ (Bruce Schneier: Applied Cryptography)
Tabelle: Wahrheitstabelle der Exclusive-Or-Funktion (XOR, x ⊕ y )
Schlüssel wird immer wieder von vorn gelesen
schnell, aber (sehr) unsicher
33 / 50
34 / 50
Eine nützliche Eigenschaft von XOR
Perfekte Verschlüsselung: One-Time-Pads
(Einmalblöcke)
Satz: Es sei A eine (beliebig verteilte) Zufallsvariable1 über
{0, 1}n und X eine gleichverteilte Zufallsvariable über {0, 1}n .
Dann ist Y = A ⊕ X stets eine gleichverteilte Zufallsvariable
über {0, 1}n .
Eigenschaften:
Schlüssel besteht aus zufälligen Zeichen und hat gleiche
Länge wie Klartext
Beweisidee: Auftrittswahrscheinlichkeiten der Werte für A und
X bei n=1:
A
0
1
Pr(A)
p0
p1
X
0
1
Schlüssel darf nur ein einziges Mal genutzt werden
Verschlüsselung: jedes Zeichen des Klartextes wird mit
dem zugehörigen Zeichen des Schlüssels modulo 26
addiert (= XOR-Operation)
Pr(X)
0.5 , da gleichverteilt
0.5
Entschlüsselung: wie Verschlüsselung (gleicher Schlüssel)
→ symmetrisches Verfahren
Auftrittswahrscheinlichkeit der Werte für Y:
Y Pr(Y)
0
1
1
Jedes Zeichen des Schlüssels darf nur ein einziges Mal
genutzt werden
po · 0.5 + p1 · 0.5 = 0.5(p0 + p1 ) = 0.5
0.5
{0, 1}n sei eine n Bit lange Binärzahl.
Werden diese Eigenschaften zugesichert, so ist eine
Kryptanalyse des Chiffrats unmöglich.
35 / 50
36 / 50
6
Angriffe auf One-Time-Pads
Kryptografische Protokolle
Begriff des Protokolls:
beschreibt den dynamischen Aspekt einer Relation
kommunizierender Komponenten
Abfangen des Schlüssels
beschreibt also den Ablauf der Kommunikation
Schlüssel nicht zufällig (z. B. pseudozufällig,
d. h. computergeneriert)
umgangssprachlich: eine Menge von
„Wenn-Dann“-Beziehungen („Wenn Alice einen Schlüssel
schickt, dann verschlüsselt Bob damit irgendwas. . . “)
Mehrfachverwendung des Schlüssels
Literatur:
http://www.ranum.com/security/computer_security/papers/otpfaq/
muss allen Teilnehmern bekannt sein
darf keine Mehrdeutigkeiten enthalten
erfordert (mindestens) zwei Teilnehmer
Der statische Aspekt der Relation wird durch die Schnittstelle
beschrieben.
37 / 50
38 / 50
Beispiel eines Protokolls
Kryptografische Protokolle
Kommunikation eines Kunden mit dem Clerk bei McDonald’s
Beteiligte Helfer
Clerk
Anstatt schwerfälliger Begriffsungetüme verwendet man für die
Kennzeichnung der Kommunikationsparteien in der
Kryptografie die folgenden Namen2 :
Customer
"Hi."
{"Hi", "Hello"}
"Hi."
"Whaddaya wanna?"
"A Burger."
{"Burger", "Fries",
"Chicken"}
Name
Funktion
"Anything else?"
{"Yes", "No"}
"No"
"Drink?"
"Large Coke."
{"small", "medium", "large"} x
{"Coke", "Fanta", "Sprite"}
"Takeaway?"
"No."
Erste Teilnehmerin am Protokoll
Bob
Zweiter Teilnehmer am Protokoll
Carol
Dritte Teilnehmerin (wenn nötig)
Dave
Vierter Teilnehmer (wenn nötig)
{"Yes", "No"}
computation
time
Eve
"$4.99"
pay
"Bye."
Alice
{"Bye", "Get lost!"}
"Bye."
t
2
Lauscherin (eavesdropper)
Mallory
Bösartiger aktiver Angreifer (malicious)
Trent
(vertrauenswürdiger) Treuhänder (trust)
Egal, welches Krypto-Buch Sie aufschlagen
39 / 50
40 / 50
Kommunikation bei symmetrischen Verfahren
Kommunikation bei symmetrischen Verfahren
Prinzipieller Ablauf
Störungsmöglichkeiten
1. Alice und Bob einigen sich auf ein Kryptosystem.
2. Alice und Bob vereinbaren einen Schlüssel K .
Eve kann durch Belauschen von 2. den Schlüssel
abfangen
3. Alice chiffriert Klartext M mittels Schlüssel K und dem
vereinbarten Algorithmus:
kann danach alle Nachrichten von Alice an Bob mitlesen
Mallory kann alles was Eve kann und zusätzlich
C = EK (M)
Nachrichten von Alice abfangen (diese erreichen Bob nie)
Nachrichten fälschen (indem er eigene Nachrichten mit
dem gestohlenen Schlüssel verschlüsselt und einspeist)
4. Alice sendet Chiffretext-Nachricht C an Bob.
5. Bob dechiffriert Chiffretext mittels desselben Algorithmus
und Schlüssels und liest den Klartext:
d. h., Sicherheit des Verfahrens hängt maßgeblich von
Geheimhaltung des Schlüssels ab
M = DK (C) = DK (EK (M))
Analogie: Safe
41 / 50
42 / 50
7
Kommunikation bei symmetrischen Verfahren
Kommunikation bei symmetrischen Verfahren
(systemimmanente) Nachteile
(systemimmanente) Nachteile
Verteilung unter Geheimhaltung des Schlüssels ist
aufwändig/teuer/riskant.
Verteilung unter Geheimhaltung des Schlüssels ist
aufwändig/teuer/riskant.
kompromittierter Schlüssel erlaubt das Mitlesen und
Fälschen von Nachrichten
kompromittierter Schlüssel erlaubt das Mitlesen und
Fälschen von Nachrichten
da jeweils 2 Partner einen Schlüssel benötigen, wächst die
nötige Schlüsselanzahl quadratisch mit der Teilnehmerzahl
da jeweils 2 Partner einen Schlüssel benötigen, wächst die
nötige Schlüsselanzahl quadratisch mit der Teilnehmerzahl
Für n = 100 benötigt man
Für n = 100 benötigt man
n(n − 1)
= 4950 Schlüssel.
2
n(n − 1)
= 4950 Schlüssel.
2
43 / 50
44 / 50
Kommunikation mit Public-Key-Kryptografie
Kommunikation mit Public-Key-Kryptografie
Prinzipieller Ablauf
1. Alice und Bob einigen sich auf ein Kryptosystem mit
öffentlichem Schlüssel.
erfordert für jeden Teilnehmer genau zwei Schlüssel
einen öffentlichen zum Verschlüsseln
einen privaten zum Entschlüsseln
2. Bob macht Alice seinen öffentlichen Schlüssel EKB 4
zugänglich.
privater Schlüssel kann nicht3 aus dem öffentlichen
errechnet werden
3. Alice chiffriert ihre Nachricht mit EKB :
jeder kann öffentlichen Schlüssel nutzen, um etwas zu
verschlüsseln
C = EKB (M).
4. Alice schickt C an Bob.
nur der Besitzer des privaten Schlüssels kann dieses
wieder entschlüsseln
5. Bob dechiffriert C mittels seines privaten Schlüssels DKB
Analogie: Briefkasten (am Haus)
M = DKB (C).
Das Problem der Schlüsselübermittlung ist gelöst!
3
4
besser gesagt, nur sehr sehr schwer
Der öffentliche Schlüssel kann nur zum Verschlüsseln verwendet werden, daher bezeichnen wir wir ihn mit E.
45 / 50
46 / 50
Kommunikation mit Public-Key-Kryptografie
Hybride Kryptosysteme
(systemimmanente) Nachteile
Prinzipieller Ablauf
1. Bob übermittelt Alice seinen öffentlichen Schlüssel EKB .
2. Alice generiert einen zufälligen Sitzungsschlüssel K und
chiffriert ihn mit EKB .
ca. um den Faktor 1000 langsamer als symmetrische
Verfahren
durch chosen-plaintext-Angriffe gefährdet, wenn Anzahl
möglicher Nachrichten gering
C = EKB (K )
da öffentlicher Schlüssel bekannt, kann man
„durchprobieren“ und zu einem Chiffrat den zugehörigen
Klartext ermitteln
funktioniert bei symm. Verfahren nicht, da Schlüssel dem
Angreifer unbekannt
3. Alice übermittelt C an Bob.
4. Bob entschlüsselt die Nachricht C mit seinem privaten
Schlüssel und erhält den Sitzungsschlüssel.
K = DKB (C)
→ Kombination symmetrischer und asymmetrischer Verfahren
(aka hybride Kryptosysteme)
5. Beide verschlüsseln ihre Kommunikation nun symmetrisch
mit K , dem Sitzungsschlüssel.
47 / 50
48 / 50
8
Hybride Kryptosysteme
Zusammenfassung: Was haben wir gelernt?
Fazit
Public-Key-Kryptografie dient hier zum sicheren
Schlüsseltransport
1. historische Verfahren (Transpositions- vs.
Substitionschiffren)
Schlüsselverwaltungsproblem also auch gelöst
2. Vigenère-Verschlüsselung, Einsatz und Kryptanalyse
Kommunikation trotzdem effizient, da symmetrisch
verschlüsselt
3. Kerckhoffs’sches Prinzip eines ‘guten’ Kryptosystems
Flexibilisierung: Schlüssel kann jederzeit aufwandsarm
ersetzt werden (z. B. bei Kompromittierung)
5. symmetrische vs. asymmetrische Kryptografie
Angriffsmöglichkeit: bei der initialen Übermittlung der
öffentlichen Schlüssel
7. Wer sind Alice und Bob?
4. 4 Typen Angriffe auf Kryptosysteme
6. Perfekte Verschlüsselung mit One-Time-Pads
50 / 50
49 / 50
9