Apps für Android programmieren leicht gemacht!
Caesar Verschlüsselung

Caesar Verschlüsselung

Die Caesar Verschlüsselung ist eine leicht zu implementierende Verschlüsselung, die dazu noch mit sehr wenig Rechenleistung auskommt.
Diese Verschlüsselungsmethode ist eine der einfachsten Methoden, allerdings auch eine der unsichersten.
Die Caesar Verschlüsselung ist ein einfaches symmetrisches Verschlüsselungsverfahren, das auf der monographischen undmonoalphabetischen Substitution basiert.

Auf Deutsch heißt dies, dass man alle Buchstaben des Alphabetes um eine bestimmte Anzahl an Schritten verschiebt.
Haben wir als Klartext den Buchstaben „A“ und einen Schlüssel von 2, verschieben wir das „A“ einfach um 2 Zeichen nach rechts.
Somit wird aus jedem A ein C.
A->B->C->D->E->…

Auf diesem Grundkonzept der Verschiebung von Buchstaben sind ein Großteil der modernen Verschlüsselungsmethoden aufgebaut, weshalb wir dieses Verfahren hier behandeln.

Anwendungsgebiete:

Die Caesar Verschlüsselung findet in unserer heutigen Welt kaum noch Anwendung. Lediglich zur Veranschaulichung der Grundprinzipien der Kryptographie dient diese Verschlüsselungsmethode noch sehr gut. Sofern man nur sehr unsensible Daten zu verschlüsseln hat, könnte man aber auch diese Methode noch verwenden (Wir raten allerdings dringendst davon ab).

Beispielcode:

Der unten stehenden Funktion werden die Parameter „Klartext“ als String und „Verschiebung“ als Zahl übergeben und diese gibt dann den verschlüsselten Text zurück.

public String CaesarVerschluesseln(String Klartext, int Verschiebung){

   String geheimtext = "";
   int stelle = 0;

   while(stelle < Klartext.length()){

      char geheimbuchstabe = (int) Klartext.charAt(stelle) + Verschiebung;
      geheimtext = geheimtext + geheimbuchstabe;

      stelle ++;
   }

   return geheimtext;
}

Der unten stehenden Funktion werden die Parameter „Geheimtext“ als String und „Verschiebung“ als Zahl übergeben und diese gibt dann den entverschlüsselten Text zurück.

public String CaesarEntschluesseln(String Geheimtext, int Verschiebung){

   String klartext = "";
   int stelle = 0;

   while(stelle < Geheimtext.length()){

      char klarbuchstabe = (int) Geheimtext.charAt(stelle) - Verschiebung;
      klartext = klartext + klarbuchstabe;

      stelle ++;
   }

   return klartext;
}

Erklärung:

Als erstes sollten wir versuchen die Verfahrensweise zu verstehen, um uns später mit dem Beispielcode beschäftigen zu können.
Buchstaben kann man in einen sogenannten ASCII-Code umwandeln. Wir können also dem „A“ den Zahlenwert 65 zuweisen. Mit Hilfe dieser Zahlen können wir nun addieren und/oder subtrahieren.
Wir wandeln also unser A in eine 65 um, indem wir den folgenden Befehl verwenden:

int ascii = (int) "a";

Anschließend addieren wir um die Verschiebung und wandeln den ASCII-Code wieder in einen Buchstaben um:

char buchstabe = (int) ascii;

Schon haben wir ganz einfach einen Buchstaben verschoben.
Da wir allerdings nur ASCII Werte eines einzelnen Buchstaben ermitteln können müssen wir den Text mit einer Schleife durchlaufen und jeweils einen einzelnen Buchstaben herausfiltern (Befehl: [STRING].charAt([STELLE])).

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld