Gleicher Schlüssel zum Ver- und Entschlüsseln
Problem: Schlüssel muss sicher übertragen werden
Meist schneller als asymmetrische Verschlüsselung
Informationstheoretisch sicher
Kann einfach von Hand berechnet werden
Perfekt sicher wenn:
Schlüssel mindestens so lang wie die Nachricht
Schlüssel gleichverteilt zufällig gewählt
Schlüssel wird nicht wiederverwendet
Schlüssel muss so lang wie die Nachricht sein
Verschlüsseln einer Festplatte: Eine Festplatte mit den Daten
Zweite Festplatte mit dem verschlüsselten Backup
Dritte Festplatte nur für den Schlüssel
⇒In der Regel Verwendung von DES oder AES
Was ist ein Blockchiffre?
Aufteilung des Klartextes in Blöcke
Blöcke haben definierte Länge
Letzter Block muss aufgefüllt werden
Verschlüsselung erfolgt Blockweise
Feistelnetzwerk
Verschlüsselung:
Entschlüsselung:
Was ist Data Encryption Standard (DES)
Feistelnetzwerk mit 16 Runden
64 Bit Blocklänge (32 Bit L, 32 Bit R)
64 Bit Schlüssellänge
Davon effektiv jedoch nur 56 Bit genutzt
Initiale Permutation vor Feistelnetzwerk
Inverse Permutation nach Feistelnetzwerk
Wie viele Schritte hat ein DES und wie sehen die Schritte aus?
Schritt 1: Expansion
Schritt 2: Key Addition
Schritt 3: Substitution
Schritt 4: Permutation
F entspricht dem Ergebnis: F(R, k) -> Das Ergebnis mit der Eingabe R und dem Schlüssel k
Wie steht es um die Sicherheit von DES?
Strukturell ungebrochen
Schlüssellänge von 56 Bit ist jedoch unzureichend
Vollständige Suche (256 Schlüssel durchprobieren) heute in wenigen Stundenmöglich
Lösung: Schlüssellänge erhöhen
Nicht direkt umsetzbar in DES
Stattdessen 2DES verwenden
Warum ist auch 2DES nicht sicher genug und was wäre eine alternative?
Meet-in-the-middle-Angriff
=> Angriff ist theoretisch möglich, praktisch aber schwer umsetzbar
-> Besser: Einsatz von 3 DES
Advanced Encryption Standard (AES) Allgemein
Einsatz von AES in den gängigsten Protokollen
HTTPS / TLS
SSH / SFTP
WPA2
7-Zip / Skype
Teile Block auf Zellen einer Matrix auf
4 Zeilen, 4 Spalten ⇒ 16 Zellen
128 Bit / 16 Zellen ⇒ 8 Bit pro Zelle
Aktueller Matrixinhalt heißt Zustand
Führe Operationen auf der Matrix aus
Wiederholt über mehrere Runden
128 Bit Schlüssel ⇒ 10 Runden
192 Bit Schlüssel ⇒ 12 Runden
256 Bit Schlüssel ⇒ 14 Runden
Wie viele Schritte hat das AES Verschlüsselungsverfahren und was passiert bei diesen?
ACHTUNG: Sonderfall
Vorrunde (0. Runde)
Key Addition mit 0. Rundenschlüssel
Letzte Runde (10. Runde)
Ohne Mix Columns
Wie wird die AES Verschlüsselung entschlüsselt?
Schritt 1:
Rundenschlüssel subtrahieren (XOR)
Schritt 2:
Mix Columns mit invertierter Matrix
Schritt 3:
Shift Rows in entgegengesetzte Richtung
Schritt 4:
Substitution mit Umkehrfunktion
Was bedeuten die Begriffe Konfusion und Diffusion?
Substitution sorgt für Konfusion
DES: Schritt 3: Substitution
AES: Schritt 1: Substitute Bytes
Eingeführt von Claude Shannon
Jedes Bit im Chiffrat soll von mehreren Bits des Schlüssel abhängen
Ziel: Verschleiere die Beziehung zwischen Schlüssel und Chiffrat
Um einem Angreifer die Suche nach dem Schlüssel zu erschweren
Permutation sorgt für Diffusion
DES: Schritt 4: Permutation
AES: Schritt 2: Shift Rows und Schritt 3: Mix Columns
Änderung eines Bits im Klartext soll ~50% der Chiffratbits ändern
Änderung eines Bits im Chiffrat soll ~50% der Klartextbits ändern
Ziel: Verschleiere die Beziehung zwischen Klartext und Chiffrat
Um einem Angreifer die Suche nach dem Klartext zu erschweren
Wie steht es um die Sicherheit von AES?
Brute-Force-Angriff (2^128 Schlüssel durchprobieren)
Mehrere theoretische Angriffe
Unbrauchbar langsam
Unrealistische Menge schneller Speicher notwendig
Seitenkanalangriffe
Fehlimplementierungen
⇒AES gilt momentan als sehr sicher
Was ist der Betriebsmodus?
Für jeden Block wird weiterhin ein Schlüssel benötigt
Gleiches Problem wie beim One Time Pad
Langen Schlüssel generieren
Langen Schlüssel speichern
Langen Schlüssel kommunizieren
⇒ Verwendung eines Betriebsmodus
Erlaubt Nutzung von Blockchiffren mit einem einzigen Schlüssel
Verschlüsseln beliebig vieler Blöcke
Schlüssel hat Länge eines Blocks
Verschiedene Betriebsmodi
Electronic Codebook Mode (ECB)
Cipher Block Chaining Mode (CBC)
Electronic Code Book Mode (ECB)
Entschlüsselung jedes Blocks unabhängig von den anderen
Stromchiffre
Beliebig langer Klartext (kein Padding notwendig)
Schlüssel entspricht Seed für Pseudozufallszahlengenerator
Generiere Schlüssel in der Länge des Klartextes
Betrachte Klartext bitweise
Kombiniere Klartextbit mit Schlüsselbit (XOR)
Besser für Echtzeitübertragung geeignet
Last changed2 years ago