Brechen von Transpositions-Chiffren

Nachdem man die Art der Chiffre bestimmt hat und sicher ist, dass es sich um eine Transpositions-Chiffre handelt, empfiehlt sich folgendes, weiteres Vorgehen.

Brute-Force-Check der einfachen Transpositions-Chiffren

Es gibt zahlreiche Transpositions-Chiffren mit unterschiedlichen Algorihtmen und mit unterschiedlicher Sicherheit. Von einfach wie Skytale bis schwierig wie Doppelter Spaltentausch.

Die einfachen Transpositions-Chiffren sind die, die sich durch Brute-Force leicht überprüfen lassen. Diese sollten zuerst ausprobiert werden. Vielleicht ist die Chiffre damit schon geknackt und weitere Arbeit kann entfallen.

Dabei sollte man bei den Algorithmen beginnen, die den geringsten Aufwand erfordern und dann der Reihenfolge der Schwierigkeit / des Aufwandes folgen.

Skytale knacken

Chiffrat: EEUHJEASIEEEBNWNSNDDSAKSDEEARLEARRHEESSMSIIMHAINNAANEMEETNNASDTLULSCEIR Da eine Skytale nur eine bestimmte Schrittweite aufweisen kann, ist es ein einfaches, diese mittels Computer durchzurechnen. In der Ergebnismenge 01: EEUHJEASIEEEBNWNSNDDSAKSDEEARLEARRHEESSMSIIMHAINNAANEMEETNNASDTLULSCEIR 02: EEESUSHMJSEIAISMIHEAEIENBNNAWANNSENMDEDESTANKNSADSEDETALRULLESACRERIHRE 03: EDNEEAUEAHANJREELMAEESAEIRTERNEHNEEABESNSDWSTNMLSSUNILDISDMCSHEAAIKIRSN 04: EDEEEDSEUSSTHAMNJKSNESIAADISSEMDIEHTEAALERIUELNLBENSNAACWRAENRNISHERNEM 05: ENLMNESEHNUNAAAHDRISJDRNDESHNTAAEALSKEAUISSNLEDSESEEMMCEESEEBAIEINRITRW 06: EBDENSENESADUWESATHNAMNLJSRSEUENLIMLADEIESSDAMECISRHTEEARANIEKHINRESENA 07: EEAAINDEBKRIETUNSRMMLHWDHHEUJNEEAELESEEITSANASNNCSDRSNNEIDLMAAIESESASRE 08: EEDAEAELEEDRSIEUUESLSNTLHBAEMNNSJNKASANCEWSRIAAEANDRINSISSEHMEDRINEEHMT 09: EISDRSNTUEENERIANLUEDEHIANSHEDAEMNACJBSREHESEENALSAMDIAWKESIETRSNSAMNEL 10: EINKLEMANUEESSESHNNLUENDASAEASHEDERMIMSCJBDERSNEDEENSAHINETIAWAREIATLRS 11: ESWAREINMALEINKLEINESSUESSESMAEDCHENDASHATTEJEDERMANNLIEBDERSIENURANSAH 12: EABDDEEINESSESNDEASMAEDCUIWSERSHATTEHENAARMANNLIJESKRHSIENUREENSLEINMAL 13: EABDDEEIINTDSESNDEASINENTCUIWSERSMNMNLEHENAARMHAEAUIJESKRHSAAESLREENSLE 14: EAESAEAEIINTDSESBNKARSINENTCUINDSRRSMNMNLEHEWDDLHMHAEAUIJENSEEESAAESLRE 15: EEENSEEESAAEALCEAESAEAEIINTSUEUSBNKARSINENDLIHINDSRRSMNMNTSRJEWDDLHMHAE 16: EEENSEEEMMNNEALCEAESAEAESHNETSUEUSBNKARSIAAMNDLIHINDSRRSIIAENTSRJEWDDLH 17: EEENDSAAEMMNNEALCEAESSDRRESHNETSUEUSBNAELRSIAAMNDLIHINDKEEHSIIAENTSRJEW 18: EJIBSSDRRESHNETSUEEEENNAELRSIAAMNDLIUAEWDKEEHSIIAENTSRHSENDSAAEMMNNEALC 19: EJIBSSDRRESHNETATLEEEENNAELRSIAAMNSLSIUAEWDKEEHSIIAENDUCRHSENDSAAEMMNNE 20: EJIBSSDRRESHNAMTATLEEEENNAELRSIANNENSLSIUAEWDKEEHSIIAEENDUCRHSENDSAAEMM fällt die Zeile 11 sofort auf, da sie als einzige einen lesbaren Text enthält.

