Symmetrische Verschluesselungsverfahren

lock
Bevorstehend

XOR, Blockchiffren, Krypto-Familie

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

  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

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.

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