Symmetrische Verschlüsselung
🎯 Um was geht es?
In diesem Kapitel lernst du die symmetrische Verschlüsselung kennen.
Unter dem Begriff Symmetrische Verschlüsselung fasst man alle Kryptosysteme zusammen, bei welchen zur Ver- und Entschlüsselung derselbe Schlüssel verwendet wird.
Der Sender verschlüsselt also die Nachricht mit dem gemeinsamen Schlüssel. Der Geheimtext wird anschliessend übermittelt und der Empfänger dekodiert diesen mit demselben Schlüssel. Das bedeutet auch, dass dieser Schlüssel ebenfalls übermittelt, aber unbedingt geheim bleiben muss.
Darin liegt auch ein Hauptproblem: Sender und Empfänger müssen sich auf einen gemeinsamen Schlüssel einigen, ohne dass ein Dritter auf den Schlüssel zugreifen kann.
- Einstieg
Die Brailleschrift [ˈbʁaɪ̯(l)-][1] ist eine Blindenschrift und wird international von Blinden und stark Sehbehinderten benutzt. Sie wurde 1825 von dem Franzosen Louis Braille entwickelt. Die Schrift besteht aus in einem aus sechs Punkten bestehenden System befindlichen Punktmustern, die meist von hinten in Papier eingedrückt werden und vorne mit den Fingerspitzen als Erhöhungen zu ertasten sind.
Auftrag
Ihr bekommt ein Blatt Papier mit einem Text geschrieben in Brailleschrift. Versucht den Text zu decodieren. (2-3 Zeilen reichen...)
Ist die Brailleschrift eine Codierung oder eine Verschlüsselung?
Der Unterschied Codierung und Verschlüsselung
Codierung: Umwandlung in eine Darstellungsform (z.B. Text -> Zahl, Bild -> Text, Zahlen -> binäre Zahlen, ...). Eine Codierung hat das Ziel, eine Information in ein bestimmtes Datenformat umzuwandeln, sie bietet keine Sicherheit.
Verschlüsselung: Ziel zu verhindern, dass Aussenstehende an eine bestimmte Information gelangen, indem Daten mithilfe eines Schlüssels so verändert werden, dass ohne Kenntnis des Schlüssels nicht mehr auf die ursprüngliche Form geschlossen werden kann.
2. Verschlüsselung in der Moderne
Codierung des Geheimtextes in Folge von binären Zahlen
Verschlüsselung dieser Zahlenfolge
Decodierung des binären Geheimtextes
3. Symmetrische Verschlüsselung
Kryptofamilie
Bevor wir die symmetrische Verschlüsselung uns anschuaen, müssen wir uns über die Benamsung klar sein.
In der Kryptographie spricht man häufig von einer Kommunikation zwischen Alice und Bob. Eve wird dann eingesetzt, wenn Verbindungen abgehört werden. Sie ist also passiv. Mallory ist ein bösartiger, aktiver Angreifer.
Symmetrische Verschlüsselung
Bei der symmetrischen Verschlüsselung wird zum Entschlüsseln und Verschlüsseln derselbe Schlüssel verwendet.
Alice verschlüsselt ihre Nachricht (den Klartext) mit einem Schlüssel, welcher Bob auch kennt. Wenn Bob die Nachricht entschlüsseln möchte, muss er denselben Schlüssel verwenden wie Alice.
Das ist aber ein Problem - sog. Schlüsselaustauschproblem.
Bei einer symmetrischen Verschlüsselung stehen die Parteien vor dem Problem, dass sie einen sicheren Kanal für den Schlüsselaustausch benötigen. Gängige Kanäle (Briefpost, Telefon, E-Mail) sind eigentlich nicht sicher. Sie könnten abgehört werden. Im Prinzip ist nur ein persönliches Treffen oder der Austausch durch einen Boten sicher. Aber auch hier besteht die Gefahr des Abhörens oder der unsicheren Schlüsselaufbewahrung. Nichtsdestotrotz, werden heutzutage vielerorts immer noch symmetrische Verschlüsselungen eingesetzt.
4. Prinzip von Kerckhoff's
Die Sicherheit eines Systems darf nicht von der Geheimhaltung der Algorithmen, d.h. des Verfahrens abhängen, sondern nur von der Geheimhaltung des Schlüssels.
5. XOR-Verschlüsselung
Wir arbeiten nun mit Bits und nicht mehr mit Buchstaben. D.h. Caeser und Substitutionen sind nicht mehr geeignete Mittel, um eine Nachricht zu verschlüsseln, wenn nur die Zahlen 0 und 1 zur Verfügung stehen.
Wenn Du Dich an die logischen Operatoreen erinnerst, welche mit binären Zahlen ausgeführt werden, dann könnte man sich überleben, ob man den Klartext mit dem Schlüssel "verrechnen" kann, um dann eine sichere Verschlüssleung hinzubekommen.
Unser Ziel: die Verschlüsselung sollte zufällig ausschauen.
Das sollte an einem Beispiel dargestellt werden. Es sollte ein Bild von Charles Babbage verschlüsselt werden.
Originalbild
Bild mit AND verschlüsselt
Das originale Bild scheint durch.
Bild mit OR verschlüsselt
Das originale Bild scheint durch.
Bild mit XOR verschlüsselt
Jedes Pixel ergibt ebenso wahrschinlichcheinlich eine Null oder 1. Erhält keine Informationen über das ursprüugliche Bild.
Auftrag
Welche Verschlüsselung ist deiner Meinung nach die sicherste - und wieso?
XOR-Verschlüsselung
XOR wird so zur Verschlüsselung verwendet, dass dabei jeweils 1 Bit des Klartextes mit einem Bit des Schlüssels verrechnet wird. Das Ergebnis ist 1 Bit des Geheimtextes.
Die Verschlüsselung ist identisch mit der Entschlüsselung, da Folgendes gilt:
c XOR k = (p XOR k) XOR k = p
Auftrag
Verschlüssle die Bitfolge mit dem angegebenen Schlüssel:
10100 11101 10110 (Bitfolge des Klartexts)
00101 01010 11100 (Bitfolge des Schlüssels)
Du erhälst von einer Kollegin folgende verschlüsselte Nachricht:
00110 01000 01101 01100 11010 01000
Als Schlüssel habt ihr das Wort GEHEIM abgemacht.
a. Codiere den Schlüssel mit dem Pentacode und entschlüssle die Nachricht.
b. Wandle die entschlüsselte Bitfolge mit HIlfe des Pentacode wieder in Text um.
Verschlüssle eine eigene Nachricht mit einem selbstgewählten Schlüssel. Gib die verschlüsselte Nachricht samt Schlüssel deiner:m Banknachbar:in!
Lösung
Aufgabe 1
Geheimtext: 10001 10111 01010
Aufgabe 2
a. Schlüssel GEHEIM: 00111 00101 01000 00101 01001 01101
b. entschlüsselte Nachricht: 00001 01101 00101 01001 10011 00101 = AMEISE
6. One-Time-pad
Ein One-Time-Pad (OTP) ist eine Einmalverschlüsselung, ein symmetrisches Verschlüsselungsverfahren zur geheimen Kommunikation. Wichtig dabei ist, dass ein Schlüssel verwendet wird, der mindestens so lang wie die Nachricht ist.
Das One-Time-Pad ist ein Verschlüsselungsverfahren, das beweisbar perfekte Sicherheit bietet.
Ablauf
Erster Teil - Umwandeln in Zahlen
Die Buchstaben des Klartextes und des Schlüssels müssen in Zahlen umgewandelt werden.
Zum Verschlüsseln addierst du die zum jeweiligen Klartextbuchstaben gehörende Zahl zur Zahl des Schlüsselbuchstabens. Falls das Resultat zu gross wird, ziehst du 26 ab (genannt Addition modulo 26). Nun suchst du den Buchstaben, der zur ausgerechneten Zahl passt. Man kann das Ganze auch recht übersichtlich mit einer Tabelle darstellen.
Z.B.
Text = A
Schlüssel = F
verschlüsselter Buchstaben = G
diesen findet man, indem man den Kreuzungspunkt der beiden Buchstaben A und F findet
Oder aber in dem man 1 + 6 = 7 = G rechnet.
Die Entschlüsselung läuft genau umgekehrt. Anstatt den Schlüsselbuchstaben zu addieren, subtrahierst du ihn. Falls das Resultat kleiner als 0 wird, addierst du 26:
z.B.
verschlüsselter Buchstaben = G
Schlüssel = F
G - F = 7-6 = 1 = A
Aufgabe - One Time Pad
Der folgende Text
K = ANGRIFFIMMORGENGRAUEN
sollte verschlüsselt werden.
Dabei sollte der Schlüssel
S = WZSLXWMFQUDMPJLYQOXXB
verwendet werden. Wie sieht der Geheimtext aus?
Lösung
K = ANGRIFFIMMORGENGRAUEN
S = WZSLXWMFQUDMPJLYQOXXB
G = XNZDGCSODHSEWOZFIPSCP
Aufgabe - One Time Pad
Der folgende Text
G = ESUFKHEYLYM
haben wir erhalten von Caesar.
Dabei sollte der Schlüssel
S = CNLSAMOPRTU
verwendet werden. Was hat uns Caesar mitteilen wollen?
Lösung
G = ESUFKHEYLYM
S = CNLSAMOPRTU
Wir müssen die Positionen der einzelnen Buchstaben des Geheimtextes - die Positionen der einzelnen Buchstaben des Schlüssels voneinander subtrahieren.
d.h. E - C = 5-3 = 2 -> B
S - N = 19-14=5 -> E
U - L = 21-12=9 -> I
...
Antwort: BEIMJUPITER
7. Permutationschiffre
Bei der Permutationschiffre wird der Klartext zuerst in mehrere Blöcke gleicher Zeichenlänge unterteilt. Danach werden die Zeichen eines jeden Blocks umsortiert, d.h. in eine andere Reihenfolge gebacht. Jeder Block wird dabei genau gleich umsortiert. Diese Art des Umsortierens wird als Permutation bezeichnet.
In der nachfolgenden Abbildung ist gezeigt, wie das Umsortieren innerhalb eines Blocks funktioniert.
Im Beispiel ist die Blocklänge 5 und der Verschlüsselungsschlüssel 1 4 3 2 0. Zum Verschlüsseln wird:
der Klartext-Block wird notiert und die Zeichen gemäss ihrer Position von 0 an durchnummeriert
die einzelnen Klartext-Positionen werden an die Schlüsselpositionen verschoben.
Das Entschlüsseln funktioniert genau gleich, dabei wird einfach der Umkehrschlüssel auf den Geheimtext angewendet. Der Umkehrschlüssel wird wie folgt konstruiert:
Schreibe den Klartext unter den Geheimtext.
Notiere unter jedem Geheimtext-Zeichen an welche Position dieses verschoben werden muss, um den Geheimtext zu erhalten.
Auftrag
Was sind die Umkehrschlüssel?
Schlüssel = 543210, Umkehrschlüssel = ?
Wie sieht das verschlüsselte Wort aus, wenn der Schlüssel aus Aufgabe 1 genommen wird und das zu verschlüsselnde Wort ist = FISCHE ?
Schlüssel = 201354, Umkehrschlüssel = ? Wie sieht das zu verschlüsselnde Wort = FISCHE nun aus?
Verschlüssle eine eigene Nachricht mit einem geeigneten Schlüssel und gib die verschlüsselte Nachricht samt Schlüssel deiner:m Banknachbar:in!
💡 Auf den ersten Blick werden hier zwei verschiedene Schlüssel verwendet, der Verschüsselungs- und der Umkehrschlüssel. Da der Umkehrschlüssel aus dem Verschüsselungsschlüssel heraus konstruiert werden kann, wird dieses Verfahren trotzdem zu den symmetrischen Verfahren gezählt.