Historische Cipher (Caesar Cipher bis Rot13)

From Embedded Lab Vienna for IoT & Security
Revision as of 22:02, 3 January 2023 by TKoenig (talk | contribs)
Jump to navigation Jump to search

historische Chipher und deren Funktionsweise

Der grundlegende Überbegriff zu all den, in den kommenden Abschnitten beschriebenen, Chiffren sind die Substitutionschiffren. Substitutions-Chiffren verschlüsseln einen Klartext, indem sie jeden Buchstaben oder jedes Symbol im Klartext, gemäß den Anweisungen des Schlüssels und desjenigen Chiffre durch ein anderes Symbol ersetzen. Der Empfänger der Nachricht kann dann wieder mit Hilfe des Chiffre und des passenden Schlüssels diese Substitutionen wieder rückgängig machen und erhält somit den originalen Klartext. Der Schlüssel zum Ver- und Entschlüsseln muss logischerweise dem Sender und auch dem Empfänger bekannt sein. “Rotationcipher“ und “Shiftcipher“ sind im Umkehrschluss auch Arten von Substitutions-Chiffren. Ganz im Gegensatz dazu gibt es noch eine zweite Kategorie an Chiffren, die Transpositionschiffren, bei welchen die Einheiten des Klartextes in einer anderen und meist recht komplexen Reihenfolge neu angeordnet werden, die einzelnen Buchstaben bzw. Symbole selbst aber unverändert bleiben.

Caesar-Chiffre um 5 Stellen

Caesar Cipher

Einer der ersten Substitutionschiffren (oder auch Shift-Chiffre) war der Caesar-Chiffre (Caesar Cipher). Hierbei werden alle Buchstaben der zu übertragenden Nachricht einzelnd um eine gewisse Anzahl an Stellen im Alphabet verschoben. Um das in einem simples Beispiel darzustellen, wurde der Abbildung der Text “Veni Vidi Vici“ um 5 Stellen im Alphabet verschoben. Der Empfänger der Nachricht verschiebt dann die Buchstaben um den Schlüssel bzw. die gleiche Anzahl an Stellen zurück, um die ursprüngliche Nachricht zu erhalten. ¨ Bei dem Caesar-Chiffre handelt es sich um einen monoalphabetischen Substitutionsalgorithmus, da nur ein einziges Schlüsselalphabet verwendet wird.


Chiffrier-Tabelle zu Rot13

Rot-N/Rot13

Erweiterte Varianten des Caesar-Chiffre findet sich in den ROT-N-Chiffre. Rot-N ist in diesem Zusammenhang nur ein Synonym für den Caesarchiffre. Es wird genauso ein jedes Zeichen um eine gewisse Anzahl im Alphabet geshifted. Rot steht hierbei für “rotate“ und N für die Anzahl an Stellen um die verschoben werden soll - geschlossen übersetzt also “Rotate by N“. Ein besonderer Anwendungsfall von Rot-N ist die Rot13 Verschlüsselung. Hierbei wird, wie zuvor beschrieben, ein jedes Zeichen um genau 13 Stellen im Alphabet nach hinten verschoben. Daraus ergibt sich, dass, wie in der Tabelle 2.1 (Chiffrier-Tabelle zu Rot13) aufgezeigt, unter anderem ein ‘A‘ zu einem ‘N‘, ein ‘B‘ zu einem ‘O‘ und ein ‘Z‘ zu einem ‘M‘ wird.

Die Besonderheit hinter dem Rot13 Algorithmus ist, dass das Verschlüsseln und Entschlüsseln mit dem selben Schlüssel absolut ident funktionieren. Da unser Alphabet genau aus 26 Buchstaben besteht, wird aus einem jeden Buchstaben nach 2-facher Anwendung der Verschiebung um 13 Stellen im Alphabet, wieder der Ausgangs-Buchstabe. Beispielhaft wird aus einem ‘A‘ nach einmaliger Anwendung von Rot13 ein ‘N‘, aus welchem wiederum nach erneutem Einsatz wieder das ‘A‘ wird. Darüber hinaus gibt es auch noch weitere Varianten, welche die selben Eigenschaften besitzen. Unter anderem Rot18, hierbei werden zu den 26 Buchstaben auch noch die Ziffern 0-9 hinzugezogen bzw. die Variante Rot47, welche auf den ASCII Zeichen 33-126 basiert.

Geschichte

Die Geschichte hinter dem Caesar-Chiffre (Caesar Cipher) begann, wie schon der Name verrät, mit Julius Caesar. Bevor Nachrichten verschlüsselt wurden, war es selbstverständlich notwendig, dass Nachrichten geheim und ohne, dass ein potentieller Feind an die Nachricht gelangen konnte, übermittelt werden. Hiervon machte Caesar einen Schritt weg. Während der Caesar-Chiffre die erste aufgezeichnete Verwendung dieses Schemas war, ist bekannt, dass andere Substitutions-Chiffren schon früher verwendet wurden. Zusammenfassend ist der Caesar-Cipher aber ein klassisches und, wie schon erwähnt, eines der ersten dokumentierten Beispiele antiker Kryptographie. Caesar selbst soll laut diversen historischen Aufzeichnungen seine Texte immer um 3 Stellen im Alphabet verschoben haben.

Rund um 100 v. Chr. entwickelt, wurde der Caesar-Cipher von Julius Caesar verwendet, um geheime Nachrichten an seine Generäle im Feld zu senden. Für den Fall, dass eine seiner Nachrichten abgefangen wurde, konnte sein Gegner sie nicht lesen. Dies verschaffte ihm logischerweise einen großen strategischen Vorteil. Seine militärischen Taktiken waren dadurch unübertroffen und er stieg schließlich zum Diktator seines Reiches auf. Aber auch in seinen privaten Korrespondenzen verwendete er Chiffren. Seither sind derartige Chiffren, Weiterentwicklungen dieser Chiffren und verschlüsselte Botschaften unverzichtbare militärische Werkzeuge.

Erweiterungen des Caesar Cipher

Vigenère Cipher

Der Vigenère Cipher verwendet eine einfache Form der polyalphabetischen Substitution. Eine polyalphabetische Chiffre ist eine Chiffre, welche auf der einfachen Substitution basiert und mehrere Substitutionsalphabete verwendet. Die Verschlüsselung des Originaltextes erfolgt mit dem Vigenère-Quadrat oder der Vigenère -Tabelle. Die Tabelle besteht aus den Alphabeten, die 26 Mal in verschiedenen Reihen ausgeschrieben sind, wobei jedes Alphabet im Vergleich zum vorherigen Alphabet zyklisch nach links verschoben ist. Dies entspricht wiederum den 26 möglichen Caesar-Chiffren. An verschiedenen Stellen im Verschlüsselungsprozess verwendet der Chiffre dann immer ein anderes Alphabet aus einer der Zeilen. Das an jedem Punkt verwendete Alphabet hängt von einem sich wiederholenden Schlüsselwort ab, welches vorab zwischen Sender und Empfänger ausgetauscht werden muss. Mathematisch ausgedruckt bedeutet das, wenn man einem jeden Buchstaben seine Position als Ziffer zuweist (0-25), dass zu demjenigen Ausgangsbuchstaben, der dazugehörige Buchstabe aus dem Schlüssel addiert wird. Das Ergebnis muss wieder an das Alphabet (0-25) angepasst werden.


Vigenère Quadrat
 C = (P + K) mod 26
 C = Ciphertext / P = Plaintext / K = Key

Playfair Cipher

aktuelle Anwendungsfälle in Kryptosystemen

Kryptoanalysen/Angriffe