Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Symmetrische Verschlüsselung

Nach dieser Lektion: Ich kann erklären, wie ein gemeinsamer Schlüssel Daten verschlüsselt und wieder entschlüsselt.

Lektion, 60 Min.6 BefehleLab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Wie funktioniert symmetrische Verschlüsselung?

Bei der symmetrischen Verschlüsselung benutzen beide Seiten denselben geheimen Schlüssel: zum Verschlüsseln und zum Entschlüsseln. Wer den Schlüssel nicht hat, sieht nur Zeichenmüll.

Das ist die schnellste Art, Daten zu schützen. Sie steckt in Ihrem WLAN, in verschlüsselten Festplatten und in fast jeder sicheren Verbindung.

Am Ende dieser Lektion

Notiz

Ich kann erklären, wie ein gemeinsamer Schlüssel Daten verschlüsselt und wieder entschlüsselt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Klartextdie Nachricht vor dem Verschlüsseln, so wie Menschen sie lesen
Geheimtextdie verschlüsselte Nachricht, die ohne Schlüssel unlesbar ist
Schlüsselein geheimer Wert, der bestimmt, wie verschlüsselt wird
Brute Forcealle möglichen Schlüssel der Reihe nach ausprobieren
Blockchiffreein Verfahren, das Daten in Blöcken fester Größe verschlüsseltAES
Schlüssellängewie viele Bit ein Schlüssel hat

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Schlüssel für beide Richtungen

Aus dem Klartext macht ein Verfahren mit dem Schlüssel den Geheimtext. Mit demselben Schlüssel macht das Verfahren aus dem Geheimtext wieder den Klartext.

Das Verfahren selbst darf jeder kennen. Geheim bleibt nur der Schlüssel. Das ist die Regel von Kerckhoffs.

Die älteste Idee: jeden Buchstaben verschieben

Bei der Verschiebechiffre rückt jeder Buchstabe im Alphabet um dieselbe Zahl weiter. Der Schlüssel ist diese Zahl. Mit Schlüssel 3 wird aus A ein D und aus HALLO ein KDOOR.

Das Werkzeug tr tauscht Zeichen aus. Probieren Sie es.

HALLO um drei Stellen verschieben

Befehl
echo "HALLO" | tr 'A-Z' 'D-ZA-C'

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Geheimtext wieder zurückverschieben

Befehl
echo "KDOOR" | tr 'D-ZA-C' 'A-Z'

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was das Terminal ausgibt

Der erste Befehl gibt KDOOR aus, der zweite HALLO. Dieselbe Zahl 3 verschlüsselt und entschlüsselt: einmal vorwärts, einmal rückwärts.

Diese Chiffre ist mit Absicht schwach. Sie taugt für nichts, was geheim bleiben soll.

Warum 25 Schlüssel zu wenig sind

Probierter SchlüsselErgebnis für KDOORSinnvolles Wort?
0KDOORNein
1JCNNQNein
2IBMMPNein
3HALLOJa

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Kodieren ist nicht verschlüsseln

Base64 schreibt Bytes als lesbare Zeichen auf. Es gibt dabei keinen Schlüssel. Jeder Mensch kann es zurückwandeln.

Verwechseln Sie das nie mit Verschlüsselung. Ein Passwort in Base64 ist ein offenes Passwort.

HALLO in Base64 kodieren

Befehl
printf 'Hallo' | base64

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ohne Schlüssel zurückwandeln

Befehl
echo SGFsbG8= | base64 -d

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Zwei Zeilen, kein Geheimnis

Der erste Befehl gibt SGFsbG8= aus, der zweite Hallo. Es war kein Schlüssel nötig.

Wer Base64 erkennt, liest den Inhalt sofort.

Moderne Verfahren: AES und lange Schlüssel

Heute nutzt man Blockchiffren wie AES. Sie verschlüsseln Daten in Blöcken von 128 Bit. Der Schlüssel hat 128 oder 256 Bit.

Jedes Bit verdoppelt die Zahl der möglichen Schlüssel. Darum macht Länge den Unterschied: Brute Force wird unmöglich.

Wie viele Schlüssel hat ein 56-Bit-Schlüssel?

Befehl
python3 -c "print(2 ** 56)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Und wie viele ein 128-Bit-Schlüssel?

Befehl
python3 -c "print(2 ** 128)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Beispiel: Schlüssel ausprobieren

SchlüssellängeMögliche SchlüsselBei einer Milliarde Versuchen je Sekunde
56 Bit72057594037927936Etwa 2,3 Jahre
128 Bit340282366920938463463374607431768211456Weit länger als das Alter des Universums

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Bauen Sie nie ein eigenes Verfahren

Warnung

Die Verfahren in dieser Lektion sind Spielzeug und mit Absicht gebrochen. Echte Verfahren prüfen Fachleute über Jahre. Nutzen Sie in jedem Programm eine geprüfte Bibliothek und nie Ihren eigenen Code.

Der Modus und der Zufallswert gehören dazu

Eine Blockchiffre verschlüsselt nur einen Block. Der Betriebsmodus legt fest, wie mehrere Blöcke nacheinander verschlüsselt werden. Moderne Modi brauchen zusätzlich einen Zufallswert, der sich nie wiederholen darf.

Wer denselben Zufallswert mit demselben Schlüssel zweimal nutzt, gibt Angreifenden Hinweise auf den Klartext. Das ist ein häufiger Programmierfehler.

Das Schlüsselproblem wächst schnell

PersonenSchlüssel für alle PaareWie gerechnet
212 mal 1 geteilt durch 2
5105 mal 4 geteilt durch 2
104510 mal 9 geteilt durch 2
1004950100 mal 99 geteilt durch 2

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, ein Verfahren sei sicher, wenn niemand es kennt. Das stimmt nicht. Sicher ist es, wenn Angreifende das Verfahren kennen und der Schlüssel trotzdem geheim bleibt.

Weiterführend: ein einfaches XOR

Mit python3 -c "print(bytes(b ^ 42 for b in b'Hallo').hex())" verschlüsseln Sie jedes Byte mit XOR und dem Schlüssel 42. Es gibt 624b464645 aus.

Wenden Sie dasselbe noch einmal auf diese Bytes an. Sagen Sie in einem Satz, warum ein Ein-Byte-Schlüssel nicht sicherer ist als die Verschiebechiffre.

Über dieses Lab und seinen Quellcode: Lab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.