IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Codierungen - Einführung in die Kryptographie anhand der Cäsar-Methode



Einführung in die Kryptographie anhand der Cäsar-Methode

Einführung und Erklärung am Beispiel der Cäsar-Chiffrierung (ROT13).


Autor: Tobias Surmann (incsoft)
Datum: 08-10-2003, 22:06:43
Referenzen: Abenteuer Kryptologie (Addison-Wesley)
Schwierigkeit: Anfänger
Ansichten: 8017x
Rating: 9 (3x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

Kryptographie ist eine Wissenschaft, die sich mit Verschlüsselung und Datenschutz beschäftigt. Ein häufig mit Kryptographie in Verbindung gebrachter Begriff ist die Kryptologie. Kryptographie ist ein Teil der Kryptologie; neben der Kryptographie zur Verschlüsselung von Daten gibt es auch noch die Kryptanalyse, mit deren Hilfe man versucht - ohne dabei den Schlüssel zu kennen - geheime Texte zu entschlüsseln und somit Verschlüsselungsverfahren zu knacken. Dies soll aber nicht Thema dieses Artikels sein.





Begriffsdefinitionen

Hier einige Definitionen zu Fachbegriffen, die in der Kryptographie immer wieder auftauchen.

Klartext oder plaintext

Der zu verschlüsselnde Text, also das Original.

Geheimtext oder ciphertext

Der verschlüsselte Text.

Kompromittierung oder Codebreaking

Vorgang des Knackens eines Verschlüsselungsalgorithmus.

Klartextangriff oder plaintext attack

Analyse des Geheimtextes auf Basis von schon bekannten Klartextfragmenten (sehr effektiv).


Die Cäsar-Methode

Wie bereits aus der Überschrift zu entnehmen ist, möchte ich in diesem Artikel auf ein sehr einfaches, einführendes Beispiel zurückgreifen - die Cäsar-Addition (auch Cäsar-Chiffrierung genannt). Schon die Römer nutzten die Möglichkeit, verschlüsselte Nachrichten zu versenden. Hierzu wurde ein Buchstabe durch den 3 Positionen hinter diesem Buchstaben im Alphabet stehenden Buchstaben ersetzt, also z. B. D für A. Da das Alphabet nur 26 Buchstaben enthält (bei den Römern waren es früher sogar noch weniger, aber das soll an dieser Stelle der Einfachheit halber außer Acht gelassen werden), kann bei dieser Verschlüsselungsmethode nicht zwischen Groß- und Kleinschreibung unterschieden werden. Satzzeichen sind ebenso wenig möglich wie Leerstellen zwischen einzelnen Worten. Auf den drittletzten Buchstaben des Alphabets X folgt wieder der erste, das A. Man kann sich dies also wie folgt vorstellen:





Natürlich ist dieses Verschlüsselungsverfahren nicht sehr sicher. Mit einer einfachen Kryptanalyse könnte man z. B. anhand der Anzahl der Vorkommnisse eines bestimmten Buchstabens und auf Basis der durchschnittlichen Verteilung von Buchstaben in einer bestimmten Sprache diese Verschlüsselung sehr leicht knacken. Cäsar Augustus, der ebenfalls dieses Verfahren nutzte, hat sogar noch ein X für jedes Leerzeichen in den ciphertext eingefügt, was zum einen zu Doppeldeutigkeiten und zum anderen zu einem noch einfacher zu analysierenden Geheimtext führte. Außerdem führte er den Schlüssel 1 ein, was zu einer weiteren Verschlechterung der Sicherheit dieses Algorithmus führte. Nun werden Sie sich sicher fragen, was es mit dem Schlüssel auf sich hat. Im obigen Beispiel war der Schlüssel (bzw. die Verschiebung) 3, und man konnte z. B. für

A ==> D
B ==> E
C ==> F
...
Y ==> B
Z ==> C

in den Geheimtext einsetzen.

Der Schlüssel 1 sorgt für folgende Verschiebung:

A ==> B
B ==> C
C ==> D
...
Y ==> Z
Z ==> A

Bei 26 Buchstaben ergeben sich so Möglichkeiten für 25 verschiedene Schlüssel (wobei der Schlüssel 0 nicht gerade sinnvoll ist, da Klartext und Geheimtext nach der Verschlüsselung übereinstimmen). Den Verschlüsselungsalgorithmus kann man auch in mathematischer Form darstellen, wie man es oft in Kryptographie- bzw. Kryptologie-Büchern findet. Dabei ist

p ein Zeichen im Klartext,
c das chiffrierte Zeichen,
s der Schlüssel,

wobei man sich die Zeichen nicht als Buchstaben, sondern als Zahlen vorstellen muss. So ist z. B.

A = 0
B = 1
C = 2

Y = 24
Z = 25

Die Formel lautet:

c = p + s mod 26

Konzentrieren wir uns zunächst auf den ersten Teil c = p + s. Das chiffrierte Zeichen entspricht also dem Zeichen, welches sich s Positionen weiter hinten im Alphabet als das Klartextzeichen p befindet. Als Beispiel soll hier die Verschlüsselung des Zeichens G dienen:

G befindet sich im Alphabet an der Position 7, also ist p = 6.
Der Schlüssel soll 13 sein, also ist s = 13.
Nach der Formel ist c = 6 + 13, also 19. Und an Position 19 befindet sich ein T. Dies ist das chiffrierte Zeichen c.

Kommen wir nun zu dem etwas seltsam aussehenden letzten Teil der Formel. Das mod bedeutet, dass p + s durch 26 geteilt werden soll, allerdings interessiert uns hier nicht das eigentliche Ergebnis, sondern nur der Rest dieser Division. Ein einfaches Beispiel zur Modulo-Division:

17 mod 5 = 2, da 17 : 5 = 3 mit Rest 2 ist
(oder anders herum: 5 * 3 = 15; 17 - 15 = 2).

Die Modulo-Division sorgt in unserer Formel dafür, dass wenn p + s <= 26 wird, 26 von diesem Ergebnis wieder abgezogen wird. Auch hier soll ein Beispiel für Klarheit sorgen. Das Zeichen X soll verschlüsselt werden:

X befindet sich im Alphabet an der Position 24, also ist p = 23.
Der Schlüssel soll 13 sein, also ist s = 13.
Nach der Formel ist c = 23 + 13 mod 26 = 36 mod 26 = 10. An dieser Position befindet sich ein K. Dies ist das chiffrierte Zeichen c.

Somit haben wir nun auch die Mathematiker zufrieden gestellt.

Auch heute noch wird die Cäsar-Addition in der Informatik angewendet und ist hier besonders unter dem Namen ROT13 (Der Schlüssel ist 13) bekannt. Anstatt auf das Alphabet wird diese Verschlüsselung auf den ASCII-Zeichensatz angewendet. ROT13 bietet die Möglichkeit einer sehr schnellen Verschlüsselung, wenngleich der Schutz nicht allzu hoch ist. Dieses Verfahren dient heutzutage nur zum Schutz vor dem versehentlichen (Mit)Lesen von Daten. Das Tolle an ROT13 ist, dass dieses gleichzeitig Ver- und Entschlüsselungsalgorithmus darstellt. Es gilt:

p = ROT13(ROT13(p))


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06243
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1144
Comments: 0