Zum Hauptinhalt springen

XOR-Verschlüsselung

Da wir nun mit Bits arbeiten und nicht mehr mit Buchstaben, müssen wir nach anderen Möglichkeiten zur Verschlüsselung suchen. Alphabetverschiebungen wie bei Caesar und Substitutionen sind nicht mehr geeignete Mittel, wenn nur die Zahlen 0 und 1 zur Verfügung stehen.

Nebst den bekannten Operationen, Addition, Subtraktion, Multiplikation und Division kann ein Computer auch noch weitere Operationen auf zwei Binärzahlen anwenden. Eine solche Operation ist das XOR (exklusives Oder, exclusive OR):

Das exklusive Oder ist eine logische Operation, die genau dann 11 ergibt, wenn genau eines der beiden Argument 11 ist.

XOR kann auch zur Verschlüsselung verwendet werden. Dabei wird jeweils 1 Bit des Klartextes mit einem Bit des Schlüssels verrechnet. Das Ergebnis ist 1 Bit des Geheimtextes.

Die Wahrheitstabelle1 sieht folgendermassen aus:

Bezug zu ROT13

Analog zu 👉 ROT13 gilt auch hier: Die Verschlüsselung ist identisch mit der Entschlüsselung, da folgendes gilt:

c XOR k=(p XOR k) XOR k=pc \text{ XOR } k = (p \text{ XOR } k) \text{ XOR } k = p

Dies können Sie mit den Tabellen oben leicht überprüfen.

Übungen

XOR verschlüsseln

Verschlüsseln Sie die unten stehende Klartext-Bitfolge mit dem angegebenen Schlüssel.

Klartext
10100 11101 10110
Schlüssel
00101 01010 11100

Geben Sie das Resultat hier ein und überprüfen Sie es.

XOR entschlüsseln

Sie erhalten von einem Kollegen folgende verschlüsselte Nachricht:

01010 00100 01010 11011 00000

Als Schlüssel haben Sie das Wort MACHT vereinbart.

  1. Codieren Sie den Schlüssel mit Pentacode und entschlüsseln Sie die Nachricht.
  2. Decodieren Sie die entschlüsselte Pentacode-Bitfolge zu einer Zeichenfolge.
Pentacode Text-Editor

Sie dürfen für diese Aufgabe den Pentacode Text-Editor verwenden.

Geben Sie das Klartext-Ergebnis hier ein und überprüfen Sie es.

⭐️ Geheime Pixelgrafik austauschen

Wählen Sie eine:n Partner:in und erledigen Sie gemeinsam folgende Aufgabe:

  1. Einigen Sie sich auf ein geheimes Codewort mit einer Länge von genau 5 Buchstaben (keine Umlaute oder Sonderzeichen).
  2. Verwenden Sie den Pentacode Text-Editor um den Schlüssel in eine binäre Bitfolge umzuwandeln.
  3. Verwenden Sie beide (versteckt und unabhängig voneinander) den verlinkten Pentacode Pixel-Editor, um je eine geheime 5x5 Pixelgrafik zu erstellen.
  4. Sie haben nun beide eine Bitfolge für Ihre jeweilige Pixelgrafik. Verschlüsseln Sie diese Bitfolge mit der XOR-Verschlüsselung, mit der Bitfolge des gemeinsamen Codeworts (Schritte 1 und 2).
  5. Senden Sie einander die verschlüsselte Bitfolge via Teams.
  6. Entschlüsseln Sie die erhaltene Bitfolge und verwenden Sie den Pentacode Pixel-Editor um das geheime Bild Ihrer Partnerin / Ihres Partners anzuzeigen.

Footnotes

  1. Wenn wir mit Bits rechnen, können wir die Ergebnisse einer mathematischen Operation (Addition, Substraktion, XOR, etc) als Tabelle darstellen. Eine solche Tabelle nennen wir eine Wahrheitstabelle.