 |
… bereits Claude Shannon
forderte, dass der Geheimtext durch Konfusion und Diffusion aus dem Klartext
gebildet wird. Konfusion bedeutet in etwa Mischen, das heißt, die
statistischen Eigenschaften des Chiffretextes sollten möglichst gut einer
Folge aus Zufallszahlen gleichen, auch wenn der Klartext stark strukturiert
ist. Diffusion bedeutet, dass jedes Klartextbit auf möglichst viele
Chiffretextbits verteilt wird. Damit werden Angriffe erschwert, die auf der
Zuordnung eines Klartextteiles zu einem bestimmten Chiffretextteil und dem
Schlüssel basieren. Als ein vernünftiger Kompromiss aus Diffusion und
Effizienz der Implementierung werden heute meist Blocklängen von 64 oder 128
Bit gewählt. Bevor wir nun auf die Details bestimmter Blockchiffren
eingehen, wollen wir einige allgemeine Überlegungen anstellen.
Um eine möglichst hohe Sicherheit zu erreichen, wäre es wünschenswert, den
Schlüsselraum so groß wie möglich zu machen. Dies ist leider nicht möglich,
denn die Gesamtzahl aller Chiffren mit einer Blocklänge von 64 Bit beträgt
264! (Fakultät!). Um eine spezielle Chiffre zu codieren wird also ein
Schlüssel der Länge 1092264) das sind ~ 270 sind rund 2 *1021
Bit benötigt. Das sind etwa 1011 GByte. Um einen einzigen derartigen
Schlüssel zu speichern, würde man mehr als 109 Festplatten mit einer
Kapazität von je 100 GByte benötigen, die zusammen etwa 500 000 Tonnen
schwer wären. Man wird sich also in der Praxis auf eine kleine Teilmenge von
Blockchiffren mit kurzem Schlüsselbeschränken, die Diffusion und Konfusion
möglichst gut realisieren. |
 |
|
 |
- wir reden von einem symmetrischen monoalphabetischen Blockchiffre
(Entschlüsseln funktioniert genau so wie verschlüsseln - und: es gibt nur
einen Schlüssel!)
- Konfusion sowie Diffusion sind die Hauptprinzipien
- nach der Zeichenkonvertierung läuft alles auf Gruppen von jeweils 8
Bit - ist der Datenstrom größer, wird auf immer 8 Zeichengruppen
aufgefüllt
- verschlüsselt werden jeweils Gruppen (Blockchiffre) zu immer 8 × 8 Bit
- bedingt durch die Verarbeitung von Bits lässt sich das gesamte
Verfahren in Hardware gießen - streng genommen nichts weiter als
Fangregister kombiniert mit Decodern sowie Schieberegistern
- ... denn: nichts ist schneller als Hardware
- interessant ist, dass an den Schlüssel streng
genommen nur eine einzige Bedingung gestellt werden muss: er muss geheim
bleiben!!!
- es gibt schwache Scllüssel - alles 0 sowie alles
1
|
 |
|
 |
- DES, der Data Encryption Standard, ist ohne Frage das am besten
untersuchte kryptografische Verfahren mit dem Chararkter eines
monoalphabetischen sowie symmetrischen Verfahrens – geht ja eigentlich gar
nicht – ist ja bewiesenermaßen TOP-unsicher und leicht angreifbar
- Moderne Entwurfsprinzipien und moderne Kryptanalyse haben wir aber
trotzdem wesentlich diesem Algorithmus zu verdanken. Obwohl der Verdacht,
die NSA könnte in DES eine Hintertür eingebaut haben, nie ganz ausgeräumt
werden konnte, aktuell bis heute kein praktisch wirklich verwertbarer
Angriffspunkt gefunden worden. Die Unsicherheit von DES rührt daher, dass
der Brute-Force-Angriff heutzutage technisch möglich geworden ist!!!
- DES spielte in der Geschichte und auch heute noch eine überragende
Rolle – mit Triple-DES gibt es ja auch bereits eine zukunftweisende
Alternative
|
 |
|
 |
Also grundsätzlich ist der
DES ganz einfach: 64 Eingangsbits sowie 56 Keybits kommen in einen Mixer und
herauskommen 64 Cipherbits. Beim Entschlüsseln lässt man den Mixer nur
einfach umgekehrt laufen und kann alles wieder lesen!!! Um dies zu
realisieren, wird der Eingabetext Blöcke zu je acht Zeichen zerlegt
(notfalls werden ergo in der letzten Gruppe Dummy-Zeichen angefügt) Das
funktioniert für alles, was im ASCII- Code zwischen 32D und 255D
liegt. Alles
nachfolgend aufgezeichnete bezieht sich also immer auf jeweils Gruppen zu 8
mal 8 Bit. |
 |
