Symmetrische Verschluesselungsverfahren
XOR, Blockchiffren, ECB/CBC, Kerckhoffs' Prinzip, Krypto-Familie und One-Time-Pad.
- Sie können den Unterschied zwischen Codierung und Verschlüsselung erklären und Texte ins Binärsystem umwandeln.Verstehen
- Sie können die XOR-Operation auf Bitfolgen anwenden und damit Texte und Bilder verschlüsseln.Anwenden
- Sie können eine XOR-Blockchiffre durchführen: Text in Blöcke aufteilen, mit Schlüssel XOR-verknüpfen und entschlüsseln.Anwenden
- Sie können die Betriebsmodi ECB und CBC vergleichen und erklären, warum ECB unsicher ist.Verstehen
- Sie können Kerckhoffs' Prinzip erklären: Die Sicherheit hängt nur vom Schlüssel ab, nicht vom Algorithmus.Verstehen
- Sie können das One-Time-Pad-Verfahren anwenden (Addition modulo 26) und erklären, warum es perfekt sicher ist.Analysieren
- Sie können die Krypto-Familie (Alice, Bob, Eve, Mallory, Trent) benennen und ihre Rollen in der Kryptologie erklären.Verstehen
Von der Antike zur modernen Kryptographie: Lernen Sie, wie Computer mit Bits verschlüsseln. Sie lernen XOR, Blockchiffren, ECB/CBC, Kerckhoffs' Prinzip, die Krypto-Familie und das One-Time-Pad kennen.
Von der Antike zur modernen Kryptographie
In der Antike wurden Buchstaben verschoben oder ersetzt. Computer arbeiten aber nicht mit Buchstaben, sondern mit binären Zahlen (Bits: 0 und 1). Deshalb muss der Klartext vor der Verschlüsselung codiert werden.
Der moderne Prozess
- Codierung: Klartext → binäre Zahlen (z.B. ASCII)
- Verschlüsselung: binärer Klartext → binärer Geheimtext
- Decodierung: binärer Geheimtext → Geheimtext
Codierung vs. Verschlüsselung
Diese beiden Begriffe werden oft verwechselt, sind aber grundverschieden:
- Codierung = Umwandlung in eine andere Darstellungsform (Text → Zahlen, Bild → Bits). Ziel: ein bestimmtes Datenformat. Bietet keine Sicherheit.
- Verschlüsselung = Daten mit einem Schlüssel so verändern, dass ohne Schlüssel kein Rückschluss möglich ist. Ziel: Geheimhaltung.
Der grosse Vorteil
Wenn Daten im Binärformat vorliegen, kann alles verschlüsselt werden: Texte (egal welche Sprache), Bilder, Ton, Videos — ohne das Verfahren anzupassen.
XOR — Die fundamentale Operation
Mit Bits können wir keine Buchstaben verschieben. Stattdessen nutzen wir die XOR-Operation (exklusives ODER). Sie ist das Herzstück vieler moderner Verschlüsselungsverfahren.
Wahrheitstabelle XOR
| Bit a | Bit b | a XOR b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Kurzregel: Gleiche Bits → 0, verschiedene Bits → 1.
Warum XOR für Verschlüsselung?
XOR hat eine entscheidende Eigenschaft: Es ist selbstumkehrend.
Klartext XOR Schlüssel = Geheimtext
Geheimtext XOR Schlüssel = Klartext
Dasselbe gilt wie bei ROT13: Verschlüsselung und Entschlüsselung sind identisch.
Beispiel
Klartext-Bitfolge: 10100
Schlüssel-Bitfolge: 00101
Geheimtext (XOR): 10001
Challenge
Aufgabe: XOR-Verschlüsselung
Aufgabe 1: Bitfolge verschlüsseln
Verschlüsseln Sie die Bitfolge mit dem angegebenen Schlüssel:
- Klartext:
10100 11101 10110 - Schlüssel:
00101 01010 11100
Aufgabe 2: Text verschlüsseln
Sie erhalten die verschlüsselte Nachricht: 01010 00100 01010 11011 00000
Als Schlüssel wurde das Wort MACHT vereinbart (mit Pentacode: M=01101, A=00000, C=00010, H=00111, T=10011).
- Wandeln Sie den Schlüssel in Bits um
- Entschlüsseln Sie die Nachricht mit XOR
- Wandeln Sie die Bits wieder in Buchstaben um
Blockchiffre — Text in Blöcken verschlüsseln
In der einfachen XOR-Verschlüsselung muss der Schlüssel gleich lang sein wie der Klartext. Das ist unrealistisch. Die Lösung: Blockchiffren.
Prinzip
- Der Text wird in Blöcke aufgeteilt, die genauso lang sind wie der Schlüssel
- Jeder Block wird separat mit dem Schlüssel verschlüsselt (z.B. per XOR)
- Die verschlüsselten Blöcke ergeben den gesamten Geheimtext
Beispiel
Klartext: GEHEIMESTREFFEN (15 Buchstaben)
Schlüssel: PENTA (5 Buchstaben)
| Text | Pentacode | |
|---|---|---|
| Block 1 | GEHEI | 00111 00101 01000 00101 01001 |
| Schlüssel | PENTA | 10000 00101 01110 10100 00001 |
| Geheimtext | W FQH | 10111 00000 00110 10001 01000 |
Block 2 und 3 werden analog mit demselben Schlüssel verschlüsselt.
Challenge
Aufgabe: XOR-Blockchiffre
Verschlüsseln Sie den folgenden Text mit der XOR-Blockchiffre:
- Text: PAKET ZUGESTELLT
- Schlüssel: BETA
Schritte
- Codieren Sie Text und Schlüssel mit Pentacode (A=00000, B=00001, E=00100, T=10011, Z=11001, ...)
- Teilen Sie den Text in Blöcke der Schlüssellänge (4 Buchstaben)
- XOR-verknüpfen Sie jeden Block mit dem Schlüssel
- Decodieren Sie den Geheimtext zurück in Buchstaben
Tipp
Wenn die Blocklänge nicht aufgeht, wird der letzte Block mit Leerzeichen aufgefüllt (Padding).
Note
Betriebsmodi: ECB vs. CBC
Wenn jeder Block mit demselben Schlüssel verschlüsselt wird, entsteht ein Problem: Identische Klartext-Blöcke ergeben identische Geheimtext-Blöcke. Muster im Text bleiben sichtbar!
ECB — Electronic Code Book
Jeder Block wird unabhängig mit demselben Schlüssel verschlüsselt.
- Einfach und parallelisierbar
- Aber: Gleiche Klartextblöcke → gleiche Geheimtextblöcke → Muster bleiben erkennbar
- Ein bekanntes Beispiel: Ein ECB-verschlüsseltes Bild zeigt noch immer die grobe Form des Originals
CBC — Cipher Block Chaining
Jeder Klartext-Block wird mit dem vorherigen Geheimtext-Block XOR-verknüpft, bevor er verschlüsselt wird.
- Gleiche Klartextblöcke ergeben unterschiedliche Geheimtextblöcke
- Für den ersten Block wird ein Initialisierungsvektor (IV) verwendet — ein zufälliger Startwert
- Ändert sich 1 Bit im IV, ändert sich der gesamte Geheimtext
Fazit
ECB gilt als unsicher und sollte nicht verwendet werden. CBC ist deutlich besser, gilt aber heute ebenfalls als veraltet (moderne Modi: GCM, CTR).
Kerckhoffs' Prinzip
Das wichtigste Prinzip der modernen Kryptologie stammt von Auguste Kerckhoffs (1835–1903):
«Die Sicherheit eines Kryptosystems darf nicht von der Geheimhaltung des Algorithmus abhängen. Die Sicherheit gründet sich nur auf die Geheimhaltung des Schlüssels.»
Claude Shannons Formulierung
«The enemy knows the system!»
Bruce Schneiers Erklärung
«Ich schliesse einen Brief in einen Safe ein, übergebe dir den Safe mitsamt Bauplan und hundert weiteren identischen Safes. Wenn du den Brief trotzdem nicht lesen kannst — dann spricht man von Sicherheit.»
Anders gesagt: Security through obscurity (Sicherheit durch Verschleierung) ist keine echte Sicherheit. Ein gutes Verschlüsselungsverfahren bleibt sicher, selbst wenn der Algorithmus öffentlich bekannt ist.
Note
Die Krypto-Familie
In der Kryptologie werden typische Rollen mit festen Namen bezeichnet:
| Name | Rolle | Erklärung |
|---|---|---|
| Alice | Absenderin | Möchte eine Nachricht verschlüsselt senden |
| Bob | Empfänger | Soll die Nachricht entschlüsseln können |
| Eve | Zuhörerin | Lauscht die Verbindung ab (passiv) |
| Mallory | Angreifer | Manipuliert aktiv Nachrichten (bösartig) |
| Trent | Vertrauensstelle | Dritte Partei, der alle vertrauen (trusted entity) |
Symmetrische Verschlüsselung
Alle bisher behandelten Verfahren sind symmetrisch: Zum Ver- und Entschlüsseln wird dasselbe Schlüssel verwendet. Alice und Bob müssen also denselben geheimen Schlüssel besitzen — und sicher austauschen.
One-Time-Pad — Perfekt sicher
Das One-Time-Pad (OTP) wurde 1882 erfunden und 1917 von Gilbert Vernam patentiert. Es ist das einzige beweisbar sichere Verschlüsselungsverfahren.
Wie funktioniert es?
- Jeder Buchstabe wird in eine Zahl umgewandelt (A=0, B=1, ..., Z=25)
- Zum Verschlüsseln wird die entsprechende Zahl des Schlüssels addiert (modulo 26)
- Zum Entschlüsseln wird die Schlüsselzahl subtrahiert (modulo 26)
Beispiel Verschlüsselung
| Klartext | Schlüssel | Rechnung | Geheimtext |
|---|---|---|---|
| E (= 4) | M (= 12) | 4 + 12 = 16 | Q |
| R (= 17) | K (= 10) | 17 + 10 = 27 − 26 = 1 | B |
Beispiel Entschlüsselung
| Geheimtext | Schlüssel | Rechnung | Klartext |
|---|---|---|---|
| T (= 19) | F (= 5) | 19 − 5 = 14 | O |
| G (= 6) | J (= 9) | 6 − 9 = −3 + 26 = 23 | X |
Warum perfekt sicher?
- Der Schlüssel ist genauso lang wie der Klartext
- Der Schlüssel ist rein zufällig
- Der Schlüssel wird nur einmal verwendet
- Ohne den Schlüssel ist jeder mögliche Klartext gleich wahrscheinlich
Nachteile
- Schlüssel muss gleich lang sein wie die Nachricht
- Schlüsselaustausch ist extrem aufwendig
- Daher in der Praxis nur selten einsetzbar (z.B. rotes Telefon zwischen USA und UdSSR im Kalten Krieg)
Challenge
Aufgabe: One-Time-Pad
Aufgabe 1
Verschlüsseln Sie das Wort HALLO mit dem Schlüssel QWERT nach dem One-Time-Pad-Verfahren.
- Wandeln Sie beide Wörter in Zahlen um (A=0, B=1, ..., Z=25)
- Addieren Sie die Werte (modulo 26)
- Wandeln Sie die Ergebnisse zurück in Buchstaben
Aufgabe 2
Sie erhalten folgenden Geheimtext:
NJXOG PMNQD UGOQP GAEBI PLFCP
Versuchen Sie, ihn ohne Schlüssel durch Häufigkeitsanalyse zu entschlüsseln. Was stellen Sie fest?
Aufgabe 3
Nun entschlüsseln Sie denselben Text mit dem Schlüssel:
JBKHG LSIIX QPODJ PSZWB LDNKW
Was ändert sich im Vergleich zu Aufgabe 2?
Reflection
Reflexion
- Warum ist die XOR-Operation so gut für die Verschlüsselung geeignet? Welche Eigenschaft macht sie besonders?
- Was ist der Unterschied zwischen ECB und CBC? Warum sollte man ECB nicht verwenden?
- Erklären Sie Kerckhoffs' Prinzip mit eigenen Worten. Warum ist «Security through obscurity» gefährlich?
- Das One-Time-Pad ist beweisbar sicher — warum wird es trotzdem nicht für alles eingesetzt?
- In welchen alltäglichen Situationen begegnet Ihnen symmetrische Verschlüsselung?
Quellen & Attribution
- Fachschaft Informatik — „Informatik mygymer — Symmetrische Verschluesselungsverfahren“ (), CC BY-NC-SA 4.0 (https://creativecommons.org/licenses/by-nc-sa/4.0/) · Lizenzdetails NCSA