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.
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 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 bereits vorher den erzeugten Code in die Zwischenablage, damit sie ihn im wahrscheinlichen Erfolgsfall so verwenden können.
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 über die Zwischenablage in ein Emailprogramm übertragen.
Um einen verschlüsselten Text wieder zu entschlüsseln, schreiben oder kopieren Sie die codierte Nachricht (z.B. aus einer e-Mail) in das Codefeld, geben dasjenige Schlüsselwort, das zum Verschlüsseln verwendet wurde, unter Beachtung von Groß- und Kleinschreibung 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.
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.
Auch sollten im Klartext keine längeren Folgen des selben Zeichens auftreten, da bei Kenntnis dieses Zeichens auf der Länge, die den gleichen Zeichen entspricht, das Schlüsselwort ermittelt werden kann.
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.
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 die Anzahl der Zeichen sehr groß ist.
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.)
Eine weitere Besonderheit beim Versand durch Email ist, dass auf dem Weg durchs Internet Zeichen verändert werden; beispielsweise wird das €-Zeichen häufig in "EUR" umgewandelt. Solche Änderungen führen zu Fehlern bei der Entschlüsselung - von einzeln falsch decodierten Zeichen bis hin zur fast völligen Unlesbarkeit.
Aus diesem Grund ist der Zeichenvorrat, der im Klartext vorkommen kann, auf Zeichen aus der untere Hälfte der ASCII-Tabelle (bis 127) beschränkt. Vor dem Chiffrieren werden zum Beispiel Umlaute und das scharfe "ß" in ae, oe, usw. bzw. sz umgewandelt und Akzente von Vokalen entfernt. Dann noch verbleibende, nicht codierbare Zeichen werden durch ein in der Variable asterisk gespeichertes Zeichen "_" ersetzt; in diesem Fall wird am Ende der Nachricht ein Hinweistext angefügt, an welchen Positionen eine solche Zeichenersetzung vorgenommen wurde.
Je nachdem, wie Ihr Browser die Email verschickt, kann es sein, dass (z.B. beim Internetexplorer) außer der codierten Nachricht noch der Feldname davor steht: inhalt=...
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, wird es wie ein nicht codierbares Zeichen behandelt und durch "_" (bzw. den Inhalt der Variable asterisk) ersetzt und ein Hinweistext mit Angabe der Stellen im Text, an denen das passiert ist, an die Nachricht angefügt.
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.
Ich würde mich freuen, wenn Sie mir Ihre Meinung zu diesem Programm zusenden würden.
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!