Kryptanalyse einer Substitution

Der folgende Geheimtext soll entschlüsselt werden:

ZVGQRZFPUYHRFFRYREUNRYGZNAHROEVTRAFQNFNYFEBGORXNAA
GRIRESNUERAQNFMOVZHFRARGRVAHANOFVPUGYVPURFYRFRAIBA
GRKGGRVYRAIREUVAQREGQVRJHEQRQNORVTRJNRUYGJRVYRVARR
EARHGRIREFPUYHRFFRYHATQRFTRURVZGRKGRFJVRQREQRAXYNE
GRKGRETVOGEBGEBGXYNEGRKGXYNEGRKG

Es wird davon ausgegangen, dass eine Substitution verwendet wurde und bekannt ist, dass der Klartext in Deutsch geschrieben wurde. Bei der Analyse wird zuerst das häufigste Zeichen im Geheimtext gesucht. In diesem Fall ist dies das 'R'. Vermutlich entspricht dies dem im Deutschen häufigsten Buchstaben 'e'. Zur besseren Unterscheidung verwende ich ab jetzt für Geheimtextzeichen große, für Klartextzeichen kleine Buchstaben. Wenn 'R' dem 'e' entspricht, müssten viele Muster aus 'R' und einem weiteren Zeichen, entsprechend 'en', und 'R' und einem anderen Zeichen, entsprechend 'er', im Geheimtext vorkommen. RE kommt 8-mal vor, RA 6-mal.

Wenn die Annahmen stimmen, sind jetzt drei Zeichen bekannt. Ob RE wahrscheinlicher 'en' oder 'er' entspricht, kann man aufgrund des relativ kurzen Geheimtextes nicht entscheiden, also muss geraten werden.

Versuchen wir es mal mit

  R = e
  A = n
  E = r

Die gefundenen Zeichen können nun im Geheimtext ersetzt werden:

ZVGQeZFPUYHeFFeYerUNeYGZNnHeOrVTenFQNFNYFrBGOeXNnn
GeIerSNUrenQNFMOVZHFeneGeVnHnNOFVPUGYVPUeFYeFenIBn
GeKGGeVYenIerUVnQerGQVeJHrQeQNOeVTeJNeUYGJeVYeVnee
rneHGeIerFPUYHeFFeYHnTQeFTeUeVZGeKGeFJVeQerQenXYNr
GeKGerTVOGrBGrBGXYNrGeKGXYNrGeKG

Weitere häufige Buchstabenpaare sind 'ei' und 'ie'. Wenn 'e' wirklich ein 'R' ist, müssen sich entsprechende Paare auch im Geheimtext finden lassen. Ein entsprechender Kandidat wäre 'RV' (6-mal) bzw. 'VR' (2-mal). Das 'V' könnte also das 'i' sein.

Eingesetzt ergibt das

ZiGQeZFPUYHeFFeYerUNeYGZNnHeOriTenFQNFNYFrBGOeXNnn
GeIerSNUrenQNFMOiZHFeneGeinHnNOFiPUGYiPUeFYeFenIBn
GeKGGeiYenIerUinQerGQieJHrQeQNOeiTeJNeUYGJeiYeinee
rneHGeIerFPUYHeFFeYHnTQeFTeUeiZGeKGeFJieQerQenXYNr
GeKGerTiOGrBGrBGXYNrGeKGXYNrGeKG

Betrachten wir jetzt den zweithäufigsten Buchstaben im Klartext, das 's'. 's' kommt häufig als 'es' vor. Gesucht ist also eine weitere häufige Kombination von 'R' und einem weiteren Zeichen, das bisher nicht erkannt wurde. 'RF' kommt 6-mal vor. Könnte 'F' dem 's' entsprechen?

Eingesetzt ergibt das

ZiGQeZsPUYHesseYerUNeYGZNnHeOriTensQNsNYsrBGOeXNnn
GeIerSNUrenQNsMOiZHseneGeinHnNOsiPUGYiPUesYesenIBn
GeKGGeiYenIerUinQerGQieJHrQeQNOeiTeJNeUYGJeiYeinee
rneHGeIersPUYHesseYHnTQesTeUeiZGeKGesJieQerQenXYNr
GeKGerTiOGrBGrBGXYNrGeKGXYNrGeKG

