Was ist die Caesar-Verschlüsselung?
Die Caesar-Verschlüsselung ist nach Julius Caesar benannt, der sie Berichten zufolge verwendet hat, um geheime Nachrichten an seine Generäle zu schicken. Sie ist eine Art Substitutionsverschlüsselung: Jeder Buchstabe der Nachricht wird durch einen anderen Buchstaben ersetzt, indem man ihn eine feste Anzahl von Stellen im Alphabet verschiebt.
Die Anzahl der Stellen, um die verschoben wird, nennt man den Schlüssel.
Wie funktioniert es?
Mit einer Verschiebung von 3:
| Klartext | A | B | C | D | E | ... | X | Y | Z |
|---|---|---|---|---|---|---|---|---|---|
| Geheimtext | D | E | F | G | H | ... | A | B | C |
Der Buchstabe A wird zu D, B wird zu E und so weiter. Am Ende des Alphabets wird einfach wieder von vorne angefangen (X→A, Y→B, Z→C).
Beispiel: Verschlüssle „HALLO" mit Verschiebung 3:
- H → K
- A → D
- L → O
- L → O
- O → R
Verschlüsselte Nachricht: KDOOR
Um eine Caesar-Verschlüsselung zu entschlüsseln, verschiebt man einfach in die entgegengesetzte Richtung um denselben Wert. Um „KDOOR" mit Schlüssel 3 zu entschlüsseln: K→H, D→A, O→L, O→L, R→O → „HALLO".
Warum ist sie leicht zu knacken?
Die Caesar-Verschlüsselung hat eine große Schwäche: Es gibt nur 25 mögliche Schlüssel (Verschiebungen von 1 bis 25). Ein Angreifer kann einfach alle 25 Möglichkeiten ausprobieren, bis die Nachricht einen Sinn ergibt. Das nennt man einen Brute-Force-Angriff.
Eine weitere Methode ist die Häufigkeitsanalyse: Im Deutschen ist 'E' der häufigste Buchstabe. Wenn 'H' im verschlüsselten Text am häufigsten vorkommt, ist die Verschiebung wahrscheinlich 3 (H ist 3 nach E).
Die Caesar-Verschlüsselung ist nicht sicher und sollte niemals verwendet werden, um echte Informationen zu schützen. Sie dient nur als Lehrbeispiel dafür, wie grundlegende Verschlüsselung funktioniert.
ROT13
Eine bekannte Variante der Caesar-Verschlüsselung ist ROT13, das eine Verschiebung von 13 verwendet. Da 13 + 13 = 26 (die Länge des Alphabets), ist ROT13 seine eigene Umkehrfunktion: Zweimaliges Anwenden gibt den Originaltext zurück. ROT13 wird manchmal in Internetforen verwendet, um Rätsel-Lösungen zu verstecken.
def caesar_verschluesseln(text, schluessel):
ergebnis = ""
for zeichen in text.upper():
if zeichen.isalpha():
verschoben = (ord(zeichen) - ord('A') + schluessel) % 26
ergebnis += chr(verschoben + ord('A'))
else:
ergebnis += zeichen
return ergebnis
def caesar_entschluesseln(text, schluessel):
return caesar_verschluesseln(text, -schluessel)
print(caesar_verschluesseln("HALLO", 3)) # Ausgabe: KDOOR
print(caesar_entschluesseln("KDOOR", 3)) # Ausgabe: HALLO
Von Caesar zur modernen Verschlüsselung
Die Caesar-Verschlüsselung zeigt uns die wichtigsten Konzepte der Verschlüsselung:
- Ein Klartext (die ursprüngliche Nachricht)
- Ein Algorithmus (die Verschiebungsmethode)
- Ein Schlüssel (die Verschiebungsanzahl)
- Ein Geheimtext (das verschlüsselte Ergebnis)
Moderne Verschlüsselung verwendet dieselben drei Komponenten, aber mit Algorithmen, die so komplex sind, dass selbst die schnellsten Computer der Welt sie nicht in absehbarer Zeit knacken können.
Übungsaufgaben
Verschlüssle das Wort 'INFORMATIK' mit einer Caesar-Verschiebung von 5. Zeige die Substitution für jeden Buchstaben.
Antwort anzeigen
Eine verschlüsselte Nachricht lautet 'NROOR'. Ein Analyst probiert alle 25 Schlüssel aus und findet, dass Verschiebung 3 rückwärts ein bekanntes Wort ergibt. Was ist die ursprüngliche Nachricht?