Verschlüsselung durch Permutation (Menü Ver-/Entschlüsseln \ Symmetrisch (klassisch))
Eine Verschlüsselung durch Permutation verschlüsselt den Text, indem sie die Reihenfolge der einzelnen Zeichen ändert (Transpositionschiffre). Einzelheiten zur Eingabe des Permutationsschlüssels erfahren Sie im Dialog Permutationsschlüsseleingabe.
Berichtet wird das erste Mal von einer Verschlüsselung durch Permutation, als 500 v.Chr. die Skytale von Sparta benutzt wurde.
Bei der Permutationsverschlüsselung wird der Text normalerweise in eine Tabelle der Breite n (= Länge der Permutation) zeilenweise eingetragen. Das Chiffrat wird nun spaltenweise in der von der Permutation vorgegebenen Reihenfolge ausgelesen. In CrypTool besteht neben der klassischen Variante die Möglichkeit, den Klartext wahlweise spalten- oder zeilenweise ein- oder auszulesen. Des weiteren besteht die Möglichkeit zu bestimmen, ob die eigentliche Permutation spaltenweise oder zeilenweise ausgeführt wird. Standard ist hier spaltenweise, in der Literatur wird jedoch gelegentlich eine zeilenweise Notation eingesetzt. Werden bei allen 3 Optionen (Einlesen, Permutation und Auslesen) die Werte zwischen zeilenweise und spaltenweise getauscht, so führt dies zum gleichen Ergebnis.
Wie bei den anderen klassischen Verschlüsselungsverfahren werden auch hier üblicherweise Leerzeichen, Satzzeichen und Groß/Kleinschreibung bei der Verschlüsselung ignoriert (dieses Standardverhalten kann in CrypTool geändert werden - siehe unten). Aus Sicherheitsgründen sollte die Länge des Klartextes kein Vielfaches der Länge der Permutation sein. Bei echten Anwendungen wurde im Zweifelsfall mit Füllzeichen aufgefüllt, um diese Einschränkung zu beachten.
Eine einzelne Permutation an sich ist nicht als kryptographisch sicher anzusehen. Die Verkettung von zwei hintereinander ausgeführten Permutationen gilt jedoch als kryptographisch sicher, falls die Permutationen unterschiedliche Längen haben und beide Längen hinreichend lang sind. So wurde diese als "Doppelwürfel" bezeichnete Chiffre vom Geheimdienst der ehemaligen DDR in den Zeiten des kalten Krieges für die Kommunikation mit ihren Agenten eingesetzt.
Beispiel:
Im folgenden wird der Klartext mit einer Permutation der Länge 4, gegeben durch die Folge (2, 4, 1, 3) verschlüsselt. Zur besseren Lesbarkeit wurden Leerzeichen und Groß/Kleinschreibung beibehalten (bevor Sie das Beispiel so nachvollziehen können, müssen Sie über das Menü Optionen die Dialogbox Textoptionen aufrufen. Darin ist Groß- / Kleinschreibung beachten einzustellen und unter Alphabetoptionen sind die Großbuchstaben, die Kleinbuchstaben und das Leerzeichen anzukreuzen).
Der Klartext:
"Dies ist ein kurzes Beispiel einer Permutation"
wird zeilenweise in die Tabelle(" " steht für ein Leerzeichen) eingetragen:
|
|
|
3 (Permutations-Schlüssel) |
|
|
|
|
" " |
|
|
|
" " |
|
|
|
" " |
|
|
|
|
|
|
" " |
|
|
|
|
|
|
|
|
" " |
|
|
|
|
|
" " |
|
|
|
|
|
|
|
|
|
|
|
Und dies führt zu folgendem Chiffrat:
"esiusiei mtD zBp eetostnr slnPuiiiekeeierran
"
Anhand der Tabelle erkennt man, dass der Chiffretext die Verknüpfung der Spalten in der Reihenfolge 3, 1, 4, 2 (bestimmt durch den Permutationsschlüssel) ist.
Manchmal wird die Permutation (2, 4, 1, 3) in der Literatur anders interpretiert:
Statt sie wie in der CrypTool-Implementierung als neue Indizes über die Spaltenköpfe zu schreiben und dann die Spalte zuerst zu lesen, über der nun eine "1" steht (3. Spalte von links), wird zuerst die Spalte gelesen, deren Index gleich dem 1. Element der Permutation ist (2. Spalte von links).
Angewandt auf obiges Beispiel führt die 2. Interpretation zu folgendem Chiffrat:
"iiekeeierranstnr slnPuiD...zBp eetoesiusiei mt
"
Die 1. Interpretation kann leicht in die 2. verwandelt werden, indem man die Inverse der Permutation bildet: (2, 4, 1, 3) ergibt invertiert (3, 1, 4, 2). Dies kann man unter Optionen einstellen.
Es gibt außer der identischen Permutation (1, 2, ..., n-1, n) auch andere Permutationen, die identisch mit ihrer Inversen sind, z.B. (2, 4, 1, 3, 5).
In CrypTool wird die verwendete Permutation entweder aus dem eingegebenen Schlüsselwort abgeleitet oder direkt durch Zahlenwerte angegeben. Die Permutation erhält dabei die Länge des Schlüsselwortes. Der Dialog Permutationsschlüsseleingabe ermöglicht die gleichzeitige Eingabe von maximal zwei Permutationen. Wird das Eingabefeld für die zweite Permutation nicht ausgefüllt, so wird nur eine Permutation ausgeführt.
Methode zur Erzeugung der Permutation aus dem Schlüsselwort:
Anhand des Schlüsselwortes "Schluessel" wird beschrieben, wie in CrypTool aus einem Schlüsselwort eine Permutation gebildet wird.
...
...
Schlüsselpermutation gebildet:
...
...
(9, 3, 10, 6, 4, 8, 5, 1, 2, 7). Die Spalten der Tabelle werden daher in dieser Reihenfolge ausgelesen.
Direkte numerische Spezifikation der Permutation:
Die Permutation kann auch direkt numerisch und mit Kommas getrennt angegeben
werden anstatt durch Eingabe eines Schlüsselwortes. Eine Verifikation der
Permutation auf syntaktische Korrektheit erfolgt erst bei einem Versuch einer
Ver- bzw. Entschlüsselung. Die Permutation muss vollständig angegeben werden.
Es dürfen keine Werte ausgelassen oder doppelt verwendet werden. Die oben
erzeugte Permutation
(9, 3, 10, 6, 4, 8, 5, 1, 2, 7)
wird daher als 9,3,10,6,4,8,5,1,2,7
eingegeben.
Einstellmöglichkeiten:
Sie haben folgende Einstellmöglichkeiten pro Permutation:
Auf beide Permutationen wirkt die Einstellmöglichkeit, als Permutation die Inverse der angegebenen Permutation zu nehmen.
Der historische Standard entspricht einem zeilenweisen Einlesen und einem spaltenweisen Auslesen der Daten.