Symmetrische Verschluesselungsverfahren
XOR, Blockchiffren, Krypto-Familie
- 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 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, die Krypto-Familie
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
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.
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