Manuel Simbeck Symmetrische Verfahren: DES / Triple-DES Vortrag im Rahmen des Seminars Multimedia.
-
Upload
julian-schuster -
Category
Documents
-
view
213 -
download
0
Transcript of Manuel Simbeck Symmetrische Verfahren: DES / Triple-DES Vortrag im Rahmen des Seminars Multimedia.
Manuel Simbeck
Symmetrische Verfahren:DES / Triple-DESVortrag im Rahmen des Seminars Multimedia
2
Motivation
Schutz ausgetauschter Informationen
Standardisierung von VerschlüsselungsverfahrenReaktion auf große NachfrageVeröffentlichung des Verfahrens entspricht Kerckhoffs Prinzip
EmpfängerSender
Unsicherer Kanal
3
Agenda
VerschlüsselungsverfahrenDESTriple-DESFazit
Verschlüsselungsverfahren DES Triple-DES Fazit
4
Definition
KlartextChiffretextSchlüsselVerschlüsselungsfunktion Entschlüsselungsfunktion
Es gilt:
KkCPEk ,:KkPCDk ,:
PpCcKk
KdKeppED ed ,))((
Verschlüsselungsverfahren DES Triple-DES Fazit
5
Systematisierung
Dimension SchlüsselSymmetrische Verfahren
Gleicher Schlüssel für Ver- und EntschlüsselungAsymmetrische Verfahren
Öffentlicher Schlüssel für VerschlüsselungPrivater Schlüssel für Entschlüsselung
Dimension KlartextBlockchiffren
Klartextblöcke fester LängeStromchiffren
Klartextströme beliebiger Länge
Verschlüsselungsverfahren DES Triple-DES Fazit
6
Feistelchiffren
Klasse symmetrischer BlockverschlüsselungenInterne Verschlüsselungsfunktion F unterschiedlichUmkehrbarkeit von F nicht notwendigUmkehrbarkeit des Verfahrens dennoch garantiert Verschlüsselung des halben Klartextblocks Iterative Anwendung notwendig
Verschlüsselungsverfahren DES Triple-DES Fazit
F XOR Ri+1
K
Li+1
Ri
LiR
L
K Schlüssel-generierung
P C
Ki
PC
7
DES
Gehört zur Klasse der Feistel-Chiffren
Erster Verschlüsselungsstandard (1977)
Klartextlänge: 64 BitChiffretextlänge: 64 BitSchlüssellänge: 64 Bit
56 Bit frei wählbar8 Bit sind Paritätsbits
Verschlüsselungsverfahren DES Triple-DES Fazit
8
16-Runden-Feistel-Chiffre
Überblick des Algorithmus
Initiale Permutation IPGenerierung der RundenschlüsselInterne Verschlüsselungsfunktion FFinale Permutation IP-1
P
K
CIP-1
IP
Verschlüsselungsverfahren DES Triple-DES Fazit
9
Einführung des Beispiels
Beispiel: Analoges 16 Bit VerfahrenKlartext: WI
Schlüssel: PI
P0 1 0 1
0 1 1 1
0 1 0 0
1 0 0 1
W
I
K0 1 0 1 0 0 0 0
0 1 0 0 1 0 0 1
P
I
Verschlüsselungsverfahren DES Triple-DES Fazit
10
Initiale Permutation
P0 1 0 1
0 1 1 1
0 1 0 0
1 0 0 1
IP14 10 6 2
16 12 8 4
13 9 5 1
15 11 7 3
IP(P)0 1 1 1
1 0 1 1
1 0 0 0
0 0 1 0
Verschlüsselungsverfahren DES Triple-DES Fazit
11
SchlüsselauswahlSchlüsselvorverarbeitung
Generierung der Rundenschlüssel
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
K
D0
PC1
G0
Ki
Di-1 <<
Gi-1 <<
Di
Gi
PC2
12
Schlüsselvorverarbeitung
Permutierte Auswahl PC1 der Schlüsselbits KHerausfiltern der ParitätsbitsAufteilung auf die Blöcke C0 und D0 (je 28 Bit)
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
K
D0
PC1
G0
13
K0 1 0 1 0 0 0 0
0 1 0 0 1 0 0 1
Schlüsselvorverarbeitung - Beispiel
K0 1 0 1 0 0 0 1
0 1 0 0 1 0 0 1
PC19 1 15 6 13 3 11
7 12 4 2 10 14 5
D0
0 0 0 0 1 0 0
G0
0 0 1 1 1 0 0
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
K
D0
PC1
G0
14
Schlüsselauswahl
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
Ki
Di-1 <<
Gi-1 <<
Di
Gi
PC2
Gleichmäßige Verteilung der SchlüsselbitsAlle Schlüsselbits gleich oft gewähltKein Schlüsselbit mehrmals an gleicher Position des Rundenschlüssels
15
Zyklische Shiftoperation
Zyklischer Linksshift von Ci-1 bzw. Di-1 um vi Stellen ergibt Ci bzw. Di
sonst2
}16,9,2,1{für1 ivi
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
Ki
Di-1 <<
Gi-1 <<
Di
Gi
PC2
16
Zyklische Shiftoperation - Beispiel
C0
0 0 0 0 1 0 0
D0
0 0 1 1 1 0 0
C1
0 0 0 1 0 0 0
D1
0 1 1 1 0 0 0
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
Ki
Di-1 <<
Gi-1 <<
Di
Gi
PC2
<<
<<
17
Auswahl des Rundenschlüssels
Permutierte Auswahl PC2 des Rundenschlüssels Ki
Di 28 BitGi 28 BitKi 48 Bit
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
Ki
Di-1 <<
Gi-1 <<
Di
Gi
PC2
18
Auswahl des Rundenschlüssels - Beispiel
D1
0 0 0 1 0 0 0 PC212 5 9 14 11 7
3 1 10 6 2 13
K1
0 0 1 0 1 0
0 0 1 0 0 0
Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel
Ki
Di-1 <<
Gi-1 <<
Di
Gi
PC2
G1
0 1 1 1 0 0 0
19
Funktion F
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
20
Expansion
Expansion E des Blocks Ri zu Ri(E) (48 Bit)
Gleiche Länge von Re und Ki für folgende XOR-Operation notwendig
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
21
Expansion - Beispiel
IP(P)0 1 1 1
1 0 1 1
1 0 0 0
0 0 1 0
Ri
1 0 0 0
0 0 1 0
E8 1 2 3 4 5
4 5 6 7 8 1
Ri(E)
0 1 0 0 0 0
0 0 0 1 0 1
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
22
XOR- Verknüpfung - Beispiel
K1
0 0 1 0 1 0 0 0 1 0 0 0
Ri(E)
0 1 0 0 0 0 0 0 0 1 0 1
XORB
0 1 1 0 1 0 0 0 1 1 0 1
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
23
Zentraler SicherheitsfaktorAbbildung von 6 Bit Blöcken auf 4 Bit Blöcke
Table-Lookup 8 unterschiedlichen SubstitutionsboxenInterpretation des ersten und letzten Bit als ZeilenindexInterpretation der mittleren 4 Bit als Spaltenindex
Substitution
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
24
Substitution - Beispiel
B0 1 1 0 1 0
0 0 1 1 0 1
S1
[0] […] [6] […] [13] […] [15]
[0] 14 11 9 7
[1] 0 13 5 8
[2] 4 2 10 0
[3] 15 1 0 13
H1 0 0 1
1 1 0 1
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
25
Permutation
Permutation P dient der gleichmäßigen Verteilung auf die Substitutionsboxen in der nächsten Runde
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
26
Permutation - Beispiel
H1 0 0 1
1 1 0 1
P7 1 5 2
8 3 6 4
R‘i
0 1 1 0
1 0 1 1
Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F
27
XOR-Verknüpfung des Blocks R‘i mit Li ergibt Ri+1
Li+1 wird als Ri gesetzt
Rundenergebnis
Verschlüsselungsverfahren DES Triple-DES Fazit
28
Rundenergebnis - Beispiel
R‘i
0 1 1 0
1 0 1 1
XOR
IP(P)0 1 1 1
1 0 1 1
1 0 0 0
0 0 1 0
Li
0 1 1 1
1 0 1 1 Ri+1
0 0 0 1
0 0 0 0
Li+1
1 0 0 0
0 0 1 0
Verschlüsselungsverfahren DES Triple-DES Fazit
29
Vertauschen der Blöcke R und L
R5
0 1 0 1
0 0 1 0
L5
0 1 1 0
1 0 0 1
R0 1 0 1
0 0 1 0
L0 1 1 0
1 0 0 1
30
Finale Permutation
R0 1 0 1
0 0 1 0
L0 1 1 0
1 0 0 1
C0 1 1 0
1 0 0 1
1 1 0 0
0 0 1 0
IP-1
12 4 16 8
11 3 15 7
10 2 14 6
9 1 13 5
Verschlüsselungsverfahren DES Triple-DES Fazit
31
Entschlüsselung
Entschlüsselung erfolgt analog zur Verschlüsselung
Reihenfolge der Rundenschlüssel invertieren Rechtsshift statt Linksshift bei der Schlüsselauswahl
Verschlüsselungsverfahren DES Triple-DES Fazit
32
Triple-DES
Geringe Schlüssellänge beim DES ermöglicht vollständige Schlüsselsuche (Brute-Force)
Triple-DES ermöglicht längere SchlüsselIterative Verwendung des DES nach EDE-Schema Gilt noch als sicher
P CVerschlüs-selung
Entschlüs-selung
Verschlüs-selung
K1 K2 K3
Verschlüsselungsverfahren DES Triple-DES Fazit
33
Fazit
DESErster VerschlüsselungsstandardSymmetrische BlockchiffreAufgrund zu geringer Schlüssellänge unsicher
Triple-DES Dreifachanwendung des DESEinfaches Upgrade DES Triple-DESGilt noch als sicher
DES / Triple-DES wird zunehmend durch effizienteren AES ersetzt
Verschlüsselungsverfahren DES Triple-DES Fazit
34
Fragen
35
Anwendung des DES in Java
Verschlüsselungsverfahren in Java sehr generischZentrale Klassen in javax.crypto.*
… byte[] plaintext = “Seminare“.getBytes(); byte[] ciphertext; Cipher c = Cipher.getInstance(“DES“); Key k = KeyGenerator.getInstance(“DES“).generateKey(); c.init(Cipher.ENCRYPT_MODE, k); ciphertext = c.doFinal(plaintext);…