Jägerzaun knacken

Chiffrat: EMESCARBUSNALIESDHHTEMEDNRWILKNUEEESTDAIEEAHAEENESSANAEENLRINARISMDJNSS Auch die Jägerzaun-Chiffre kann nur eine bestimmte Schrittweite (Wechsel der Richtung nach n Zeichen) aufweisen. Große Schrittweiten werden schnell unhandlich und so bietet sich hier ein Brute-Force mittels Computer an. In der Ergebnismenge ZigZag fuer Tiefe 2: -------------------------------------------------- E M E S C A R B U S N A L I E S D H H T E M E D N R W I L K N U E E E S T D A I E E A H A E E N E S S A N A E E N L R I N A R I S M D J N S S ZigZag fuer Tiefe 3: -------------------------------------------------- E M E S C A R B U S N A L I E S D H H T E M E D N R W I L K N U E E E S T D A I E E A H A E E N E S S A N A E E N L R I N A R I S M D J N S S ZigZag fuer Tiefe 4: -------------------------------------------------- E M E S C A R B U S N A L I E S D H H T E M E D N R W I L K N U E E E S T D A I E E A H A E E N E S S A N A E E N L R I N A R I S M D J N S S ZigZag fuer Tiefe 5: -------------------------------------------------- E M E S C A R B U S N A L I E S D H H T E M E D N R W I L K N U E E E S T D A I E E A H A E E N E S S A N A E E N L R I N A R I S M D J N S S ZigZag fuer Tiefe 6: -------------------------------------------------- E M E S C A R B U S N A L I E S D H H T E M E D N R W I L K N U E E E S T D A I E E A H A E E N E S S A N A E E N L R I N A R I S M D J N S S ZigZag fuer Tiefe 7: -------------------------------------------------- E M E S C A R B U S N A L I E S D H H T E M E D N R W I L K N U E E E S T D A I E E A H A E E N E S S A N A E E N L R I N A R I S M D J N S S ... fällt der Eintrag 5 auf, der als einziger einen lesbaren Text enthält.

Andere Transpositions-Chiffren

Ein Angriffspunkt kann die Länge des Chiffrats und auffallend häufig vorkommende, eigentlich seltene Zeichen (wie Q, J, X) sein, die als Füllzeichen fungieren.

Vollständige Spaltentransposition (Complete columnar transposition)

Ist die Chiffrat-Länge eine Quadratzahl (4*4=16, 5*5=25, 6*6=36, 7*7=49, 8*8=64...) kann das daher kommen, dass als Grundlage zum Eintragen / Auslesen ein Quadrat dient. Analoges gilt für "Rechteck"-Zahlen (3*4=12, 4*5=20, 4*6=24, 5*6=30, 7*6=42, 7*8=56...).

Da der gewollt zu übertragene Text meistens nicht genau in die vorgeschriebene Anzahl Felder passt, muss der Text mit Zeichen aufgefüllt werden, damit bei der Transposition keine Zeichen verloren gehen oder ungewollt verschoben werden. Oft wird es sich einfach gemacht und dasselbe seltene Zeichen, bspw. das X dafür gebraucht. Sind mehrere Lücken aufzufüllen, so stehen mehrere X im verschlüsselten Klartext hintereinander.

Wenn im Chiffrat bspw. 5 X verstreut durch den Text vorkommen, haben diese mit guter Wahrscheinlichkeit einmal am Ende des Klartextes gestanden. So lässt sich auf das Muster schließen, wie die Zeichen die Position gewechselt haben.

