Dies ist eine alte Version des Dokuments!
Polyalphabetische Algorithmen
Wie wir im letzten Kapitel gesehen haben, besitzen die Monoalphabetischen Verfahren eine klare Schwachstelle: Die Häufigkeitsverteilung der Buchstaben der entsprechenden Sprache bleibt im Geheimtext erhalten, da jeder Klartextbuchstabe immer durch denselben Geheimtextbuchstaben verschlüsselt wird. Dies macht die reine Substitution zu einem unsicheren Chiffrierverfahren.
Um diese Schwachstellen auszumerzen, wurden neue Algorithmen entwickelt, bei welchen nicht immer dasselbe Geheimtextalphabet für die Verschlüsselung verwendet wird. Die Pioniere auf diesem Gebiet waren Leon Battista Alberti (um 1470) und Johannes Trithemius(1508), deren Idee wurde von Blaise de Vigenère (1523 bis 1596) zur bis heute bekannten Vigenère-Verschlüsselung weiterenwickelt.
Vigenère-Verschlüsselung
1586 veröffentlicht der französische Diplomat Blaise de Vigenère die Grundidee seiner Verschlüsselungsmethode, welche nicht ganz neu aber durch ihn sehr bekannt wurde. Es geht darum, zwischen mehreren Verschlüsselungsalphabeten hin und her zu wechseln.
Dies war der Anfang der sogenannten polyalphabetischen Verschlüsselung, hier bleiben die Buchstaben wo sie sind, aber nicht was sie sind. Was sie sind, ist immer wieder verschieden.
Grundidee der Vigenèreverschlüsselung ist:
Sender und Empfänger einigen sich auf ein Schlüsselwort. Beispielsweise „VENUS“. Dieses wird über oder unter die Nachricht geschrieben.
| V | E | N | U | S | V | E | N | U | S | V | E | N | U | S | V |
| p | o | l | y | a | l | p | h | a | b | e | t | i | s | c | h |
Über jeden Buchstaben der Nachricht wird ein Buchstabe des Schlüsselwortes geschrieben. Das Schlüsselwort wird dabei ständig wiederholt.
Danach muss das Vigènere-Quadrat genutzt werden, und zwar wie folgt:
- Man nimmt jeweils einen Buchstaben der Nachricht und sucht ihn in der ersten Zeile des Vigenère-Quadrates (horizontal).
- Von da aus geht man nach unten (vertikal) bis zu dem Alphabet, das ganz links mit dem entsprechenden Buchstaben des Schlüsselwortes beginnt.
- Der Buchstabe, den man dort findet, ist der verschlüsselte Buchstabe.
Dieses Vorgehen muss für jeden Buchstaben wiederholt werden. Die Chiffre sieht dann wie folgt aus:
| V | E | N | U | S | V | E | N | U | S | V | E | N | U | S | V |
| p | o | l | y | a | l | p | h | a | b | e | t | i | s | c | h |
| K | S | Y | S | S | G | T | U | U | T | Z | X | V | M | U | C |
Den Vorteil der polyalphabetischen Verschlüsselung erkennt man auf Anhieb, denn gleiche Buchstaben werden mit verschiedenen Geheimtextbuchstaben ersetzt und dadurch wird die Häufigkeitsverteilung der Buchstaben durch dieses stete Wechseln des Geheimalphabets extrem verwischt. Dadurch steht ein Kryptoanalytiker (Eve) vor sehr viel grösseren Herausforderungen, den Geheimtext zu knacken.
Oft wird durch eine Vigenère-Verschlüsselung quasi eine Gleichverteilung der Buchstabenhäufigkeit erreicht.
Aufgabe - Vigenère
Wählen Sie ein Schlüsselwort (gemeinsam mit Ihrem Lernpartner bzw. Ihrer Lernpartnerin). Verschlüsseln Sie anschliessend einen kurzen Satz Ihrer Wahl, diesen Satz muss dann Ihre Lernpartnerin bzw. Ihr Lernpartner entschlüsseln. Somit ist der Inhalt des Geheimtextes nicht im Klartext zu teilen!
Kryptoanalyse: Knacken polyalphabetische Texte
Lange Zeit galten die polyalphabetisch verschlüsselten Texte als „unknackbar“, so wurde z.B. die Vigenère-Verschlüsselung auch „le code indéchiffrable“ genannt. In der Tat gestaltet sich die Suche nach einer Methode zum brechen eines polyalphabetischen Textes als sehr schwierig. Ein und derselbe Geheimbuchstabe kann für verschiedene Klarbuchstaben stehen. Auf den ersten Blick hat man kaum einen Anhaltspunkt, welcher zum knacken Verwendung finden könnte. Doch Charles Babbage verblüffte 1846 die Experten, indem es ihm gelang, polyalphabetische Texte durch Phantasie, Intuition und mit endloser Geduld bei der Suche nach wahrscheinlichen Worten im Text, zu entschlüsseln.
Zehn Jahre nach Babbage war es F. W .Kasiski, der eine systematische Beschreibung für die Entschlüsselung polyalphabetisch chiffrierter Texte gab. Die beiden hatten unabhängig voneinander die gleiche Idee. Sie hielen sich an die einzige Konstante, sozusagen den einzigen Strohhalm, an welchen man sich als Codeknacker halten kann: die Länge des Schlüsselwortes.
Es wird nun eine von zwei Methoden zur Auffindung der Schlüssellänge dargestellt werden:
- die Parallelstellensuche nach Kasiski
- die sogenannte Koinzidenzindexmethode nach Friedman (wird nicht vorgestellt, ist aber äusserst spannend
).
Parallelstellensuche nach Kasiski
Kasiski (und Babbage schon früher) hatten gemerkt, dass man gegebenenfalls die Länge des Schlüsselwortes herausfinden kann, wenn man im Geheimtext Stellen mit gleichen Buchstabenfolgen aufsucht. Solche Parallelstellen können durch gleiche Buchstabenfolgen im Klartext entstehen, die durch dieselben Schlüsselbuchstaben chiffriert wurden. Natürlich besteht auch die Möglichkeit, dass diese Stellen zufällig entstehen.
Um den Kasiski-Test (oder eigentlich Babbage-Test ;) ) und dessen zündende Idee zu erläutern, schauen wir uns das ganze an dem folgenden Beispiel an:
Die Schatten werden länger, Der graue, grame Grillenfänger Streicht um das Haus. Der Tag ist aus. Die Ängste kommen näher, Sie stell‘n sich größer, krall‘n sich zäher In der Seele fest, In deinem Traumgeäst. Manchmal ist es bis zum anderen Ufer der Nacht Wie ein lichtloser Tunnel, ein nicht enden wollender Schacht. Ich bring dich durch die Nacht, Ich bring dich durch die raue See Ich bring dich durch die Nacht, Ich bringe dich von Luv nach Lee. Ich bin dein Lotse, ich bin dein Mann, Bin deine Schwester, lehn dich an, Ich bin der Freund, der mit dir wacht, Ich bring dich durch die Nacht. Alles erscheint dir schwerer, Bedrohlicher und hoffnungsleerer. Mit der Dunkelheit Kommen aus dunkler Zeit Ferne Erinnerungen, Die Nacht wispert mit tausend Zungen: "Sie alle sind aus, Du bist allein zuhaus!" Mit deiner stummen Verzweiflung und dem Knistern im Parkett Und als einzigem Trost das warme Licht des Radios an deinem Bett. Ich bring dich durch die Nacht... Laß los, versuch zu schlafen. Ich bring dich sicher in den Hafen. Dir kann nichts gescheh‘n, Wolfsmann und böse Feen Sind nur ein Blätterreigen Vorm Fenster, der Wind in den Zweigen Im Kastanienbaum, Ein böser Traum, Der‘s nicht wagt, wiederzukommen, bis der neue Tag beginnt. Laß los, ich halt dich fest, ich kenn den Weg aus dem Labyrinth. Ich bring dich durch die Nacht...
Dieser Klartext sind die ersten Zeilen des Liedtexts von Reinhard Mey, Ich bring’ dich durch die Nacht
Die ersten Zeilen verschlüsselt mit Vigenère, ohne Leerschläge, nur in Kleinbuchstaben und ohne Umlaute (ä, ö, ü…)
omlecunexlzwreoiuxarariypeetcebqgenxindiyyprmmeatpvzfrrvnlagmqndlhgsqrcxhsifglyzpirnprnetrxzqtqnanplldsvrdxlxlaftgosrbrdwldkenwpueipukelteevyhldsrrwimqsgvyhlunrzevhgmtrlizfmnanltmlvfeiznifmfqhzdreprbreeqpvumcughmlqiaytgoflbfpvagnarwipznvpsxlzdrahssxeaqpvzohnpsxpohoetrnpipuoyyohqvprhohgvnlidiatomjtdhenlkueenfizqevpsfyuntqtgopuepshpqnnpsxpohoetrnqdvpszvzlhiyejtlrrtgoniaqpmuxogfpmjtbvaoipzmnayfpzdrvyizohjrdxldlruyhpohnatgoniaqpvmdehaohldmvgomyiapuemjtbevykkucuqfvjtdvryejttnywizqrfpsipztqvcwjtwrepviqdebsppohrefrktossyyussyrpvldmvgoiypuaxppoqigxzqtqnnhdhbzkyrcdlutsrcrlqrvayiygntryhpqnnpsxduscrcxtutgnfwlzdmhyklz
Schritt 1: der Kasiski-Test und die Bestimmung der Länge des Schlüsselwortes
Nehmen wird als Beispiel den oben verschlüsselten Liedtext von Reinhard Mey. Er wurde mit dem Schlüsselwort lehmann verschlüsselt.
Es gibt einige Textfragmente, sogenannte Parallelstellen, die mehrmals vorkommen. In unserem überschaubaren Beispiel haben wir auch Parallelstellen der Länge 2 gesucht. Üblicherweise sind nur Stellen mit der Länge 3 oder mehr aufzusuchen, da Stellen mit der Länge 2 sehr oft zufällig zustande kommen. So wäre es durchaus möglich, dass das zweimalige go durch verschiedene Buchstabenfolgen im Klartext mit verschiedenen Schlüsselteilen erzeugt wurde.
Es ist aber auch denkbar, dass es durch gleiche Folgen mit demselben Teil des Schlüssels chiffriert wurde (in diesem Fall war es CH, welches durch eh chiffriert wurde). Dies wäre dann ein sehr guter Hinweis für die Kryptoanalytikerin Eve.
Bei dem sehr langen Textfragment ipumvpzgqvnlkgrpuoml ist es extrem unwahrscheinlich, dass es zufällig mit unterschiedlichen Text- resp. Schlüsselteilen entstand. Durch solche Funde kommen wird dem Knacken der Chiffrierung ein ganzes Stück näher!
Der Abstand zwischen den Parallelstellen kann bestimmt werden. Sind diese tatsächlich durch das Zusammentreffen von identischen Text- und Schlüsselstellen entstanden, so muss der Abstand zwischen den Parallelstellen natürlich ein Vielfaches des Schlüssels sein.
Für unsere Beispielzeile ergeben sich folgende Abstände der Parallelstellen:
- zwischen dem ersten „go“ und dem nächsten “go“: 7 Buchstaben an Abstand, (7 hat nur die Faktoren 7 und 1)
- zwischen dem ersten „ipum…“ und dem nächsten “ipum…“: 28 Buchstaben an Abstand, (28 hat die Faktoren 1,2,4,7,14,28)
- zwischen dem ersten„ipu“ und dem nächsten “ipu“: 35 Buchstaben an Abstand,(35 hat die Faktoren 1,5,7,35)
- zwischen dem zweiten „ipu“ und dem dritten “ipu“ : 63 Buchstaben an Abstand, (63 hat die Faktoren 1,3,7,9,21,63)
Damit das Schlüsselwort für all diese Parallelstellen von der Länge her funktioniert, sollte die Länge des Schlüssels als grösster Faktor in all den Zahlen 7, 28, 35 und 63 vorkommen. Für unser (durch die vielen Wiederholungen etwas unrealistisches) Beispiel deutet also alles auf eine Schlüssellänge von 7 hin, was auch stimmt („lehmann“).
Bemerkungen:
- Die Parallelstellensuche ist extrem mühsam, da man in penibler Kleinstarbeit zunächst die Parallelstellen aufsuchen muss, um danach die Abstände auszählen zu können.
- Es können „falsche“ Parallelstellen (d.h. Parallelstellen, die zufällig zustande kommen) die Auswertung und die Suche nach der Länge des Schlüsselwortes stören. Der Zufall kann somit einen Streich spielen!
- Die Schlüssellänge ist nicht berechnet, es gibt nur starke Indizien, dass die Schlüsselwortlänge gefunden ist. Es kann aber auch sein, dass das Schlüsselwort ein vielfaches dieser Länge besitzt.
- Die meisten Texte haben nicht so viele Wiederholungen wie diese ersten Liedtextzeilen und es wird schwieriger, passende Wiederholungen zu finden.
Schritt 2: Knacken des mit Vigenère chiffrierten Textes
Falls nun die Länge des Schlüsselwortes bestimmt werden konnte, dann ist die Bestimmung des Schlüsselwortes, das Herausfinden des Schlüssels und somit das dechiffrieren der Nachricht, nicht mehr schwierig. Dazu ist die statistische Verteilung der Buchstaben und die Sprache - des Textes und des Schlüsselwortes nötig. Ein mögliches vorgehen wird im folgenden erklärt.
Idee zum Knacken
Der chiffrierte Text wird in Pakete der Schlüsselwortlänge aufgeteilt. Ist jeder erste Buchstabe eines Paketes mit dem gleichen Buchstaben des Schlüsselworts chiffriert worden.
omlecun | exlzwre | oiuxara | riypeet | cebqgen | xindiyy | prmmeat | pvzfrrv |
nlagmqn | dlhgsqr | cxhsifg | lyzpirn | prnetrx | zqtqnan | plldsvr | dxlxlaf |
tgosrbr | dwldken | wpueipu | kelteev | yhldsrr | wimqsgv | yhlunrz | evhgmtr |
lizfmna | nltmlvf | eiznifm | fqhzdre | prbreeq | pvumcug | hmlqiay | tgoflbf |
pvagnar | wipznvp | sxlzdra | hssxeaq | pvzohnp | sxpohoe | trnpipu | oyyohqv |
prhohgv | nlidiat | omjtdhe | nlkueen | fizqevp | sfyuntq | tgopuep | shpqnnp |
sxpohoe | trnqdvp | szvzlhi | yejtlrr | tgoniaq | pmuxogf | pmjtbva | oipzmna |
yfpzdrv | yizohjr | dxldlru | yhpohna | tgoniaq | pvmdeha | ohldmvg | omyiapu |
emjtbev | ykkucuq | fvjtdvr | yejttny | wizqrfp | sipztqv | cwjtwre | pviqdeb |
sppohre | frktoss | yyussyr | pvldmvg | oiypuax | ppoqigx | zqtqnnh | dhbzkyr |
cdlutsr | crlqrva | yiygntr | yhpqnnp | sxduscr | cxtutgn | fwlzdmh | yklz |
Die ersten Buchstabe (später dann alle zweiten Buchstaben usw.) werden gezählt. Die Häufigkeitsverteilung 1 der Buchstaben wird zu hilfe genommen. Dadurch kann als starke Vermutung der häufigste erste Buchstabe (zweite Buchstabe…) dem e zuzuordnen etc.
In diesem Beispiel sind die drei häufigsten Buchstaben p gefolgt von y gefolgt von o. Daher könnte einer der drei Buchstaben ein chiffriertes e sein. Wir müssen bedenken, dass das gewählte Beispiel im Klartext (wir kennen ja die Lösung, den Liedtext), viele Wiederholungen beinhaltet, was die Verteilung verändern kann.
Vermutung: p, y oder o könnte im Klartext das e sein.
Hat man die häufigsten Buchstaben gefunden, dann muss das Vigenère-Quadrat her. In der e-Spalte können jetzt die häufigsten Buchstaben p und y gesucht werden. Das Schlüsselwort könnte als erster Buchstabe somit ein l oder ein u haben.
Dann wird für den zweiten Buchstaben jedes Bündels das gleiche gemacht. Die drei häufgsten Buchstaben an zweiter Stelle jedes Bündels wären i und etwas weniger dann x. Wird nun in der e-Spalte nachgeschaut, dann ergibt sich für den zweiten Buchstaben des Schlüsselworts entweder ein e oder ein t.
Auf diese kann nun das gesamte Schlüsselwort herausgeknobelt werden. Sicher ist schlussendlich immer eine gute Portion Kreativität und Knobelei dabei ;) .
Hier das genannte Vorgehen in einem Erklärvideo:
Vigenère Knacken - Schritt 2 - Aufgabe
Gegeben ist die folgende Geheimchiffre mit Vigenère verschlüsselt (Schlüssellänge 5).
| EYRYC | FWLJH | FHSIU | BHMJO | UCSEG |
| TNEER | FLJLV | SXMVY | SSTKC | MIKYS |
| JHZVB | FXMXK | PMMVW | OZSIA | FCRVF |
| TNERH | MCGYS | OVYVF | PNEVH | JAOVW |
| UUYJU | FOISH | XOVUS | FMKRP | TWLCI |
| FMWVZ | TYOIS | UUIIS | ECIZV | SVXVF |
| PCOUC | HYRGO | MUWKV | BNXVB | VHHWI |
| FLMYF | FNEVH | JAOVW | ULYER | AYLER |
| VEEKS | OJVFA | PHEKP | FEEDS | OYWNI |
| SXIUO | GOIIU | FMSIU | UXEJG | TCINO |
| FBVVB | ECLIS | SUVSS | JNRZO | INKVG |
| UIIIH | XOVUS | OMMVR | VLJKS | OCLIS |
| COIIC | TUFVF | BOGYB | JWLKJ | FLPRG |
| TYRSS | WIVJW | FYMES | HYWKS | MFXVO |
| VZKRP | FAICC | FMXYO | UNIE | |
Vigenère Knacken - Schritt 1 - Aufgabe
Gegeben ist die folgende Geheimchiffre mit Vigenère verschlüsselt und einem kurzen Schlüssel (in deutscher Sprache)
SEHYQWLVNMOIEFSCKEXSQRFYRKDQCSDNSWGXZGBSXLVFHWFYMHXVRGHDRFADNLREDVKIHRMYICAOEDODXKHYBUVRMNXUILMKLGBUOIFFTOWJNDLCMWJOSYHCOJVUSSXRUYSFGURCZWNQKWHCDMYMFDXZWWGORYMROEQCMSJXYQSEYHCWRGBSOVMHDXIYHCQRRACEIGBCKJWNDNKPCDCZWNMOLROGBDSLFOEWOMNUMYRDRHNOBRIMHNVRNHXMSHLEIXYMZVXLZCTLFTOTLNDBZWNKOZGBSKEKYRZRRHSRVYNDCKIBSSEQOQDVRYHXKVYEPVRPNXSYHCOJVUSSXRUYSFGURCZWGHDUILBRZPYMSJGBDXRYMROEQCMSJXYQSEEHSYEMUTBIIDNVRRIFEVVUZEWHYLZISAQKDQCBRWVYTODMWGNRWMLEIXYMJLQTTQBSGLDJEASZVXLZCTLFTOTLNDBJMYVSJWYMYTLHHMYXADXRYQZCRYZRSVDOJYDQNHMYFCMCTLIMXVVPNOJZIQNVQLZDYEORSEHYQKCXMSKUXPNXDYLSOEJUDRIXYHXJGBVKIDYRKLXIRWZXADDFIHSOEWWGOZFYMFFVGHDRVVDSKIHCOUIMDSUKYMYVWMHCTLYMNVTUQDVQYMDJJODBRYMVKVVNHQVEHFOCIADXYICSOEIXZCKICFOEEOREEHVDCGVYBRVRMHMYQCSWZXUQLVMNDXUIHCOJFOMNVWULDJJODBSEOSOEYHCVFKCRDZOHZMYICMOIOOQJVRXHCBYMRSFRJKKKDCDBVRMHOUMYBRZPYMSJGBDPCEAFOLRXCSVWWGGVMTDBWEBMOMSLCODVUSRRYMTXUXYRDVRMNQCICBRFFXHOJICMQLXYRLZPXZLXMVSNZIWGSCIHHCTLYZEJWYMWZRCRDVVCMKEXIMSRYLQOASFZXFKODBRYHCLLRXDCIENHQEETHYTEMRSJZIQNVQLZDYEORSEQOQDVRMSKUXMBRIICAOIFLTXFFUMNZYHCCKEXSZIEYRSUIHSSETYSBRWWGVLIWGDVVMHXUPCMUJEOENVVNQOGTYYEJIBDXGSFHJZWNDXZRTHFZPYQUCICCEEKVKSTOYMGRGBRKDYGRSTLXHOWEBQOIHYQVZQITCZRYMCVMYMKCPYRKDXPNXUILLSCMNZOITIKSQICRKXXYHXGSFHJVMVDKDXYQNZIVDSUIHGKLTNCKIWNDVCILRSEHHNMYRCBRKMHRSTLNDSEQOQDEILJYDQNYEDVUSRRYMTXUFFHMBXODLVVLZCTLNZEWHCDMYMFDXZWWGOWEBMOVVHHWDXMHOBYLYSEHCDRRRXTXUKYGDUMYSBVTJDRFGBYEIZYQGRPNTXXIMVSIHHNMYQYGBVQJEKVRADQVFYMSEHCDCVQDZRIWUFDUILLEIXHDBJXUCDJGBQOZFYQLIYHNLRRXHWVLLVSCPYQNRDOMSTLNUOIVUSOEZIQJNICIKYVYMRRXNDXNMLCSVTLHXQIMRSEZIMDYECKKEHYHXXIFZNVRYRQVLYCKIYGYEQICFOEHURCVWHNMYZCDVJGBNOEILDCKEYCDVKCADRPMAOIRMZQKFLTXFFUMNZYHCCTLGTXQIFS
- Finden Sie die Parallelstellen und erstellen Sie wie im Beispiel oben eine Auflistung davon, zählen Sie die Abstände und erreichnen Sie die Faktoren. Schliessen Sie so - mit etwas Glück - auf die Länge des Schlüsselwortes.
- Knacken Sie den chiffrierten Text!
Lösung
- gf2/kryptoteil3.1711096074.txt.gz
- Zuletzt geändert: 2024/03/22 09:27
- von lehmannr