Javascript
 

 Verschlüsselung

Auf dieser Seite kann man Texte zwischen den beiden Fenstern ver- oder entschlüsseln.
Eine Kurzanleitung und weitere Informationen finden Sie nach den Formularfeldern.

ACHTUNG! Alte Version. Nur noch zum Entschlüsseln von Texten gedacht, die auch hiermit verschlüsselt wurden.
Verwenden Sie zum neuen Verschlüsseln besser das aktuelle Script!

Klartext:
↓  ↓ Schlüsselwort:
↑   ↑
Codetext:
Sie können den Code unmittelbar aus diesem Formular per Email versenden.
(Beachten Sie, dass codierte Nachrichten häufig in Spam-Filtern blockiert werden!
Zu lange Nachrichten führen zu einer Fehlermeldung.)
Code an     

Kurzanleitung

Zum Verschlüsseln eines Textes schreiben oder kopieren Sie ihn in das obere Feld "Klartext", geben Sie das Schlüsselwort in das dafür vorgesehene Feld ein und klicken Sie auf die Schaltfläche "Codieren".
Der verschlüsselte Text erscheint dann als Folge von Zeichen im unteren Feld "Code".
Die Eingabefelder "Klartext" und "Schlüsselwort" werden gelöscht.

Um einen auf diese Weise verschlüsselten Text wieder zu entschlüsseln, kopieren Sie die codierte Nachricht (z.B. aus einer e-Mail) in das Codefeld, geben dasjenige Schlüsselwort, das zum Verschlüsseln verwendet wurde, in das dafür vorgesehene Feld ein und klicken auf "Decodieren".
Der Klartext erscheint im Feld "Klartext".
Die Eingabefelder "Code" und "Schlüsselwort" werden gelöscht.
ACHTUNG: Wenn Sie das falsche Schlüsselwort verwenden, bleibt der Klartext verschlüsselt; Sie können allerdings den ursprünglichen Code wieder herstellen, indem Sie den unlesbaren "Klartext" wieder mit dem selben falschen Code verschlüsseln.

Nach dem Codieren steht die Einfügemarke im Feld zur Eingabe einer Emailadresse. Wenn der Code nicht zu lang ist, können sie ihn direkt aus dem Formular versenden. Andernfalls (bei einer Fehlermeldung) müssen sie ihn manuell durch Kopieren in die Zwischenablage in ein Emailprogramm übertragen.

Hintergrundwissen

Die Verschlüsselung ist symmetrisch, d.h. Sender und Empfänger müssen im Besitz des selben Schlüsselwortes sein.
Der Verschlüsselungs-Algorithmus beruht auf dem Vigenère-Quadrat, bei dem jeder neue Buchstabe des Schlüsselworts das Alphabet bestimmt, aus dem das Codezeichen an der selben Stelle entnommen wird, an der das Klartextzeichen im normalen Alphabet steht. (Deshalb auch Polyalphabetische Verschlüsselung genannt.)

Die Vigenère-Verschlüsselung ist KEINE sichere Methode! Sie können den Schwierigkeitsgrad für potentielle Codebrecher erhöhen, indem Sie das Verhältnis von Schlüsselwort- zu Nachrichtenlänge möglichst groß machen; im Idealfall ist der Schlüssel genauso lang wie die Nachricht. Außerdem sollte der Schlüssel möglichst aus einer zufälligen Zeichenfolge bestehen, damit von Teilen des Schlüssels nicht auf seinen Rest geschlossen werden kann.

Hier geht es zu einer anderen Version dieses Programms, das die XOR-Verknüpfung zur Verschlüsselung benutzt.

Focus-Steuerung