Jetzt kann wieder geraten werden: Im teilweise entschlüsselten Geheimtext kommt 'Yesen' vor. Das könnte 'lesen' heißen, das 'Y' also dem 'l' entsprechen.

ZiGQeZsPUlHesselerUNelGZNnHeOriTensQNsNlsrBGOeXNnn
GeIerSNUrenQNsMOiZHseneGeinHnNOsiPUGliPUeslesenIBn
GeKGGeilenIerUinQerGQieJHrQeQNOeiTeJNeUlGJeileinee
rneHGeIersPUlHesselHnTQesTeUeiZGeKGesJieQerQenXlNr
GeKGerTiOGrBGrBGXlNrGeKGXlNrGeKG

Das zwei mal vorkommende 'sPUlHessel' könnte 'schluessel' sein, entsprechend wäre 'P' = 'c', 'U' = 'h', 'H' = 'U'. Versuch macht klug, also einfach mal probieren:

ZiGQeZschluesselerhNelGZNnueOriTensQNsNlsrBGOeXNnn
GeIerSNhrenQNsMOiZuseneGeinunNOsichGlicheslesenIBn
GeKGGeilenIerhinQerGQieJurQeQNOeiTeJNehlGJeileinee
rneuGeIerschluesselunTQesTeheiZGeKGesJieQerQenXlNr
GeKGerTiOGrBGrBGXlNrGeKGXlNrGeKG

'IerschluesselunT' sieht aus wie 'verschluesselung', also ist 'I' ein 'v' und 'T' ein 'g':

ZiGQeZschluesselerhNelGZNnueOrigensQNsNlsrBGOeXNnn
GeverSNhrenQNsMOiZuseneGeinunNOsichGlicheslesenvBn
GeKGGeilenverhinQerGQieJurQeQNOeigeJNehlGJeileinee
rneuGeverschluesselungQesgeheiZGeKGesJieQerQenXlNr
GeKGergiOGrBGrBGXlNrGeKGXlNrGeKG

'verhinQerG' könnte 'verhindert' heißen, also ist das 'Q' ein 'd' und das 'G' ein 't':

ZitdeZschluesselerhNeltZNnueOrigensdNsNlsrBtOeXNnn
teverSNhrendNsMOiZuseneteinunNOsichtlicheslesenvBn
teKtteilenverhindertdieJurdedNOeigeJNehltJeileinee
rneuteverschluesselungdesgeheiZteKtesJiederdenXlNr
teKtergiOtrBtrBtXlNrteKtXlNrteKt

Markieren wir mal die bereits lesbaren Worte:

ZitdeZ schluessel erhNeltZNnueOrigensdNsNlsrBtOeXNnn
teverSNhrendNsMOiZ usenet ein unNOsichtliches lesen vBn
teKt teilen verhindert die JurdedNOeigeJNehltJeil eine e
rneute verschluesselung des geheiZteKtesJieder den XlNr
teKtergiOtrBtrBtXlNrteKtXlNrteKt

Aus dem Zusammenhang ergibt sich, dass 'geheiZteKtes' 'geheimtextes' sein muss: 'Z' = 'm', 'K' = 'x'.

mitdem schluessel erhNeltmNnueOrigensdNsNlsrBtOeXNnn
teverSNhrendNsMOim usenet ein unNOsichtliches lesen vBn
text teilen verhindert die JurdedNOeigeJNehltJeil eine e
rneute verschluesselung des geheimtextesJieder den XlNr
textergiOtrBtrBtXlNrtextXlNrtext

Erkannte Worte markieren:

mit dem schluessel erhNeltmNnueOrigensdNsNlsrBtOeXNnn
teverSNhrendNsMOim usenet ein unNOsichtliches lesen vBn
textteilen verhindert die JurdedNOeigeJNehltJeil eine e
rneute verschluesselung des geheimtextes Jieder den XlNr
text ergiOtrBtrBtXlNr text XlNr text 

'unNOsichtliches' könnte 'unabsichtliches' sein, also ist 'N' ein 'a und 'O' ein 'b':

