Erläuterungen zum DES-Schlüsselverfahren

Slides:



Advertisements
Ähnliche Präsentationen
Dauermagnete Bei magnetischen Materialien unterscheidet man Eisenkerne bzw. Weicheisenstücke und Dauermagnete bzw. Hart-magnetische Materialien. Dauermagnete.
Advertisements

TAGUNG DER DEUTSCH-LUSITANISCHEN JURISTENVEREINIGUNG O processo penal português Panorâmica introdutória Der portugiesische Strafprozess ein einführender.
Ach wie gut, daß niemand weiß Der Schutz von Wissen
Herzlich Willkommen bei SIMPLE STABLE BULDING
Adjektivendungen Tabellen und Übungen.
ZWILLING Neuheiten 2008.
Das Hexenkochbuch Nicht Rattenschwänze, Spinnenbein
 Präsentation transkript:

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

Ü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

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

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 17 - 32 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 33 - 48 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 49 - 64 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

Bildung von L- und R-Blöcken Aufteilen der Blocks in einen linken und einen rechten Block: 0100 0001 1101 1001 1000 1110 0010 1111 0100 0001 1101 1001 1000 1110 0010 1111 L-Block R-Block

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: 110011 110011 XOR 100010 111000 (Schlüssel) Ergebnis: 010001 001011 Die farblich hervorgehobenen Bits spielen bei der anschließenden S-Box Verarbeitung eine besondere Rolle!

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

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

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: 1010 1111.

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…

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

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

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…

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…

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

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 17 - 32 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 33 - 48 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 49 - 64 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

Weitere Infos: Ausgangspunkt zu dieser Präsentation war: www.ra.informatik.uni-stuttgart.de/~gundolf/kryptochip/Buch/Buch_des.2.html Mein besonderer Dank Herrn Dr. Jörg Schneider, ohne den es diese Präsentation nicht gegeben hätte.