Strategie des DES-Algorithmus
(...und alles, was wir im Augenblick nicht genau wissen, erklären wir zu
einer "Black-Box"!) |
... die Grundprinzipien des DES |
... das Rundenverfahren des DES |
... die F-Funktion |
... die Substitutions-Boxen
(kurz: S-Boxen) |
... das Key-Konzept |

Basisfunktion des DES
Download im
CorelDraw 11.0-Format |
|
|
|
|
|
|
|
|
 |
C- sowie D-Keyblock rotieren
nach jeder Nutzung getrennt um jeweils 1 oder 2 Bit |
 |
Unser Beispiel zum Verschlüsseln:
- Plaintext mit 8 Zeichen Länge:
PASSWORD
- Plaintext im ASCII-Code - jeweils dreistellig:
080 065 083 083 087 079 082 068
- Plaintext im Binär-Code - jeweils 8 Bit pro Zeichen:
01010000 01000001 01010011 01010011 01010111 01001111 01010010 01000100
- 56-Bit Key: 1100111 0100001 1011111
0011001 1000011 1001011 0011110 0101011 - 56-Bit Key mit
Leerezeichen getrennt: 11001110100001101111100110011000011100101100111100101011
|
 |
... mein 8-Zeichen-Beispiel |
... mein 8-Zeichen-Beispiel -
aufbereitet in Bits |
... die Bits - nur anders
angeordnet |
... die
Eingangspermutation |

... mein
Plaintext-Beispiel |
|
|
|
|
 |
Encryption zerfällt grundsätzlich in zwei Teile:
Plaintext-Konvertierung sowie Key-Permutationen |
Plaintext-Aufbereitung |
Key-Aufbereitung |
Bitanordnung des ersten 8 * 8
Zeichen-Musters |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
|
Bitanordnung
nach der Eingangspermutation |
58 |
50 |
42 |
34 |
26 |
18 |
10 |
02 |
60 |
52 |
44 |
36 |
28 |
20 |
12 |
04 |
62 |
54 |
46 |
38 |
30 |
22 |
14 |
06 |
64 |
56 |
48 |
40 |
32 |
24 |
16 |
08 |
57 |
49 |
41 |
33 |
25 |
17 |
09 |
01 |
59 |
51 |
43 |
35 |
27 |
19 |
11 |
03 |
61 |
53 |
45 |
37 |
29 |
21 |
13 |
05 |
63 |
55 |
47 |
39 |
31 |
23 |
15 |
07 |
... gefunden in:
https://www.cs.uni-potsdam.de/ti/lehre/04-Kryptographie/slides/DES-AES
Seite 6 |
8 × 7
Key-Bits - also
der Schlüsselstrom |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
- ... das ist die Schlüsselmenge in 7-Bit-Gruppen,
welche wirklich nach Protokoll verwendet wird
- ... ursprünglich nach IBM-Empfehlung 128 Bit - das
wäre eine wesentlich höhere Sicherheit
|
7 Key-Bits +
Parity-Bit |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
- ... das 8. Bit dient nur der Absicherung der
Nachrichtenverbindung - und wird nach erfolgreichem Eintreffen sofort
wieder gelöscht
- die weitere Nummerierung erfolgt trotzdem auf deren
Anwesenheit als Basis, denn sie sind ja erst einmal da ;-)
|
|
 |
... die Ausgangs-Permutation |
|
|
Bitanordnung Ciphertext
nach der 64 Bit Ausgangspermutation |
|
|
|
|
40 |
08 |
48 |
16 |
56 |
24 |
64 |
32 |
39 |
07 |
47 |
15 |
55 |
23 |
63 |
31 |
38 |
06 |
46 |
14 |
54 |
22 |
62 |
30 |
37 |
05 |
45 |
13 |
53 |
21 |
61 |
29 |
36 |
04 |
44 |
12 |
52 |
20 |
60 |
28 |
34 |
02 |
42 |
10 |
50 |
18 |
58 |
26 |
33 |
01 |
41 |
09 |
49 |
17 |
57 |
25 |
... gefunden in:
Kryptographie
verständlich Seite 71 |
|
|
|
 |
Decryption zerfällt ebenfalls in grundsätzlich zwei Teile:
Key-Aufbereitung
Decryption |