CEASAR - Verschlüsselung (ROT-1 bis ROT-25)
Funktionsweise:
Bei der Ceasar- Verschlüsselung (abgeleitet vom römischen Feldherrn Gaius Julius Caesar) werden die 26 Buchstaben des Alphabets verschoben, um damit leserlichen Text (Plaintext) unleserlich (Crypted) zu machen. Anders formuliert: Wenn man eine Verschiebung von drei Buchstaben vornimmt, dann wird aus dem Buchstaben A der Buchstabe D. Diese Verschleierung zählt zu den symetrischen Verschlüsselungsverfahren. Da der Schlüssel sehr leicht zu knacken ist, gilt dies somit als unsicher. Zum einem kann man versuchen, anhand der Häufigkeit der Buchstaben den Schlüssel zu erraten oder man geht schlussendlich alle möglichen (sind nur 25) Kombinationen durch. Spätestens bei der 25.ten Verschiebung ist wieder alles in Klartext zu lesen.
Dieses Verschlüsselungsverfahren nennt sich auch ROT-1 bis ROT-25. ROT-13 ist auch heute noch auf einigen Webseiten in Gebrauch, um Hinweistexte vor versehentlichen Lesen zu verschleiern. Ein Beispiel findet man auf http://www.geocaching.com, wo diese Art der Verschlüsselung genutzt wird, um Hinweise auf den Schatz zu verschleiern.
Vereinfachte Version: Alle Zeichen, die nicht dem Alphabet von A bis Z entsprechen, werden entfernt. Die Eingabe ist: Case-Insensitive!
***** Bisher wurde noch keine Eingabe verarbeitet! *****
Für Anfänger in der Programmierung wäre vermutlich die Vorgehensweise folgende:
Zunächst wird ein Array mit den Buchstaben des Alphabetes erstellt.
Ein zweites Array wird erstellt, wo ebenfalls alle Buchstaben enthalten sind. Jedoch bereits verschoben.
Nun kann man in einer Schleife die einzelnen Chars des gesendeten Textes durchlaufen. Bei jedem Durchlauf wird geprüft, auf welchem Index der Buchstabe im ersten Array vorkommt. Dieser Index wird verwendet, um im zweiten Array den verschobenen Buchstaben zu finden und in einem neuem String abzulegen (hinzufügen).
Nachdem alles durchlaufen ist, wird der verschlüsselte oder auch der entschlüsselte Text angezeigt.
Hier in diesem Beispiel, wurde auf des erstellen von Arrays für das Alphabet verzichtet.
Einfacher und komfortabler ist es, den ASCII-Dezimal-Wert der Buchstaben zu ermitteln. (A = 65 bis Z = 90)
Dann wird die Verschiebung auf den Dezimalwert hinzu gerechnet.
Jetzt muss noch geprüft werden, ob der neue Wert zwischen 65 und 90 liegt. Liegt er darunter oder darüber, werden 26 hinzugefügt oder entsprechend abgezogen. Somit liegt der Wert wieder im gültigen Bereich.
Nur noch den Wert wieder in seinen Buchstaben zurückwandeln und im String ablegen.
Nachdem dieses für alle Buchstaben durchlaufen ist, kann der neu erzeugte String angezeigt werden.