Kryptanalyse
- Einleitung
- Häufigkeitsanalyse (Character Entropie)
- Brute Force Attack
- Ciphertext Only Attack
- Known Plaintext Attack
- Chosen Plaintext Attack
- Adaptive Chosen Plaintext Attack
- Chosen Cyphertext Attack
- Links
Einleitung
Die Kryptanalyse befasst sich damit, entweder aus einem Chiffretext den Klartext
wiederherzustellen oder den Schüssel zu ermitteln.
Beides führt dazu, dass es dem Angreifer möglich ist verschlüsselte Nachrichten zu
lesen und im zweiten Fall auch zu schreiben (u.U. auch im ersten).
Es werden hier nur die gebräuchlichsten Verfahren dargestellt.
Weggelassen wurden z.B. Chosen Key Attack und Chosen Text Attack, die allerdings
entweder ungebräuchlich oder eine Kombination aus den hier vorgestellten Verfahren
sind.
Häufigkeitsanalyse - Redundanzen - Character Entropie
Durch Häufigkeitsanalyse vom Gemeintext lassen sich besonders bei den substitutions
Chiffren gute Ergebnisse für die Entschlüsselung ohne Rechner erziehlen. Bei der
Häufigkeitsanalyse wird einfach die Anzahl der einzelnen Zeichen aufsummiert. Im
deutschen ist z.B. bekannt, dass der Buchstabe 'e' eine Häufigkeit von 17,48%
aufweist. Wenn bei der Häufigkeitsanalyse eines Cäsar-Chiffre ein Buchstabe auch
mit etwa 17% auftritt, dann hat man prinzipiell schon den Schlüssel gefunden und
kann die Nachricht entschlüsseln.
Buchstabenhäufigkeiten der deutschen und englischen Sprache (Monogramme) in %:
| Zeichen: |
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
| deutsch |
6.47 |
1.93 |
2.68 |
4.83 |
17.48 |
1.65 |
3.06 |
4.23 |
7.73 |
0.27 |
1.46 |
3.49 |
2.58 |
| englisch |
8.04 |
1.54 |
3.06 |
3.99 |
12.51 |
2.30 |
1.96 |
5.49 |
7.26 |
0.16 |
0.67 |
4.14 |
2.53 |
| Zeichen: |
n |
o |
p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
| deutsch |
9.84 |
2.98 |
0.96 |
0.02 |
7.54 |
6.83 |
6.13 |
4.17 |
0.94 |
1.48 |
0.04 |
0.08 |
1.14 |
| englisch |
7.09 |
7.60 |
2.00 |
0.11 |
6.12 |
6.54 |
9.25 |
2.71 |
0.99 |
1.92 |
0.19 |
1.73 |
0.09 |
Shift-Chiffre, wo nur jeweils ein Zeichen substituiert wird, lassen sich also sehr
einfach durch Analyse der Monogramme der entsprechenden Sprache brechen, bei der
polygraphischen substitutions Chiffrierung (z.B. Playfair) werden jedoch die Monogramme
relativ gut "verschleiert", dort wird der Gemeintext auf andere Redundanzen geprüft, z.B.
auf Bi- und Trigramme. Das Prinzip ist das gleiche wie bei den Monogrammen, nur sind
die Tabellen entsprechend größer:
Bi- und Trigramme der deutschen Sprache in %%:
er 409
en 400
ch 242
de 227
ei 193
nd 187
te 185
in 168
ie 163
|
ge 147
es 140
ne 122
un 119
st 116
re 112
he 102
an 102
be 101
|
|
ein 122
ich 111
nde 89
die 87
und 87
der 86
che 75
end 75
gen 71
|
sch 66
cht 61
den 57
ine 53
nge 52
nun 48
ung 48
das 47
hen 47
|
ind 46
enw 45
ens 44
ies 44
ste 44
ten 44
ere 43
lic 42
ach 41
|
sse 39
aus 36
ers 36
ebe 35
erd 33
enu 33
nen 32
rau 32
ist 31
|
nic 31
sen 31
ene 30
nda 30
ter 30
ass 29
ena 29
ver 29
wir 29
| |
Für weitere Informationen über einfache Kryptanalyse siehe [1], insb. für ausführliche
Listen von Mono- Bi- Tri- Tetragrammen der englischen Sprache die Dateien appX.pdf.
Brute Force Attack
Beim Brute Force Angriff werden sämtliche mögliche Schüssel durchprobiert und es wird
verglichen ob ein sinnvoller Plaintext bei der Entschlüsselung entsteht.
Ein Algorithmus gilt als sicher wenn diese Methode die einzige ist um an den Schüssel
zu kommen.
Bei einem Schlüssel der Länge von 8 Bit gibt es 2^8 oder 256 mögliche Schüssel, dies ist
selbst ohne Computer einfach zu knacken.
Heutzutage sind Schlüssellängen von 64 Bit nicht mehr sicher und werden von einigen Rechnern
in wenigen Stunden geknackt. Um wirklich sicher zu sein, sollten es daher 128 Bit sein.
128 Bit sind selbst von den bekannten Geheimdiensten nicht zu knacken, Voraussetzung ist
natürlich, dass der verwendete Algorithmus sicher ist.
Ciphertext Only Attack
Bekannt sind mehrere verschlüsselte Nachrichten, die mit demselben Verschlüsselungs-
algorithmus chiffriert wurden.
Die Aufgabe des Kryptanalytiker ist es nun möglichst viele Klartexte zu entschlüsseln
oder den Schüssel, der zur Verschlüsselung benutzt wurde, abzuleiten, um dann die
Möglichkeit zu haben beliebige Nachrichten zu entschlüsseln.
Known Plaintext Attack
Es sind sowohl Chiffretext also auch Klartext mehrerer Nachrichten bekannt. Die
Aufgabe des Kryptanalytikers ist es nun, den zugehörigen Schlüssel herauszufinden
oder einen äquivalenten Algorithmus zu entwickeln, der die Nachrichten genau wie
der eingesetzte Verschlüsselungsalgorithmus ver- und entschlüsselt.
Chosen Plaintext Attack
Hier kann der Kryptanalytiker nun selber die zu verschlüsselnden Klartexte auswählen.
Zusätzlich zu den Möglichkeiten des Known Plaintext Angriffes ist es jetzt also
möglich gezielt Klartextblöcke zur verschlüsselung auszuwählen, die u.U. zu mehr
Informationen über den Schlüssel führen.
Die Aufgaben des Kryptanalytikers sind die gleichen wie beim Known Plaintext Angriff.
Adaptive Chosen Plaintext Attack
Dies ist ein Sonderfall des Chosen Plaintext Angriffes. Beim Chosen Plaintext Angriff
ist es nur möglich einen großen Block Klartext zu verwenden, es ist jedoch nicht möglich
diesen zu verkleinern bzw. zu variieren. Hier dagegen ist es möglich einen kleineren Block
zu nehmen, den zu verschlüsseln und dann darauf aufbauend einen zweiten Block auszuwählen.
Der Unterschied besteht also darin, dass es hier möglich ist die Auswahl des Klartextes
besser zu variieren, indem vorhergehende Verschlüsselungen berücksichtigt werden.
Chosen Cyphertext Attack
Hier hat der Kryptanalytiker die Möglichkeit selber Chiffretexte zu entschlüsseln, jedoch
kann er im Gegensatz zu dem Chosen Plaintext Angriffe keinen Text selber verschlüsseln.
Zum Beispiel wäre eine sichere Machine denkbar, die Chiffretexte enschlüsselt aber nicht
verschüsselt.
Die Aufgabe besteht nun darin den Schlüssel herauszufinden, damit es auch möglich ist zu
entschlüsseln.
Diese Methode wird meist gegen asymmetrische Algorithmen (RSA, Public-Key Verfahren) einge-
setzt. Sie kann jedoch auch in Kombination mit den anderen Angriffen gegen symmetrische
Algorithmen erfolgreich eingesetzt werden.
Links
[1] Basic Cryptoanalysis
|