Heute beschäftigen wir uns mit der Verschlüsselung mittels Block- und Stromchiffren.
| Skript-Anfang | 04DESundAES – Seite 1 |
|---|---|
| Skript-Ende | 05BetriebsartenVonChiffrieralgorithmen – Seite 28 |
Klausur
- Es sind keine Hilfsmittel erlaubt
Allgemeine Gefahren
- Häufigkeitsverteilung bei monoalphabetischen Verschlüsselungen
- Wiederverwendung des Seeds bei Stromchiffren
Ablauf der Verschlüsselungen
- Blockchiffre → Initialisierungsvektor IV und Key K und Klartext KT → Chiffrat CT
- Stromchiffre → Key K (aka Seed) XOR Klartext KT → Chiffrat CT
Blockchiffre
- Typische Implementation als AES
- Ziel ist die Maximale Entropie (Maß für „Zufälligkeit“)
Triple DES
- Verschlüsseln, Entschlüsseln und wieder Verschlüsseln
- Link
Padding
- Auffüllen mit Nullen oder Einsen um die Blöcke zu verschlüsseln
- Das Padding muss reversibel sein
- Wichtig ist zu definieren, wo der Bereich beginnt
- Beim Zero-Padding wird alles mit Nullen aufgefüllt
Anforderungen an den Betriebsmodus
- Monoalphabetisch
- Random Access
- Echtzeitanwendung
- Schlüssel sollen im Voraus berechnet werden
- Ein Bit-Fehler soll den ganzen Block nicht beschädigen
Stromchiffren (stream ciphers)
- Verschlüsseln den Klartext meist bit- oder byteweise
- Der Schlüsselstrom ist (außer beim One-time Pad) pseudo-zufällig und wird durch einen relativ kurzen Schlüssel eindeutig bestimmt
- Die Sicherheit hängt von der Qualität des Pseudozufallszahlen-Generators ab
- Der Schlüsselstrom kann entweder vom Klartext und Chiffrat abhängig oder unabhängig sein
- Der einem bestimmten Klartextzeichen zugeordnete Geheimtext variiert in Abhängigkeit von der Position des Klartextzeichens im Gesamtdatenstrom
- Erwirkt also eine polyalphabetische Chiffre
- Eine bekannte Stromchiffre ist RC4
- Der Schlüsselstrom kann im Voraus berechnet werden, dadurch steigert sich die Effizienz (XOR dann bei Bedarf anwenden)
Verschlüsselung
- Klartext wird mit einem Schlüsselstrom aka keystream, eine als Schlüssel verwendete Bitfolge, verknüpft
- Die Verknüpfung erfolgt meist über XOR
Entschlüsselung
- Das Chiffrat wird mit demselben Schlüsselstrom nochmal verknüpft
- Dieser Schlüsselstrom wurde auch zum Verschlüsseln genutzt
Blockchiffren (block ciphers)
- Werden in der Praxis häufiger genutzt als Stromchiffren
- Verschlüsselung von Bitblöcken erfolgt in fester Länge
- Identischen Klartextblöcken wird im Normalfall das gleiche Chiffrat zugeordnet
- Typische Blocklängen sind 64 Bit
- Bekannte Vertreter sind DES, Triple DES (3DES), IDEA, Blowfish, CAST5 (CAST-128), RC2, RC5 und AES
- Schlüssellängen können fest oder variabel sein
- Typische fest implementierte Werte sind 56 (DES), 112/168 (3DES) und 128 (IDEA) Bit
- AES fordert mindestens 128, 192 oder 256 Bit
- Blockchiffren arbeiten iterativ
- Anzahl der Runden (rounds) sind für die Sicherheit sehr wichtig (variabel und fest möglich)
Cipher-block chaining (CBC)
- Ermöglicht beim Entschlüsseln den Random Access (man braucht nur den Vorgänger)
Wireless LAN (WLAN)
- Verschlüsselung findet im WLAN auf Layer 2 statt
Link to Link-Verschlüsselung
- Findet auf Layer 2 statt
- Die Pakete zwischen Access Point und Client werden verschlüsselt
- Verschlüsselung findet jeweils am Ende einer Kommunikationsleitung statt
- WEP, WPA und WPA2
- Verschlüsselung passiert automatisch (keine menschlichen Fehler)

Host to Host-Verschlüsselung
- Findet auf Layer 3 statt
- IPSec
- Verschlüsselte Verbindung zwischen zwei Systemen, die sich den selben Schlüssel teilen
- Jegliche Kommunikation zwischen den Systemen ist verschlüsselt

End to End-Verschlüsselung
- Findet auf Layer 4 statt
- Nur authorisierte Personen sehen den Plaintext
- Kommunikation werden beim Absender verschlüsselt und beim Empfänger entschlüsselt
- TLS/SSL

Bruteforce
- Man probiert alle möglichen Schlüssel durch
- Er läuft solange, bis die Entropie minimal wird
Hausaufgabe
Wieso kann ein anderer Schlüssel bei der Dechiffierung von einer Chiffre bei Bruteforce-Angriffen heraus kommen?