Die Transpositionschiffrierung

Historisch betrachtet ist die Skytale von Sparta die älteste bekannte Transpositionschiffrierung. Sie wurde bereits im antiken Griechenland verwendet. Die Skytale ist ein Stab aus Holz. Um diesen Stab wurde ein schmales Band aus Pergament, auf dem die verschickten Nachrichten geschrieben wurden, spiralförmig gewickelt. Danach wurde das abgewickelte Band von einem Boten zum Empfänger gebracht. Um die Nachricht zu entschlüsseln benötigte dieser lediglich einen Stab desselben Durchmessers. Liest man das Papier im abgerollten Zustand, so kann man nur Teilstücke der zuvor geschriebenen Wörter erkennen. Für jemanden, der in diese Technik nicht eingeweiht ist, ergeben diese Wortstücke keinen Sinn.

Die Skytale von Sparta
Die Skytale von Sparta
Beim Transpositionsverfahren werden also nicht die Zeichen des Klartextes durch andere ersetzt, es wird lediglich ihre Reihenfolge (für den ungewollten Betrachter) vertauscht. Als Grundlage für die Arbeit mit dem Computer dient eine Matrix, in die das zu verschlüsselnde Wort zeilenweise eingetragen wird. Die Anzahl der Spalten ist der geheime Schlüssel. Daraus und aus der Gesamtlänge des Klartextes ergibt sich die Anzahl der Zeilen in der Matrix. Der Geheimtext wird im einfachsten Fall durch spaltenweises Auslesen der Matrix gebildet.
Beispiel: Gegeben sei die Zeichenfolge K als Klartext, welche bereits in eine Matrix geschrieben wurde.

T R A N S
P O S I T
I O N S C
H I F F R
I E R U N
G I S T G
A R N I C
H T S C H
W E R    
Klartext für das Transpositionsverfahren
Der Schlüssel (in diesem Fall also die Spaltenanzahl) sei

S = 5.

Somit ergibt sich der Geheimtext mit:

G = TPIHIGAHWROOIEIRTEASNFRSNSRNISFUTICSTCRNGCH

Eventuell auftretende Leerstellen in der letzten Zeile lassen sich auch mit Blendern auffüllen. Zum Entschlüsseln teilt man die Buchstabenanzahl des Geheimtextes durch die Anzahl der vereinbarten Spalten. Dadurch weiß der Empfänger, in wie viele Zeilen er den Geheimtext in die Matrix schreiben muss. Er trägt den Text dann spaltenweise ein und liest ihn zeilenweise heraus.

Programme: transposition.html, transpositiondechiff.html, transchiffdechiff.html

Ein Angriff ist entweder über statistische Verfahren oder durch Probieren mit verschiedenen Matrizen möglich. Einem potenziellen Angreifer wird das Leben jedoch erschwert, indem man die Matrix auch nach einer vorgegebenen Permutation spaltenweise ausliest. Als Beispiel sei noch einmal der Ausgangstext K gegeben. Zusätzlich zu dem Schlüssel S wird eine Permutation P festgelegt, welche die Reihenfolge des spaltenweisen Auslesens definiert. Damit wird natürlich auch P zu einem Teil des Schlüssels.

Beispiel:

S = 5

P =35241

Somit ergibt sich der Geheimtext mit:

G = ASNFRSNSRSTCRNGCHROOIEIRTENISFUTIC TPIHIGAHW

Die kombinatorische Komplexität, also die Anzahl der möglichen Vertauschungen, um aus einem Klartext eine Chiffre zu erzeugen, liegt bei diesem Verfahren (und einer quadratischen Matrix) bei S!. Bei einer quadratischen Matrix und S=5 erhält man demnach 120 Vertauschungsoptionen, für eine Spaltenzahl von S=10 bereits 3.628.800. Bei einer Abwandlung des Verfahrens wird nicht nur das Auslesen, sondern auch das Einschreiben in die Matrix permutiert. Die kombinatorische Komplexität liegt bei der „Gemischten Zeilen- und Spalten-Transposition“ (und einer quadratischen Matrix) bei (S!)². Mit S=5 erhält man demnach 14.440 theoretische Vertauschungsoptionen, für eine Spaltenzahl von S=10 bereits 13.168.189.440.000. Je höher dieser Wert ist, desto sicherer ist das Verfahren, insbesondere für Angriffe durch „Probieren“. Eine effektive Transpositionschiffre sollte die Buchstaben des Klartextes möglichst „gut mischen“, das heißt, dass zwei aufeinanderfolgende Buchstaben eines Klartextes im Geheimtext möglichst nicht so oder in umgekehrter Reihenfolge erhalten bleiben und dass die Buchstaben ihre ursprüngliche Position möglichst weit verlassen. Dadurch werden auch Angriffe mittels statistischer Methoden erschwert.
In der Praxis werden Transpositionschiffren heute nur noch in Verbindung mit Substitutionschiffren verwendet.

zurück Gliederung vor