Symmetrische Verschluesselungsverfahren

lock
Bevorstehend

XOR, Blockchiffren, ECB/CBC, Kerckhoffs' Prinzip, Krypto-Familie und One-Time-Pad.

Ziele dieses Moduls
  • 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

  1. Codierung: Klartext → binäre Zahlen (z.B. ASCII)
  2. Verschlüsselung: binärer Klartext → binärer Geheimtext
  3. 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 aBit ba XOR b
000
011
101
110

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).

  1. Wandeln Sie den Schlüssel in Bits um
  2. Entschlüsseln Sie die Nachricht mit XOR
  3. 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

  1. Der Text wird in Blöcke aufgeteilt, die genauso lang sind wie der Schlüssel
  2. Jeder Block wird separat mit dem Schlüssel verschlüsselt (z.B. per XOR)
  3. Die verschlüsselten Blöcke ergeben den gesamten Geheimtext

Beispiel

Klartext: GEHEIMESTREFFEN (15 Buchstaben)
Schlüssel: PENTA (5 Buchstaben)

TextPentacode
Block 1GEHEI00111 00101 01000 00101 01001
SchlüsselPENTA10000 00101 01110 10100 00001
GeheimtextW FQH10111 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

  1. Codieren Sie Text und Schlüssel mit Pentacode (A=00000, B=00001, E=00100, T=10011, Z=11001, ...)
  2. Teilen Sie den Text in Blöcke der Schlüssellänge (4 Buchstaben)
  3. XOR-verknüpfen Sie jeden Block mit dem Schlüssel
  4. 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:

NameRolleErklärung
AliceAbsenderinMöchte eine Nachricht verschlüsselt senden
BobEmpfängerSoll die Nachricht entschlüsseln können
EveZuhörerinLauscht die Verbindung ab (passiv)
MalloryAngreiferManipuliert aktiv Nachrichten (bösartig)
TrentVertrauensstelleDritte 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?

  1. Jeder Buchstabe wird in eine Zahl umgewandelt (A=0, B=1, ..., Z=25)
  2. Zum Verschlüsseln wird die entsprechende Zahl des Schlüssels addiert (modulo 26)
  3. Zum Entschlüsseln wird die Schlüsselzahl subtrahiert (modulo 26)

Beispiel Verschlüsselung

KlartextSchlüsselRechnungGeheimtext
E (= 4)M (= 12)4 + 12 = 16Q
R (= 17)K (= 10)17 + 10 = 27 − 26 = 1B

Beispiel Entschlüsselung

GeheimtextSchlüsselRechnungKlartext
T (= 19)F (= 5)19 − 5 = 14O
G (= 6)J (= 9)6 − 9 = −3 + 26 = 23X

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.

  1. Wandeln Sie beide Wörter in Zahlen um (A=0, B=1, ..., Z=25)
  2. Addieren Sie die Werte (modulo 26)
  3. 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