Symmetrische Verfahren: DES / Triple-DES Vortrag im Rahmen des Seminars Multimedia
Motivation Schutz ausgetauschter Informationen Standardisierung von Verschlüsselungsverfahren Reaktion auf große Nachfrage Veröffentlichung des Verfahrens entspricht Kerckhoffs Prinzip Sender Unsicherer Kanal Empfänger
Agenda Verschlüsselungsverfahren DES Triple-DES Fazit
Definition Klartext Chiffretext Schlüssel Verschlüsselungsfunktion Entschlüsselungsfunktion Es gilt: Verschlüsselungsverfahren DES Triple-DES Fazit
Systematisierung Dimension Schlüssel Dimension Klartext Symmetrische Verfahren Gleicher Schlüssel für Ver- und Entschlüsselung Asymmetrische Verfahren Öffentlicher Schlüssel für Verschlüsselung Privater Schlüssel für Entschlüsselung Dimension Klartext Blockchiffren Klartextblöcke fester Länge Stromchiffren Klartextströme beliebiger Länge Verschlüsselungsverfahren DES Triple-DES Fazit
Schlüssel-generierung Feistelchiffren Li Li+1 R C P P C XOR F Ri+1 L Ri Schlüssel-generierung K K Ki Klasse symmetrischer Blockverschlüsselungen Interne Verschlüsselungsfunktion F unterschiedlich Umkehrbarkeit von F nicht notwendig Umkehrbarkeit des Verfahrens dennoch garantiert Verschlüsselung des halben Klartextblocks Iterative Anwendung notwendig Verschlüsselungsverfahren DES Triple-DES Fazit
DES Gehört zur Klasse der Feistel-Chiffren Erster Verschlüsselungsstandard (1977) Klartextlänge: 64 Bit Chiffretextlänge: 64 Bit Schlüssellänge: 64 Bit 56 Bit frei wählbar 8 Bit sind Paritätsbits Verschlüsselungsverfahren DES Triple-DES Fazit
Überblick des Algorithmus P IP 16-Runden-Feistel-Chiffre IP-1 C K Initiale Permutation IP Generierung der Rundenschlüssel Interne Verschlüsselungsfunktion F Finale Permutation IP-1 Verschlüsselungsverfahren DES Triple-DES Fazit
Einführung des Beispiels Beispiel: Analoges 16 Bit Verfahren Klartext: WI Schlüssel: PI P 1 W I K 1 P I Verschlüsselungsverfahren DES Triple-DES Fazit
Initiale Permutation P 1 IP 14 10 6 2 16 12 8 4 13 9 5 1 15 11 7 3 1 IP 14 10 6 2 16 12 8 4 13 9 5 1 15 11 7 3 IP(P) 1 Verschlüsselungsverfahren DES Triple-DES Fazit
Generierung der Rundenschlüssel Schlüsselauswahl Schlüsselvorverarbeitung D0 Di-1 << Di K PC1 PC2 Ki G0 Gi-1 << Gi Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Schlüsselvorverarbeitung Permutierte Auswahl PC1 der Schlüsselbits K Herausfiltern der Paritätsbits Aufteilung auf die Blöcke C0 und D0 (je 28 Bit) D0 K PC1 G0 Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Schlüsselvorverarbeitung - Beispiel D0 1 K 1 K 1 PC1 9 1 15 6 13 3 11 7 12 4 2 10 14 5 G0 1 D0 K PC1 G0 Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Schlüsselauswahl Gleichmäßige Verteilung der Schlüsselbits Di-1 << Di Gleichmäßige Verteilung der Schlüsselbits Alle Schlüsselbits gleich oft gewählt Kein Schlüsselbit mehrmals an gleicher Position des Rundenschlüssels PC2 Ki Gi-1 << Gi Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Zyklische Shiftoperation Zyklischer Linksshift von Ci-1 bzw. Di-1 um vi Stellen ergibt Ci bzw. Di Di-1 << Di PC2 Vi= 1 falls {1,2,9,16} Ki Gi-1 << Gi Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Zyklische Shiftoperation - Beispiel 1 C1 1 << D0 1 D1 1 << Di-1 << Di PC2 Vi= 1 falls {1,2,9,16} Ki Gi-1 << Gi Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Auswahl des Rundenschlüssels Permutierte Auswahl PC2 des Rundenschlüssels Ki Di 28 Bit Gi 28 Bit Ki 48 Bit Di-1 << Di PC2 Ki Gi-1 << Gi Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Auswahl des Rundenschlüssels - Beispiel 1 PC2 12 5 9 14 11 7 3 1 10 6 2 13 K1 1 G1 1 Di-1 << Di PC2 Ki Gi-1 << Gi Generierung der Rundenschlüssel Verschlüsselungsverfahren DES Triple-DES Fazit
Funktion F Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
Expansion Expansion E des Blocks Ri zu Ri(E) (48 Bit) Gleiche Länge von Re und Ki für folgende XOR-Operation notwendig Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
Expansion - Beispiel IP(P) 1 Ri 1 E 8 1 2 3 4 5 6 7 Ri(E) 1 Funktion F 1 Ri 1 E 8 1 2 3 4 5 6 7 Ri(E) 1 Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
XOR- Verknüpfung - Beispiel 1 XOR B 1 Ri(E) 1 Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
Substitution Zentraler Sicherheitsfaktor Abbildung von 6 Bit Blöcken auf 4 Bit Blöcke Table-Lookup 8 unterschiedlichen Substitutionsboxen Interpretation des ersten und letzten Bit als Zeilenindex Interpretation der mittleren 4 Bit als Spaltenindex Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
Substitution - Beispiel [0] […] [6] [13] [15] 14 11 9 7 [1] 13 5 8 [2] 4 2 10 [3] 15 1 B 1 H 1 Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
Permutation Permutation P dient der gleichmäßigen Verteilung auf die Substitutionsboxen in der nächsten Runde Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
Permutation - Beispiel H 1 P 7 1 5 2 8 3 6 4 R‘i 1 Funktion F Verschlüsselungsverfahren DES Triple-DES Fazit
Rundenergebnis XOR-Verknüpfung des Blocks R‘i mit Li ergibt Ri+1 Li+1 wird als Ri gesetzt Verschlüsselungsverfahren DES Triple-DES Fazit
Rundenergebnis - Beispiel Li+1 1 IP(P) 1 Li 1 Ri+1 1 XOR R‘i 1 Verschlüsselungsverfahren DES Triple-DES Fazit
Vertauschen der Blöcke R und L 1 R 1 R5 1 L 1
Finale Permutation R 1 IP-1 12 4 16 8 11 3 15 7 10 2 14 6 9 1 13 5 C 1 1 IP-1 12 4 16 8 11 3 15 7 10 2 14 6 9 1 13 5 C 1 L 1 Verschlüsselungsverfahren DES Triple-DES Fazit
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
Triple-DES Geringe Schlüssellänge beim DES ermöglicht vollständige Schlüsselsuche (Brute-Force) Triple-DES ermöglicht längere Schlüssel Iterative Verwendung des DES nach EDE-Schema Gilt noch als sicher P Verschlüs-selung Entschlüs-selung Verschlüs-selung C K1 K2 K3 Verschlüsselungsverfahren DES Triple-DES Fazit
Fazit DES Erster Verschlüsselungsstandard Symmetrische Blockchiffre Aufgrund zu geringer Schlüssellänge unsicher Triple-DES Dreifachanwendung des DES Einfaches Upgrade DES Triple-DES Gilt noch als sicher DES / Triple-DES wird zunehmend durch effizienteren AES ersetzt Verschlüsselungsverfahren DES Triple-DES Fazit
Fragen
Anwendung des DES in Java Verschlüsselungsverfahren in Java sehr generisch Zentrale 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);