Das Javascript-Programm enthält eine Steuerung des Eingabe-Focus:
Beim Aufruf der Seite wird die Einfügemarke im Klartextfeld positioniert ('onload' im body-tag).
Wenn Sie dieses Feld mit der Maus oder der Tabtaste verlassen, bewegt sich die Einfügemarke automatisch in das Schlüsselwortfeld, wenn Sie einen Klartext eingegeben haben; wenn nicht, steht der Cursor im Codefeld.
Für das Codefeld gilt das selbe sinngemäß.
Beim Verlassen des Schlüsselwortfeldes wird automatisch die richtige Schaltfläche angewählt, je nachdem ob Sie zusätzlich zum Schlüssel Klartext oder Code eingegeben haben.
Erst wenn eine der beiden Schaltflächen den Focus hat, können Sie wieder frei über die Maus verfügen, um z.B. Text zu markieren oder den Links in diesem Hilfetext zu folgen.

Besonderheiten

Offenbar gibt es eine Begrenzung bei der Textlänge, die ein html-Formular mit Hilfe von "mailto:" und "body"-Parameter an ein Emailprogramm übergeben kann. Jedenfalls erzeugt der Versuch, den Code direkt aus dem Formular zu versenden, eine Fehlermeldung, wenn er eine gewisse Zeichenzahl überschreitet.

Wenn ein Code per Email versendet wird, kann es passieren, dass auf dem Weg zum Empfänger Zeilenumbrüche hinzugefügt werden. Ab dem ersten zum Original-Code hinzugefügten Zeichen lässt sich die Nachricht dann nicht mehr entschlüsseln.
Deshalb entfernt der Dechiffrieralgorithmus zunächst alle Zeilenumbrüche (CR- und LF-Zeichen) aus dem eingegebenen Code. (Ein Original-Code KANN solche Zeilenumbrüche nicht enthalten, weil sie nicht Bestandteil des Chiffrieralphabets sind.)

Besonderheiten Internet-Explorer

Der Internetexplorer interpretiert alle Kombinationen der ASCII-Codes 10 und 13 (10 = Line Feed, LF, Zeilenvorschub; 13 = Carriage Return, CR, Wagenrücklauf) als vollständigen Zeilenumbruch mit den zwei Zeichen CR und LF:

CR + LF → CR + LF
LF + CR → CR + LF
LF → CR + LF
CR → CR + LF

Da das Programm alle Codezeichen einzeln in Buchstaben umwandelt, und eine Veränderung der Zeichenzahl zu Problemen führt, ist das Verschlüsselungsprogramm so programmiert, dass es Zeilenumbrüche mit einem anderen Zeichen "maskiert", d.h. sie dadurch ersetzt. Dieses Zeichen ist in der Variablen zeilenumbruch festgelegt und kann geändert werden - dann allerdings beim Sender UND beim Empfänger!
Um eine eindeutige Entschlüsselung zu gewährleisten, sollte dieses Maskierungszeichen im Klartext nicht vorkommen. Ist dies doch der Fall, bietet das Programm die Möglichkeit, das Zeichen im Klartext durch ein anderes auszutauschen.

Verwendung des Programms

Sie können diese Internetseite und damit das Programm selbstverständlich frei verwenden.
Schauen Sie sich den Quelltext an, wenn Sie an der Programmierung interessiert sind; die Scripts sind kommentiert.

Ich übernehme keinerlei Verantwortung für die Richtigkeit der Ver- und Entschlüsselung oder sonstigen Fehlerfreiheit des Programms.
Es handelt sich um einen sehr einfachen Verschlüsselungsalgorithmus, dessen Schutz nicht dem Stand der Technik asynchroner Verschlüsselung entspricht.


Um ein Mindestmaß an Sicherheit zu gewährleisten, verwenden Sie lange, zufällig zusammengesetzte Schlüsselworte und tauschen Sie diese auf einem sicheren Kanal zwischen Sender und Empfänger aus.

Um sicher zu sein, dass Sie das Schlüsselwort richtig getippt haben, können Sie nach dem Codieren das Schlüsselwort erneut eingeben und den gerade erzeugten Code wieder decodieren.
Kopieren Sie breits vorher den erzeugten Code, damit sie ihn im wahrscheinlichen Erfolgsfall so verwenden können.

Ich würde mich freuen, wenn Sie mir Ihre Meinung zu diesem Programm zusenden würden.




Home
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!