Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Erläuterungen zum DES-Schlüsselverfahren

Ähnliche Präsentationen


Präsentation zum Thema: "Erläuterungen zum DES-Schlüsselverfahren"—  Präsentation transkript:

1 Erläuterungen zum DES-Schlüsselverfahren
von R. Baumann auf Grundlage des Skriptes von Jörg Holzhauer, Uni Stuttgart

2 Überblick 64 bit Input 64 bit Output 56 Bit Schlüssel 64 bit 64 bit
Permutation Eingangs- permutation Ausgangs- permutation 28 bit 32 bit 32 bit 2x 32 bit L-Block R-Block C-Block D-Block 32 bit Expansion L-Shift L-Shift 48 bit Schlüssel- Auswahl S1 S2 S3 S4 S5 S6 S7 S8 48 bit Permutation 32 bit

3 Im Detail: 64 bit Input 64 bit Output 64 bit 64 bit
Eingangs- permutation Ausgangs- permutation 56 Bit Schlüssel + 8 bit Par. 32 bit L-Block R-Block R-Block Permutation 32 bit 28 bit Expansion C-Block D-Block 48 bit L-Shift L-Shift S1 S1 S2 S3 S4 S5 S6 S7 S8 Schlüssel- Auswahl 48 bit Permutation 32 bit

4 Eingangspermutation permutiert die eingehenden Bits nach einem fest vorgegebenen Schema: Ein- gangs- bits Ausgangsbits 1 - 16 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

5 Bildung von L- und R-Blöcken
Aufteilen der Blocks in einen linken und einen rechten Block: L-Block R-Block

6 Veroderung 110011 110011 XOR 100010 111000 (Schlüssel)
Die Veroderung des expandierten rechten Blocks soll hier am Beispiel der 12 Bits der letzten Folie gezeigt werden mit einem beispielhaften 12 Bit Schlüssel gezeigt werden: XOR (Schlüssel) Ergebnis: Die farblich hervorgehobenen Bits spielen bei der anschließenden S-Box Verarbeitung eine besondere Rolle!

7 S1-Box Eine S-Box hat Zeilen- und Spaltenköpfe mit hexadezimalen Zahlen: D 6 A E 3 B 5 7 1 9 4 2 8 C F S-Box 1

8 S1-Box Wie werden die Koordinaten für den ersten sechser Block ermittelt? 010001 Für die Zeile: 01 (bin) = 1 (hex), also Zeile 1 Für die Spalte: 1000 (bin) = 8 (hex), also Spalte 8, somit A (hex) = 1010 (bin) D 6 A E 3 B 5 7 1 9 4 2 8 C F S1-Box Das Ergebnis lautet nach Durchlauf der S1-Box also: 1010

9 S2-Box 001011 Für die Zeile: 01 (bin) = 1 (hex), also Zeile 1
Wie werden die Koordinaten für den zweiten sechser Block ermittelt? 001011 Für die Zeile: 01 (bin) = 1 (hex), also Zeile 1 Für die Spalte: 0101 (bin) = 5 (hex), also Spalte 5, somit F (hex) = 1111 (bin) S2-Box 1 2 3 4 5 6 7 8 9 A B C D E F Das Ergebnis lautet nach Durchlauf der S1 und S2-Box also:

10 Expansion Bei der Expansion wird so vorgegangen (am Beispiel eines 8 bit Blocks): 1001 1 1 1001 1 1 So werden aus 8 Bit 12 Bit…

11 Schlüsselpermutation
Hier werden die relevanten 56 Bit aus dem 64 Bit Schlüssel ausgewählt und permutiert: Bit 1-7 57 49 41 33 25 17 9 Bit 9-15 1 58 50 42 34 26 18 Bit 17-23 10 2 59 51 43 35 27 Bit 25-31 19 11 3 60 52 44 36 Bit 33-39 63 55 47 39 31 23 15 Bit 41-47 7 62 54 46 38 30 22 Bit 49-55 14 6 61 53 45 37 29 Bit 57-63 21 13 5 28 20 12 4

12 Schlüsselauswahl Bei der Schlüsselauswahl werden aus dem permutierten Schlüssel hart 48 Bit ausgewählt (einige fehlen) und bezogen auf die Position nochmals permutiert: 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32

13 Links-Shift 1 Beim Links-Shift werden die Positionen der Bits im Register pro Verschlüsselungsdurchgang um folgende Anzahl der Positionen verschoben: Schritt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Shifts D.h., dass z.B. beim 1. Durchgang eine Verschiebung nach links, beim 3. eine Verschiebung um weitere 2 Stellen nach links usf. durchgeführt wird. Dazu ein Beispiel…

14 Links-Shift 2 vorher… nachher… 36 44 52 60 3 11 19 Bit 25-31 27 35 43
51 59 2 10 Bit 17-23 18 26 34 42 50 58 1 Bit 9-15 9 17 25 33 41 49 57 Bit 1-7 vorher… 57 36 44 52 60 3 11 Bit 25-31 19 27 35 43 51 59 2 Bit 17-23 10 18 26 34 42 50 58 Bit 9-15 1 9 17 25 33 41 49 Bit 1-7 nachher…

15 Permutation nach S-Box
Bit 1-8 16 7 20 21 29 12 28 17 Bit 9-16 1 15 23 26 5 18 31 10 Bit 17-24 2 8 24 14 32 27 3 9 Bit 25-32 19 13 30 6 22 11 4 25

16 Ausgangspermutation Dieses ist die Inverse der Eingangspermutation:
bits Ausgangsbits 1 - 16 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

17 Weitere Infos: Ausgangspunkt zu dieser Präsentation war: Mein besonderer Dank Herrn Dr. Jörg Schneider, ohne den es diese Präsentation nicht gegeben hätte.


Herunterladen ppt "Erläuterungen zum DES-Schlüsselverfahren"

Ähnliche Präsentationen


Google-Anzeigen