Doppelwürfel (Verschlüsselungsverfahren-cipher text)
Algorithmus
Ein Schlüssel gibt eine Matrix vor, eine Spalte pro Buchstabe.
Dann werden die Buchstaben des Klartextes, je einer pro Spalte zeilenweise geschrieben. Sind alle Textbuchstaben verteilt erfolgt ein Spaltentausch nach den alphabetisch sortierten Buchstaben des Schlüssels - keyindex.
Schlüssel1: NOTEBOOK ==> BEKNOOOT Schlüssel2: DECKEL ==> CDEEKL
12345678 ... 54812673 123456 ... 312546
Den verschlüsselten Text lese ich spaltenweise entsprechend dem sortierten Schlüssel in keyindex zuerst die Spalte Nr. 5, danach die Spalte Nr. 4 usw. - notiere diese zeilenweise unter dem 2. Schlüssel und wiederhole das Verfahren um den endgültigen Ciphertext zu erhalten.
Dekodiert wird mit dem umgekehrten Verfahren.
Javascript-Code
Die Spalten schreibe ich in einen Array - im Beispiel (unten) lesen sich Spalten und Zeilen vertauscht:
Spalten von links nach rechts und Zeilen von oben nach unten! Bei der Codierung in Javascript ist zu berücksichtigen, dass Arrays mit dem Index 0 beginnen.Doppelwürfel.js.ggb
A1: Klartext
A2: 1.Schlüssel
A3: 2.Schlüssel
A4: Ciphertext - verschlüsselter Text
Links
Doppelwürfel ggb App ohne js
Kryptanalyse der doppelten Spaltentranspositionschiffre
kryptografie.de
Doppelwürfel-Verschlüsselung
Javascript in Teilen entnommen bei Franz Kohnle und um Dekodierung erweitert und an ggb-Javascript angepasst.