Beispiel:

Chiffrat: XTNNBTXAEEBAXRDHARXRRCNENEUEOPEVWRIO Auffallend sind die 4 X und die Chiffratlänge von 36. Das lässt auf ein 6*6 Raster mit 4 X am Ende schließen. Zuerst sollten wir das Chiffrat in eine Matrix von 6 * 6 schreiben und zwar spaltenweise von oben nach unten. X X X X N E T A R R E V N E D R U W N E H C E R B B A N O I T A R E P O Nun sehen wir, das die erste Zeile mit 4 X beginnt. Da das XXXX wohl das Ende markiert, müssen die Zeilen also rückwärts von unten nach oben und die 1. Spalte im Chiffrat als letztes gelesen werden. Schon ist der Klartext ersichtlich: "Operation abbrechen. Wurden verraten."

Es gibt viele beliebte Varianten, um eine Route durch ein Klartext-Raster zu nehmen und den Geheimtext anhand dieser Route herauszuschreiben.

Aber es können auch andere geometrische Formen als das Rechteck benutzt werden, z. B. Dreiecke oder Trapeze. Diese können ebenfalls oft an der Chiffratlänge erkannt werden. Dreiecke haben eine Länge von 1+2+3+4=10, +5=15, +6=21, +7=28, +8=36, +9=45, +10=55 usw., Trapeze starten mit einer beliebigen Breite und werden dann stetig breiter. Trapeze und Dreiecke sind aber eher unhandlich und haben den Nachteil, das jede neue Zeile noch länger als die letzte ist, das Muster nicht gänzlich gefüllt werden kann, und dadurch überproportional viele Füllzeichen benötigt werden.

Meistens werden wir es also mit Rechtecken zu tun haben. Oft wird aber nicht anhand einer einfachen Route abgelesen, sondern horizontal niedergeschriebene Zeichen werden vertikal wieder ausgelesen, wobei dies in einer bestimmten Reihenfolge der Spalten geschieht. Diese Art Transposition nennt sich Spaltentausch-Chiffre.

Unvollständige Spaltentransposition (Incomplete columnar transposition)

Die Spaltentausch-Chiffre kommt aber auch ohne Füllzeichen aus, wenn durch einen Schlüssel festgelegt ist, in welcher Reihenfolge auszulesen ist. Die Chiffratlänge ist also diesmal kein Anhaltspunkt für die Rechteckgröße. Der Umstand, dass die Spalten ohne Füllzeichen hintereinander weggeschrieben sind, macht die Dechiffrierung schwierig, weil man nicht weiß, bei welcher Spalte zuerst niedergeschrieben wurde und ob dies die Klartext-Erste ist oder nicht. Die Trennung des Chiffrats in Spalten fällt deswegen schwer, weil die Spaltenlänge unklar ist.

