Der Autor dieser Webseite entwickelt atypische Entwicklungsstrategien,
die nicht auf schwulstige Algorithmen basieren, sondern auf einfach für
den User nachverfolgbare Technologien aus der alten Zeit, nur so
angepasst, dass Sie selbst heutigen Standards genügen.
Sie können sich den Code herunterladen und die Textverschlüsselung
Offline verwenden - auf dem PC, egal mit welchem Betriebssystem: Jeder
Browser kann die Verschlüsselung vornehmen.
Die Textlänge ist egal: Ganze Bücher können verwendet werden.
Wie funktioniert die Verschlüsselung und warum behaupte ich, dass sie
unknackbar ist?
Das Verschlüsselungsprinzip ist eine Abwandlung des Rotationsprinzips
von Buchstaben, wie es im sogenannten rot 13-Verfahren von Cäsar
verwendet wurde. Ja, dieses ist aus heutiger Sicht sehr leicht
knackbar, weil dort lediglich die Buchstaben permanent um 13 Positionen
im Alphabet verschoben werden.
Deshalb erweiterte der Autor den Ansatz ein wenig mit einem Ansatz aus
der Kabbala bzw. der Numerologie:
Jeder Buchstabe und jedes Zeichen hat im Unicode bzw. UTF 8 eine
Nummer: Der Buchstabe oder ein Zeichen wird also zu einer Zahl.
Diese Zahl addiere oder subtrahiere ich mit einer Zahl von 1-39 bzw. -1
- -39. Passen sie nun genau auf:
Diese Zahl wird per Zuweisung aus den Buchstaben bzw. Zeichen des
Passwortes bzw. besser gesagt der Passwortsätze generiert.
Ein Beispiel: Beim Passwort und beim zu verschlüsselnden Text geben Sie
ein kleines a ein:
Ein kleines a beim zu verschlüsselnden Text hat die UTF-8 - Nummer: 97
Bei einem kleinen a bestimmte ich beim Passwort eine Verschiebung um
einen Buchstaben, also +1
Bei 97+1 kommt 98 heraus, welches einem kleinen b entspricht. Bei
Drücken des Buttons kodieren haben Sie nun ein kleines b dort stehen.
Hört sich erstmal nicht ganz so genial an, aber der potentielle Hacker
sieht später an dieser Stelle weder den unbekannten Buchstaben des
Passwortes, noch den des zu verschlüsselnden Textes.
Das Passwort ist auch mir nicht bekannt: Das können Ganze Din A4 Seiten
mit unsinnigen Text sein: Leerzeichen, Paragrafenzeichen, Plus...
Der erste Buchstabe des zu verschlüsselnden Textes und des
Passwortes ergibt den zu verschlüsselnden Text, der zweite Buchstabe
des zu verschlüsselnden Textes und zweite Buchstabe des Passwortsatzes
ist wiederum ein Paar:
Geben Sie ein "aa" als zu verschlüsselnden Text ein und ein ab als
Passwort kommt also z. B. ein bc heraus, weil 97+2 eben das ganze
zu einem c als zweiten Buchstaben macht.
Ist das Passwort kürzer als der Text, dann wird das Passwort wieder vom
Anfang durchlaufen: Sie können nichts verkehrt machen! Passwortsatz und
zu verschlüsselnder Text sollten gleich lang sein...
Numerologisch gesehen löse ich also Buchstaben des zu
verschlüsselnden Textes in Zahlen des UTF-8 Codes auf und addiere oder
subtrahiere nach dem Cäsar-Verfahren einen vom Passwort erstellten
Wert nach meiner eigenen Vorstellung einen neuen Wert von -1 bis 39.
Ich hätte jetzt auch die Werte des Abzugs oder der Addition des
Passwortes auch gestreng der Regeln der Kabbala verwenden können-:)
Dann wäre das eine rein mystische Verschlüsselung mit angewandter
Numerologie der Kabbala - durchaus möglich, Esoteriker können die Werte
gern entsprechend ändern.
Kabbalismus gegen Hochleistungsrechner und der Hochleistungsrechner
geht in die Knie: An einer simplen Additions- oder Subtraktionsaufgabe:
Nehmen Sie dann noch einen Bibeltext oder heiligen Text als
Passwortsätze, dann ist das eine stark mystische Verschlüsselung..
Nun ja, um ehrlich zu sein ist dieser Code nur Bestandteil meines Programmes NONSA, wo das nur ein Durchlauf von Mindestens 13 darstellt und mit anderen Verschlüsselungswegen kombiniert wird.
Ich gebe unten den Quelltext an und erkläre das in einfachen Worten in
Javascript. Ich bin sozusagen einer der letzten Esoteriker, der das
Wissen der alten Zeit portiert und damit etwas schafft, welches an
Zauberei grenzt...
Hier erstmal eine Demo zum ausprobieren: Der Text kann beliebig lang
sein und Leerzeichen werden natürlich auch verschlüsselt...
Demo
Download
Hier einmal der komplette Code für eine einfache Seite:
</head> <body> <center> <FORM
NAME="changeForm"> <div><h1>Verschlüsselung
mit NONSA</h1><div> <br> <br> <div><b>Codierung
oder Encodierung mit Caesar</b></div> <br> <div>Geben Sie hier ein
möglichst Password oder ganze Textseiten ein, je mehr, desto
sicherer...</div> <br> <div><textarea id=pass
rows="5" cols="35"></textarea></div> <br> <div>Geben Sie hier den
Text ein</div> <br> <div><textarea id=dialog rows="10"
cols="35"></textarea></div> <br> <div> <INPUT TYPE="BUTTON"
onClick="enc13()" VALUE="1-click-encode"> <INPUT TYPE="BUTTON"
onClick="dec13()" VALUE="1-click-decode"></div> <div></div> <br> <br> <br></div> <br> </FORM></center> </body> </html>
----
Codeerklärung
Erklärung des Quellcodes im Schnelldurchlauf: Ist also ein HTML-Seite.
Die hat zwei Textareas, eine mit Namen pass für die Passwortsätze und
einmal mit Namen Dialog
für den zu verschlüsselnden Text. Das ganze zur Adressierung in einem Form- Attribut mit Namen oder
eben ID changeform.
Über den Button 1-Click-encode
wird die Funktion enc13()
gestartet. Bis hierher dürfte alles klar sein, also mal schauen, was
passiert, wenn ich einen zu verschlüsselnden Text und ein Passwort
eingebe:
<SCRIPT
LANGUAGE="JavaScript"><!-- function enc13() { pwssatz=document.changeForm.pass.value; satz =
document.changeForm.dialog.value; anton=pwssatz;
while (pwssatz.length <
satz.length) { pwssatz+= anton }
Nun wird also Javascript gestartet. Danach werden Variablen geschaffen,
die den Text des Passwortsatzes (pwssatz) und den zu entschlüsselnden
Text (satz) beinhalten
Danach wird mit einer While-Schleife der Passwortsatz so lange noch
einmal angehängt (anton), bis die Länge des zu verschlüsselnden Textes
(satz.length) kleiner ist, als die Passwortsätze (pwssatz.length) sind.
Weil Schleifen nicht einfach sind, vielleicht noch ein Wort dazu: Ich
habe also ein Passwortsatz mit zwei Buchstaben und einen zu
verschlüsselnden Text mit sechs Buchstaben. Dann ist das Passwort beim
ersten Durchgang kleiner als der Text, also wird das Passwort mit zwei
Buchstaben des Passworttextes ergänzt, besteht also aus vier
Buchstaben. Beim zweiten Durchgang ist vier immer noch kleiner sechs,
also geht es nochmal durch die Schleife und wiederum werden zwei
Buchstaben angehängt. 6 Buchstaben des Passwortes sind nun gleich sechs
Buchstaben des zu verschlüssendeln Textes: Die Schleife wird nun
abgebrochen, weil die Passwortlänge nicht mehr kleiner als der zu
verschlüsselnde Text ist und ich habe mein Ziel erreicht:
Auf jeden Buchstaben des zu verschlüsselnden Textes wird es nun einen Buchstaben des Passwortes geben...
neuersatz = ""; versatz = "";
for (ilx=0; ilx<satz.length;
ilx++) { passw =
eval("pwssatz.charAt(" +ilx+")");
if (versatz == "") versatz
= 39; if (passw == "a") versatz =
1; if (passw == "b") versatz =
2; if (passw == "c") versatz =
3; if (passw == "d") versatz =
4; ... if (passw == "?") versatz =
-30; if (passw == "\"") versatz
= -31; if (passw == "/") versatz =
-32; if (passw == "+") versatz =
-33; if (passw == "-") versatz =
-34; if (passw == "=") versatz =
-35; if (passw == "^:") versatz
= -36; if (passw == "!") versatz =
-37; if (passw == "§") versatz =
-38;
Hier spare ich ein wenig Wiederholung des Codes.
Als erstes brauche ich eine for Schleife, in dem der Rest des Codes
abläuft. Diese wird solange durchlaufen, bis die Satzlänge des zu
verschlüsselnden Textes erreicht wird (satz.length).
Streng genommen läuft Javascript numerologisch ab. Jeder Buchstabe des
zu verschlüsselnden Textes erhält erstmal eine Ordnungsnummer von 0 bis
zum ende des Textes.
passw =
eval("pwssatz.charAt(" +ilx+")");
Ich ziehe nun im ersten Durchlauf den ersten Buchstaben des
Passwortes...beim zweiten Durchlauf den zweiten Buchstaben des
Passwortes...(immer parallel zum Buchstaben des zu
verschlüsselnden Text - das kommt später, aber wir synchronisieren
durch die Variable ilx schon hier...).
Danach Vergleiche ich den Buchstaben mit den folgenden von mir erstellten Werten. Ein kleines a erhält also die Nummer 1.
nr = satz.charCodeAt(ilx); if (31<nr &&
nr<123) { nnr = nr +
versatz; versatz = ""; if (nnr>122)
nnr = 31 + (nnr-122); if
(nnr<32) nnr = 122 - (31 - nnr); neuersatz +=
String.fromCharCode(nnr); } else neuersatz += satz[ilx]; } document.changeForm.dialog.value =
neuersatz; }
In diesem kleinen Codeabschnitt ist schon die gesamte Berechnung enthalten: nr = satz.charCodeAt(ilx);
Der Buchstabe des zu verschlüsselnden Textes wird beim ersten
Buchstaben mit der Zahl von der Schleife (ilx) gezogen und die Zahl des
UTF-8 Codes (hex) ermittelt.
1. Die Zahl des Versatzes wird addiert : nnr = nr +
versatz; 2. Liegt die Ergebniszahl über dem Spektrum der UTF-8
Tabelle, dann Rechne ich von der Einstiegszahl beginnend wieder hoch if (nnr>122)
nnr = 31 + (nnr-122);
3. Liegt die Zahl unterhalb des Spektrums der UTF-8 Tabelle, dann rechne ich die Zahl von der Endzahl wieder runter...if
(nnr<32) nnr = 122 - (31 - nnr);
Danach wandle ich die Zahl in einen Buchstaben um und addiere den
Buchstaben in einer neuen Variablen, die mit jedem Durchlauf der
Schleife anwächst.
4. Dem nicht genug: Ist der Buchstabe des zu entschlüsselnden Textes
unbekannt und nicht im Spektrum von Beginn an, dann wird gar nichts
verändert, sondern der Buchstabe so, wie er ist, übernommen else neuersatz += satz[ilx];
Am Ende wird der verschlüsselte Text wieder ausgegeben:
Fertig: Beim Dekodieren wird fast derselbe Text verwendet, nur eben
umgekehrt in der Funktion dec13() mit anderen Variablen-Namen. Kommt
nur ein Name einer Variablen ein zweites Mal vor, dann funktioniert die
Funktion nicht mehr!!!
Lediglich die Versatzzahl muss nun gegenteilig sein: also statt Plus 1
muss nun Minus 1 gewählt werden: Das brauche ich nicht nochmal zu
erklären?
Für Esoteriker, die ein wenig nach der Kabbala arbeiten möchten:
Einfach die Werte beim Encodieren und Dekodieren des Passwortes
entsprechend der Kabbala ändern, also für ein kleines a weiterhin eine
1 https://de.wikipedia.org/wiki/Zahlensymbolik
Dann ist noch das Problem da, dass ch und andere Kombinationen andere
Werte haben: Das würde ich mit Austausch dieser Buchstaben in exotische
Zeichen der UTF-8 Tabelle kompensieren...ist mir ehrlich gesagt zu zeitaufwendig...
---
Fazit
Cäsar, Kabbala und Numerologie gegen normale Verschlüsselung. Das
Wort wird durch das Wort zum Schlüssel - eine Art
Übersetzungsprogramm auf numerologischer Basis.
Cäsar wäre begeistert gewesen. Jeder Buchstabe und jedes Zeichen
erhalten eine eigene Rotation, die der User des Programms festlegt: Mit
unsinnigen Texten oder auch gern mit Texten aus heiligen Schriften.
Der Entschlüssler weiß nicht, welche Addition oder Subtraktion zu
Grunde liegt. Er sieht nur die Buchstaben oder eben deren Zahlenwerte.
Diese Art der semantischen Verschlüsselung stelle ich als Alternative zu all den modernen Verschlüsselungsprogrammen.
Diese Verschlüsselung ist nur ein Teil meines umfangreicheren Projektes NONSA.
Nachtrag
Der Autor ist seinen Veröffentlichungen natürlich meilenweit voraus:
Mit Hilfe mehrdeminsionaler Sequenzen kann der hier verwendete
Schlüssel um ein vielfaches gesteigert werden: Philosophisch gesehen
ist das nur ein brüchiger Ansatz aus dem Land der perfekten Formen, den
ich in Nonsa dann noch unperfekter verarbeitet habe...
Ich werde in Zukunft nicht mehr alles mit der Öffentlichkeit teilen - nicht mal mit dem PC.
Ich werde jemand suchen, der das Potential in den Ansätzen erkennt und
wer mich anständig bezahlt, dem kann ich dann nach den hier
veröffentlichten Basis-Daten ein wirklich einmaliges
Verschlüsselungsprogramm erstellen - ich glaube es gibt genug
Interesenten, jeder darf sich beim Autor diesbezüglich melden: Mirt ist
es im Prinzip egal, wir modernen weltweiten Esoteriker haben keinen
Staat, den wir dienen müssten.
Ansonsten werde ich natürlich weiterhin Grundlagen posten und wer
Javascript beherrscht kann Alternativen zu den etablierten Programmen
erstellen: Caesar hat Programmierer geschätzt, die die Kunst des
Verschlüsselns beherrschen, die kabbalistischen Mystiker waren
angesehende Menschen und nur der Autor dieser Webseite wird bewusst
übersehen - das ist nicht ganz fair...
Kleiner Scherz am Schluss: Es gibt eine ganz einfache Möglichkeit, wie
sie mit jemand einen unknackbaren Code aushandeln: Die Lottozahlen in
Deutschland wurden seit anbeginn registriert: Nehmen sie einfach die
Tipps als Verschiebungszahl.
Da bekommen sie pro Tipp sieben Zahlen, die absolut zufällig sinde! Sie
gewinnen zwar keine Million, aber der Empfänger kann dann jeden
Buchstaben nach den Lottozahlen wieder zurückververschieben.
Kein Computer dieser welt kann so einen Code knacken und Lotto gibt es nicht nur in Deutschland...