mit dem schluessel erhaeltmanuebrigensdasalsrBtbeXann
teverSahrendasMbim usenet ein unabsichtliches lesen vBn
textteilen verhindert die JurdedabeigeJaehltJeil eine e
rneute verschluesselung des geheimtextes Jieder den Xlar
text ergibtrBtrBtXlar text Xlar text 

Erkannte Worte markieren:

mit dem schluessel erhaelt man uebrigens das als rBtbeXann
teverSahren das Mb im usenet ein unabsichtliches lesen vBn
textteilen verhindert die Jurde dabei geJaehltJeil eine e
rneute verschluesselung des geheimtextes Jieder den Xlar
text ergibt rBtrBtXlar text Xlar text 

'Xlartext' müßte 'klartext' sein, 'beXannte' sieht nach 'bekannte' aus, 'X' ist also ein 'k'.
'verSahren' soll vermutlich 'verfahren' sein, daher ist 'S' ein 'f'. Eingesetzt ergibt das

mit dem schluessel erhaelt man uebrigens das als rBtbekann
teverfahren das Mb im usenet ein unabsichtliches lesen vBn
textteilen verhindert die Jurde dabei geJaehltJeil eine e
rneute verschluesselung des geheimtextes Jieder den klar
text ergibt rBtrBt klartext klartext 

Wieder die erkannten Worte markieren:

mit dem schluessel erhaelt man uebrigens das als rBt bekann
te verfahren das Mb im usenet ein unabsichtliches lesen vBn
textteilen verhindert die Jurde dabei geJaehltJeil eine e
rneute verschluesselung des geheimtextes Jieder den klar
text ergibt rBtrBt klartext klartext 

'Jieder' heißt 'wieder', das passt auch zu 'geJaehlt' (= 'gewaehlt') und 'Jeil' (= 'weil'). 'J' entspricht also den 'w':

mit dem schluessel erhaelt man uebrigens das als rBt bekann
te verfahren das Mb im usenet ein unabsichtliches lesen vBn
textteilen verhindert die wurde dabei gewaehlt weil eine e
rneute verschluesselung des geheimtextes wieder den klar
text ergibt rBtrBt klartext klartext 

Wieder die erkannten Worte markieren:

mit dem schluessel erhaelt man uebrigens das als rBt bekann
te verfahren das Mb im usenet ein unabsichtliches lesen vBn
textteilen verhindert die wurde dabei gewaehlt weil eine e
rneute verschluesselung des geheimtextes wieder den klar
text ergibt rBtrBt klartext klartext 

'vBn' und 'rBt' lassen darauf schließen, dass das 'B' ein 'o' ist:

mit dem schluessel erhaelt man uebrigens das als rot bekann
te verfahren das Mb im usenet ein unabsichtliches lesen von 
textteilen verhindert die wurde dabei gewaehlt weil eine e
rneute verschluesselung des geheimtextes wieder den klar
text ergibt rot rot klartext klartext 

Wieder die erkannten Worte markieren:

mit dem schluessel erhaelt man uebrigens das als rot bekann
te verfahren das Mb im usenet ein unabsichtliches lesen von
textteilen verhindert die wurde dabei gewaehlt weil eine e
rneute verschluesselung des geheimtextes wieder den klar
text ergibt rot rot klartext klartext 

Es bleibt noch das 'M', das sich aus dem Zusammenhang als 'z' ergibt:

mit dem schluessel erhaelt man uebrigens das als rot bekann
te verfahren das zb im usenet ein unabsichtliches lesen von
textteilen verhindert die wurde dabei gewaehlt weil eine e
rneute verschluesselung des geheimtextes wieder den klar
text ergibt rot rot klartext klartext 

Fertig. :-)

Der Text wurde übrigens mit ROT13 'verschlüsselt', was vielen bereits aufgefallen sein wird. Ich gebe es zu: Ich hatte keine Lust, eine andere Substitution aufzuschreiben. Das Prinzip wird jedoch auch mit diesem Beispiel deutlich, sodass keine aufwändigere Substitution nötig war.

Eine Cäsar-Chiffre lässt sich auch ganz einfach durch Ausprobieren aller möglichen Vertauschungen brechen. Die dafür nötige Rechenleistung besitzt bereis seit etlichen Jahren jeder programmierbare Taschenrechner.