Chiffrat (Länge 32): encrroirwvetbnntabeearahdrpoeuen Bei einer Schlüssellänge von 5 wäre die Matrix 5*7=35. Minus 32 macht 3 Füllzeichen. Bei einer Schlüssellänge von 6 wäre die Matrix 6*6=36. Macht 4 Leerstellen (ohne Füllzeichen). Also 2 Spalten mit 6 Zeichen und 4 Spalten mit 5 Zeichen. Die Spalten könnten also verteilt sein: 6 6 5 5 5 5 encrro irwvet bnnta beear ahdrp oeuen 6 5 6 5 5 5 encrro irwve tbnnta beear ahdrp oeuen 6 5 5 6 5 5 encrro irwve tbnnt abeear ahdrp oeuen 6 5 5 5 6 5 encrro irwve tbnnt abeea rahdrp oeuen 6 5 5 5 5 6 encrro irwve tbnnt abeea rahdr poeuen 5 6 6 5 5 5 encrr oirwve tbnnta beear ahdrp oeuen 5 6 5 6 5 5 encrr oirwve tbnnt abeear ahdrp oeuen 5 6 5 5 6 5 encrr oirwve tbnnt abeea rahdrp oeuen 5 6 5 5 5 6 encrr oirwve tbnnt abeea rahdr poeuen 5 5 6 6 5 5 encrr oirwv etbnnt abeear ahdrp oeuen 5 5 6 5 6 5 encrr oirwv etbnnt abeea rahdrp oeuen 5 5 6 5 5 6 encrr oirwv etbnnt abeea rahdr poeuen 5 5 5 6 6 5 encrr oirwv etbnnt abeear ahdrp oeuen 5 5 5 6 5 6 encrr oirwv etbnn tabeea rahdr poeuen 5 5 5 5 6 6 encrr oirwv etbnn tabee arahdr poeuen Die fetten Buchstaben oben sind diejenigen, die in jeder Permutation vorkommen. Bringen wir sie in eine Tabelle: 1 2 3 4 5 6 e t a A o t a r p B e i b b a o C n r n e h e c w n e d u r v r e r n o e t a p t a r Falls die Schlüssellänge 6 ist, sollte sich in dem Rechteck von links nach rechts der Klartext ablesen lassen, wenn immer im selben Muster zwischen den Spalten hin- und hergesprungen wird. Zur Unterstützung kann man sich passende Anagramme für das Chiffrat erzeugen, welche man anschließend auf Gültigkeit untersucht. Da große Anagramme sehr schnell zu viele Möglichkeiten bieten, sollte man sich nur auf die erste (oben fette) Zeile zuzüglich der optionalen (darüberstehenden, nicht fetten) Buchstaben beschränken (ABC). etaotarpeibbao Stellen wir nach dem enthaltenen Anagramm OPER (das O aus Spalte 2, damit das P aus Spalte 6 noch verwendet werden kann) um: 2 6 1 5 3 4 a e t o p r t a i o e a b b r e n h n e w u c d n e v e r r n r e o p t a t a r Wie können wir OPER erweitern? Sinnvoll erscheinen OPERat(ion), OPERet(te) OPERbe(wachen etc.). Wir stellen nach Ersterem um: 2 6 1 5 4 3 a t e o p r a t i o e a b b r e n h e n w u c d e n v e r r n r e o p a t t r a Wenn wir nun die dritte Spalte von links hinaufrücken, können wir den Klartext bereits gut erkennen: "Operation abbrechen. Wurden verraten." 2 6 1 5 4 3 a t e o p e r a t i o n a b b r e c h e n w u r d e n v e r r n o e p a t t r a

Allgemeine Tipps zur Kryptoanalyse

Da durch Transpositions-Chiffren die Buchstaben durcheinandergewürfelt werden, gilt es die richtigen Buchstaben zusammenfinden. Zuerst einzelne Buchstabenpaare, dann ganze Worte.

Ein Beispiel dafür ist das Füllzeichen (häufig X oder Q) aus dem obigen Absatz "Vollständige Spaltentransposition".

Aber auch die Sprache selbst hat bestimmte Eigenschaften, die man kennen sollte, und nach denen im Chiffrat Ausschau gehalten werden sollte. Diese sind in der Deutschen Sprache: Hat man so zusammenhängende Buchstaben - und damit die Verschiebung - gefunden, versucht man im nächsten Schritt, mit anderen von der Position in Frage kommenden Buchstaben ein neues Wort, ein Anagramm zu bilden.

Dabei kommt es natürlich wie immer auf den Kontext und welche Wörter man im Klartext vermuten würde. Je nachdem, ob die Nachricht von oder an einen Agenten, Geocacher, Soldaten, Diplomaten, Kriminellen, etc. ging, empfiehlt es sich, nach anderen Wörtern zu suchen.

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Außerdem steht ein Kryptoanalyse-Tool (Solver) zum manuellen Brechen von Transpostions-Chiffren zur Verfügung, falls Sie den Schlüssel nicht wissen.



Quellen, Literaturverweise und weiterführende Links