[WS] Decodieren von einfachen Geheimtexten

Neue Frage »

Bert Auf diesen Beitrag antworten »
[WS] Decodieren von einfachen Geheimtexten

1. Vorwort

2. Bemerkungen zur Textanalyse


3. Werkzeug


4. Werkstatt

5. Zum Ausprobieren




________________________________
Fragen zu diesem Workshop können hier gestellt werden: Fragen zum WS: Decodieren von einfachen Geheimtexten.
Bert Auf diesen Beitrag antworten »
Vorwort
1. Vorwort

Mit diesem Workshop wende ich mich an Kinder, mathematische Laien und interessierte Rätsel-Knacker, die Spaß am Decodieren von einfachen Geheimtexten haben. Ich werde keine Theorien, Formeln oder wissenschaftliche Grundlagen präsentieren, vielmehr möchte ich euch vermitteln, wie man Geheimtexte ohne besondere mathematische Kenntnisse anschauen kann, so daß sie euch (manchmal) ihr Geheimnis preisgeben.
Zur Datensicherheit: Ich habe nicht vor, in fremden Geheimtexten zu schnüffeln, und werde es auch nicht tun! Wie gut/schlecht jemand seine Daten sichert, ist seine Sache, aber ich werde mich nicht daran beteiligen, diese Sicherheit zu schwächen, und ich werde auch nicht dafür mein Wissen mißbrauchen lassen. Wer fremde Geheimtexte decodieren will, muß es schon selber tun. Das, was ich hier schreibe, ist nur eine kleine Hilfe zum Spaßrätseln.
 
 
Bert Auf diesen Beitrag antworten »
2. Bemerkungen zur Textanalyse
2. Bemerkungen zur Textanalyse

2.1. Der Zeichenvorrat

Um eine Textnachricht für jedermann verständlich darstellen zu können, brauchen wir einen allgemein bekannten Zeichenvorrat. Ein solcher Zeichenvorrat kann das Minimal-Alphabet sein. Es hat 26 Zeichen für Buchstaben. Eine Pause zur Trennung der einzelnen Wörter muß nicht unbedingt als separates Zeichen dargestellt werden, man kann sie auch mit den Buchstaben darstellen z.B. „pause“ oder „xxx“, oder ganz und gar auf sie verzichten. Hier einige Beispiele:

Minimal-Alphabet (26 Zeichen: abcdefghijklmnopqrstuvwxyz)
dasisteinekleinenichtkryptischetextnachrichtfuerdieicheinensatzvonsechsundz
wanzigzeichenbenutzejederderdeutschundlesenkannkannauchdiesenquatschversteh
enabermiteinempausenzeichenwaeredertextvielverstaendlicher

Minimal-Alphabet (26 Zeichen) mit einem Wort (pause) zur Trennung der einzelnen Wörter im Text
daspauseistpauseeinepausekleinepausenichtpausekryptischepausetextnachrichtp
ausefuerpausediepauseichpauseeinenpausesatzpausevonpausesechsundzwanzigpaus
ezeichenpausebenutzepausejederpausederpausedeutschpauseundpauselesenpauseka
nnpausekannpauseauchpausediesenpausequatschpauseverstehenpauseaberpausemitp
auseeinempausepausenzeichenpauseistpausederpausetextpausevielpauseverstaend
licher

Minimal-Alphabet (27 Zeichen)
das ist eine kleine nicht kryptische textnachricht fuer die ich einen satz von siebenundzwanzig zeichen benutze jeder der deutsch und lesen kann kann auch diesen quatsch verstehen aber mit einem pausenzeichen ist der text viel verstaendlicher

Das Minimal-Alphabet kann um weitere Zeichen erweitert werden, wie z.B. Ziffern (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), Großbuchstaben, Satzzeichen (Komma, Punkt, Doppelpunkt usw.), die deutschen Umlautvokale (ä, ö, ü), das deutsche „ß“ und andere.
Bei der Decodierung ist die Kenntnis des genutzten Zeichenvorrates sehr wichtig, aber es ist nicht immer möglich, den vollständigen Zeichenvorrat aus dem Geheimtext zu bestimmen, weil in dem Geheimtext nicht alle Zeichen des Zeichenvorrates genutzt werden; dieses Problem macht sich insbesondere dann bemerkbar, wenn wir nur sehr kurze Geheimtexte zur Verfügung haben.

Er, uree drty nrj!

Gewöhnlich benutzen wir in geschriebenen Texten weit mehr als 27 Zeichen; Klein- und Großbuchstaben, Umlautvokale, Ziffern, Satzzeichen, Klammern, Währung, mathematische und weitere Symbole.
Die in diesem Workshop gezeigten Geheimtextanalysen werden häufig mit Zahlen dargestellt, dabei wird jedem Zeichen eine Zahl (1…255) zugeordnet, die Zahl Null bedeutet „kein Zeichen“, kann aber auch eine andere Bedeutung haben. Die Zuordnung Zeichen zu Zahl bzw. Zahl zu Zeichen ist in einer allgemein bekannten Tabelle (ASCII-Tabelle) aufgelistet. Es gibt mehrere plattform- und landesspezifische Varianten der Zeichen-Tabelle, ich beziehe mich auf die deutsche Variante, die man unter Windows in Excel abrufen kann.

Tab. 1: ASCII-Tabelle: Teil 1 (00-7F)



Tab. 2: ASCII-Tabelle: Teil 2 (80-FF)

Bert Auf diesen Beitrag antworten »
2.2. Zeichenhäufigkeit
2.2. Zeichenhäufigkeit

Eine der wichtigsten Analysen der Geheimtexte. Nicht nur die spezifische Häufigkeit einzelner Buchstaben, sondern auch die Gesamtverteilung der Häufigkeiten in einem Geheimtext gibt uns richtungsweisende Informationen bei seiner Decodierung. Die Verteilung der Häufigkeiten in deutschen Texten ist in Tab. 3 aufgelistet. Bei der Analyse sehr langen Texte finden wir diese Verteilung wieder, bei kurzen Texten können die Werte stark abweichen.
Die Zeichenhäufigkeit ist ein Orientierungswert, kein absoluter; es ist eine Hilfe bei der Decodierung einer Verschlüsselungstabelle. Die Zeichenhäufigkeit liefert uns eine Antwort auf die Frage: "Welches Zeichen könnte es (wahrscheinlich) sein", sie gibt uns aber nicht die Antwort: "Dieses Zeichen ist es". Welches Zeichen es tatsächlich ist, müssen wir herausfinden - und wenn es nicht anders geht, dann durch mehrmaliges Ausprobieren; d.h. den Zeichen-Kandidaten einsetzen und den Sinn des Textes prüfen.

Tab. 3: Zeichenhäufigkeit in deutschen Texten

Bert Auf diesen Beitrag antworten »
2.3. Verschlüsselungsart
2.3. Verschlüsselungsart

Davon gibt es wie Sand am Meer! Die Liste wäre unvollständig, sehr lang und brächte mehr Verwirrung als Nutzen. Um aus einem Geheimtext den Klartext extrahieren zu können, ist es von Vorteil, die Verschlüsselungsart zu kennen, aber in der Praxis haben wir diesen Vorteil nicht – wir stehen völlig ahnungslos vor irgendeinem Geheimtext da. Zum Glück müssen wir nicht immer herausfinden, wie verschlüsselt wurde, und dennoch werden wir häufig den Klartext extrahieren können. In diesem Workshop werde ich nur nach Arten unterscheiden, wie der Geheimtext optisch aussieht, weil das jeder Laie erkennen kann und weil es uns ausschlaggebende Hinweise auf die Größe des gesamten Zeichenvorrates geben kann:

Geheimtext ist mit Zeichen des normalen (deutschen) Alphabets geschrieben:
  • Urj yzvi zjk vze Svzjgzvc wüi vzeve Xvyvzdkvok.
  • eBBrrBtetBerrtrrttrr terBerrtttette Berrr rttr tBerBttrr rtttetteBrttrr r eBerrtBtt terBerrr rttr trr r tBereBtrr rtrrr rttteete rr rte Br
  • tkq üöes öqp eöx aeöqvöez rbs eöxex feüeöypejp.
  • NPLVP WHJKR UVAMG ZBNAJ HWVGF OYIMB ISJYH ZGPBJ

Geheimtext ist mit (ASCII)Zeichen geschrieben, von denen viele im normalen Alphabet extrem selten oder gar nicht vorkommen:
  • >[m bc_l cmn _ch <_cmjc_f `öl _ch_h A_b_cgn_rn(
  • Ol~+stp}+t~+pty+Mpt~{tpw+q}+ptypy+Rpsptxpƒ9
  • »ÍzÂÿÌzÃÍÎz¿ÃÈzœ¿ÃÍÊÿÆzÀVÌz¿ÃÈ¿Èz¡¿Â¿ÃÇοÒΈ

Geheimtext ist mit Zahlen geschrieben:
  • 337 509 631 131 569 571 547 619 131 571 631 641 131 547 571 601 131 317 547 571 631 613 571 547 593 131 557 1601 619 131 547 571 601 547 601 131 353 547 569 547 571 599 641 547 659 641 199
  • 73 102 120 37 109 115 111 124 42 115 130 131 47 116 120 130 52 86 121 125 140 137 130 126 133 37 107 1 119 37 111 115 120 111 120 47 86 116 119 116 125 129 136 121 140 141 71
  • 44 61 73 20 68 69 65 72 20 69 73 74 20 65 69 6E 20 42 65 69 73 70 69 65 6C 20 66 FC 72 20 65 69 6E 65 6E 20 47 65 68 65 69 6D 74 65 78 74 2E
Bert Auf diesen Beitrag antworten »
2.4. Prüfsumme
2.4. Prüfsumme

Jeder Text kann mit (ASCII)Zahlen dargestellt werden. Diese Darstellung hat bei der Decodierung große Vorteile, deshalb ziehe ich diese Darstellung vor. Weil ich auch Fehler mache, schreibe ich zu jedem Geheimtext eine Prüfsumme (z.B. 14480 $3890). Was bedeutet das? Nun, die Zeichen des Geheimtextes werden in ASCII-Zahlen überführt und es wird eine Summe dieser Zahlen gebildet. Wenn der Geheimtext mit zahlen geschrieben ist, wird eine Summe aus diesen Zahlen gebildet. Diese Summe ist die Prüfsumme. Ich schreibe sie immer als zwei Zahlen, dezimal und hexadezimal (Doppelkontrolle). Stimmt die Prüfsumme nicht, liegt irgendwo ein Tippfehler vor. Dann bitte ich um Hinweis, damit ich den Fehler korrigiere. Hier noch ein Beispiel für die Bildung einer Prüfsumme:
Geheimtext (Textlänge: 8 Zeichen):
Urj yzvi
Prüfsumme: 803 $323

Bert Auf diesen Beitrag antworten »
3. Werkzeug
3. Werkzeug

Das wichtigste Werkzeug ist unser Kopf und unser Sprachgefühl. Entsprechend den Verschlüsselungsarten gibt es auch ein ganzes Meer an Werkzeugen zum Decodieren von Geheimtexten. Das beste Werkzeug macht sich jeder selbst (programmieren). Aber es geht mir nicht nur darum, einen Text zu dekodieren, sondern eine Urteilskraft darüber zu vermitteln, ob ein Geheimtext für einen Laien ohne besondere mathematische Kenntnisse und ohne spezielles Werkzeug zu decodieren ist.
Deshalb werde ich hier nur zwei Werkzeuge vorstellen:
  • Buchstaben-Drehscheiben
  • Einfache Griffe in Excel-Tabellen

Ich bin kein Fan von Excel, und kann mit diesem Programm nur sehr beschränkt umgehen, aber dieses Programm ist weit verbreitet, kann auch von einem Laien bedient werden und bei Analysen von langen Geheimtexten wertvolle Dienste leisten. Die einfachen Griffe in Excel-Tabellen zeige ich in der Werkstatt, immer dann, wenn es nötig ist.
Bert Auf diesen Beitrag antworten »
3. Werkzeug
3.1. Buchstaben-Drehscheiben

Die Buchstaben-Drehscheiben kann man aus Pappe ganz einfach herstellen; zwei Scheiben ausschneiden, Buchstaben draufmalen, in der Mitte so verbinden, daß man sie drehen kann. Man kann sie auch mit einem Graphikprogramm zeichnen und drehen (so wie ich in diesem Workshop).

Abb. 1: Minimal-Alphabet-Buchstaben-Drehscheibe. Jede der Scheiben ist in 26 Felder geteilt, in jedem Feld ist der entsprechende Buchstabe von A bis Z.



Abb. 2: ASCII-Zeichen-Drehscheibe. Jede der Scheiben ist in 256 Felder geteilt, in jedem Feld ist das entsprechende ASCII-Zeichen von 0 bis 255 – hier sind vereinfacht nur die Bereiche gekennzeichnet. Die ASCII-Zeichen und ihre Codezahlen sind in Tab. 1 und Tab. 2 detailliert aufgelistet.

Bert Auf diesen Beitrag antworten »
3. Werkzeug
3.2. Arbeit mit einer Buchstaben-Drehscheibe

Zum Decodieren nehmen wir die entsprechende Drehscheibe (Abb. 1 oder Abb. 2). Die innere (blaue) Scheibe wird nach einer festgelegten Regel gedreht. Unsere Aufgabe ist es, diese Drehregel herauszufinden.

Abb. 3: Decodieren mit einer Buchstaben-Drehscheibe. Die innere Scheibe ist gedreht und zum Decodieren bereit ...



... und dann wird der Geheimtext an der grauen Scheibe abgelesen, der Klartext erscheint an der blauen Scheibe.

Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 1: Grundanalysen

Geheimtext (Textlänge: 63 Zeichen):
€¯\¤¥¡®\¥¯°\ ¡®\‡¨®°¡´°h\ ¡®\¥ª\ ¯®\°±¢¡\rl\Ÿ« ¥¡®°\³±® ¡j
Ende
Prüfsumme: 9237 $2415

Für manche sieht es ziemlich wirre aus, aber dieser Geheimtext ist in zwei Minuten geknackt!

Wir haben keine Ahnung, wie verschlüsselt wurde, aber wir sehen, daß wir alle Zeichen auf der ASCII-Zeichen-Drehscheibe finden. Somit haben wir schon das Werkzeug. Damit wir erfahren, wie wir die Scheibe drehen sollen, machen wir den Charakter des Geheimtextes sichtbar. Und das geht so:

Umwandeln der Zeichen des Geheimtextes in ASCII-Zahlen

Um den Charakter des Geheimtextes sichtbar zu machen, ist dies der erste Schritt. Ich zeige es hier in einer Excel-Tabelle, weil dieses (oder ähnliches) Programm heutzutage nahezu jeder hat.

Vorgehensweise in der Excel-Tabelle:
  • Geheimtext in die Zelle B1 einfügen (via copy/paste)
  • Anzahl der Zeichen ermitteln - in die Zelle B2 eintippen:
    =LÄNGE(B1)
    als Ergebnis kommt 63
  • ASCII-Code untereinander in eine Spalte berechnen lassen – in die Zelle B4 eintippen:
    =CODE(TEIL($B$1;ZEILE(B1);1))
    und über 63 Zeilen nach unten ziehen.
Das Ganze sieht so aus:



und nach dem Berechnen:



Die Zahlen in den Zellen B4:B66, also von oben nach unten gelesen: 128, 157, 175, 92, 164, … , 106 sind unser Geheimtext in ASCII-Zahlen. Ihre Summe ist die Prüfsumme.
Daß die Zeichen im Geheimtext nicht (nur) aus unserem klaren Alphabet sind, haben wir schon an der Zeichenart erkannt, aber schauen wir nach, ob sie einen sinnvollen deutschen Text codieren können. Wir schauen uns die Zeichenhäufigkeit im Geheimtext an.

Zeichenhäufigkeit im Geheimtext

Wir berechnen, wie viele Male jedes Zeichen im Geheimtext vorkommt, teilen diesen Wert durch die Anzahl aller Zeichen im Geheimtext (in dieser Aufgabe ist diese Zahl = 63) und das Ergebnis multiplizieren wir mit 100. Das Ergebnis ist dann in %. Ich schreibe das in diese Tabelle



Wir sehen, daß 26 Zeichen verwendet wurden, was für einen sinnvollen Text reichen würde. Die Verteilung der Häufigkeiten entspricht der Zeichenhäufigkeit in deutschen Texten – also, wir haben wahrscheinlich ein einziges Alphabet. Aber die im Geheimtext verwendeten Zeichen enthalten nur wenige Buchstaben aus unserem Alphabet und viele „Sonderzeichen“. Das spricht für eine einfache Verschiebung. Wird ein Text mit der ASCII-Zeichen-Drehscheibe nur „verschoben“, behält er seine Zeichenmelodie. Ob auch tatsächlich ein sinnvoller deutscher Text codiert ist, können wir sehr gut an der Zeichenmelodie sehen.

Die Zeichenmelodie ist in einer graphischen Darstellung am besten sichtbar – so wie Musiknoten. Die graphische Darstellung des Geheimtextes ist das A und O seiner Decodierung. Jede Sprache hat ihre eigene Zeichenmelodie. An dieser Melodie kann man auch beurteilen, ob ein Geheimtext leicht/schwer zu knacken ist, und in welche Richtung wir unsere Angriffe orientieren sollen.

Graphische Darstellung des Geheimtextes

Um den Charakter des Geheimtextes sichtbar zu machen, werden die in Excel erzeugten Zahlen (hier sind es die Zellen B4:B66) graphisch dargestellt: einfach markieren und Diagramm anklicken.
Das Ganze sieht etwa so aus (ohne die blauen Pfeile und das Wort Leerzeichen, die ich in die Abbildung später eingetragen habe):



Die meisten Zeichen liegen im Bereich zwischen 120…150. Für einen normalen Text (deutsches Alphabet) ist es zu hoch, denn die Großbuchstaben (A…Z) liegen zwischen 65…90, die Kleinbuchstaben (a…z) zwischen 97…122 und Zahlen zwischen 48…57, also der Geheimtext zeigt eine klare Verschiebung. Durch diese Verschiebung können wir den Text zwar nicht direkt lesen, aber seine Zeichenmelodie blieb erhalten. Es ist die Zeichenmelodie eines sinnvollen deutschen Textes.
So sehen wir z.B., daß der Text aus zwölf Wörtern besteht, vier davon haben drei Buchstaben, vier Wörter fangen mit einem Großbuchstaben an, ein Wort enthält einen typischen deutschen Buchstaben (Umlautvokal oder „ß“) uvm. In dieser Aufgabe reicht es, das Leerzeichen zu identifizieren, mehr brauchen wir hier nicht.

Das Leerzeichen (SPACE): Der Schlüssel zum Klartext

Das häufigste Zeichen in unserer (Schrift)Sprache ist das Leerzeichen, es macht für gewöhnlich etwa 12…16% aller im Text vorkommenden Zeichen aus. Für die Decodierung eines Sprachtextes ist es sehr wichtig, das Leerzeichen zu finden (sofern es im Geheimtext vorkommt), weil:
a) mit der Identifizierung nur eines Zeichens haben wir 12…16% des Textes decodiert
b) das Leerzeichen gibt uns einen Hinweis darauf, wie viele Wörter im Text vorkommen und wie lang die einzelnen Wörter sind
c) in einer monoalphabetischen Substitution verrät uns das Leerzeichen die Stufe der Substitution, so daß wir einfach alle Zeichen um diese Stufe erhöhen oder erniedrigen, und somit den Geheimtext auf einen Schlag dekodieren.
Übrigens, das (mitcodierte) Leerzeichen ist beim Dekodieren bedeutend wichtiger als das berühmte „e“ – der häufigste Buchstabe der deutschen Sprache.
Das Leerzeichen wird in ASCII-Code durch die 32 codiert, dadurch setz es sich von den „normalen“ Buchstaben tief ab und ist leicht auszumachen. In der Zeichenmelodie sind die Leerzeichen mit blauen Pfeilen gekennzeichnet und in Excel kann man den Wert (Mauskommentar) 92 direkt ablesen. In dem Geheimtext finden wir 11 Leerzeichen-Kandidaten mit der Codenummer 92.

Dieser Fund ist für jeden Code-Angreifer ein halber Sieg, diesmal sogar der ganze Sieg, denn die Differenz zum ASCII-Code-32 ist für die elf Leerzeichen-Kandidaten konstant, also können wir annehmen, daß der ganze Text monoalphabetisch ist - mit einer Stufe von
92 – 32 = +60
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 1: Klartext extrahieren

Wir können den Klartext an der ASCII-Zeichen-Drehscheibe direkt ablesen, nachdem wir die blaue Scheibe um 60 Teilchen nach rechts gedreht hatten. Wem das zu mühsam ist, kann es mit Excel schneller machen:
Wir ziehen von der Codezahl eines jeden Zeichens des Geheimtextes 60 ab und lassen uns das Zeichen im Klartext direkt anzeigen; das geht automatisch, indem wir in die Zelle A4 der Excel-Tabelle eintragen:
=ZEICHEN(REST(B4-60;256))
und ziehen diesen Eintrag bis zur Zelle A66.
Die Excel-Rest-Funktion (mod-function) simuliert hier einen kreisförmigen Zeichenvorrat mit 256 Zeichen, so wie ich ihn in ASCII-Zeichen-Drehscheibe dargestellt habe, und die Drehung der blauen Scheibe um 60 Zeichen nach rechts.

Das Ganze sieht so aus:



Den Klartext lesen wir in der A-Spalte ab der Zelle A4 von oben nach unten:
Klartext:
Das hier ist der Klartext, der in Cäsar Stufe 60 codiert wurde.
Ende

Dieses Beispiel zeigt uns die Wichtigkeit des Leerzeichens beim Decodieren, und daß diese Art von „Verschlüsselung“ zur Erstellung eines Geheimtextes völlig ungeeignet ist, weil der Geheimtext innerhalb von 2 Minuten von jedem Laien in Klartext überführt werden kann.
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 2:

Geheimtext (Textlänge: 52 Zeichen):
Ql{{}lyz{lo.pjokluz{|ttluZpuuklz~psklu^vy{lzkly^hsh
Ende
Prüfsumme: 5812 $16B4

Zeichenhäufigkeit im Geheimtext

Wir verfahren wie in Lekion 1, wandeln den Geheimtext in ASCII-Zahlen um und werten die Zahlen aus.



Es werden 21 Zeichen verwendet und die „Sonderzeichen“ sagen uns, daß es hier eine kleine Verschiebung geben könnte, weshalb wir den Geheimtext nicht verstehen. Das häufigste Zeichen ist das Zeichen mit der Nr. 108. Schauen wir nach, ob es im Klartext das Leerzeichen sein könnte. Die Zeichenmelodie wird uns darüber Auskunft geben.

Graphische Darstellung des Geheimtextes



Wir sehen, daß kein Leerzeichen auszumachen ist, das bedeutet, daß wir nach anderen markanten Zeichen suchen müssen. Solche markanten Zeichen sind Großbuchstaben oder Satzzeichen (Punkt, Komma, Doppelpunkt usw.).

Kandidaten für markante Zeichen

Wenn schon keine Leerzeichen, wenigsten vier Großbuchstaben-Kandidaten und ein Satzzeichen-Kandidat, die an insgesamt fünf Stellen einen potentiellen Wortanfang signalisieren. Großbuchstaben erkennen wir daran, daß sie etwas tiefer als die meisten Zeichen liegen. Vier Großbuchstaben (von drei Sorten) in einem 52 Zeichen langen Text untermauern gleichzeitig die Vermutung, daß der Klartext in deutscher Sprache sein dürfte, und deshalb eine Suche nach dem berühmten „e“ lohnenswert sein könnte.
Auch die Melodie des Geheimtextes verläuft gleichmäßig, so daß eine große Hoffnung besteht, daß es sich um eine monoalphabetische Substitution handelt und daß wir den Klartext sehr schnell extrahieren können, wenn wir wenigstens ein Zeichen sicher dechiffrieren.
Die häufigsten Zeichen der deutschen (Schrift)Sprache sind Leerzeichen und der Buchstabe „e“. Jedes dieser beiden Zeichen hat eine Häufigkeit von etwa 12-16%. Weil in diesem Geheimtext die Leerzeichen nicht zu finden sind (sie sind gar nicht mitcodiert), ist das Zeichen mit der höchsten Häufigkeit (Nummer 108) mit ziemlicher Sicherheit ein „e“.

Aus der Differenz zwischen dem ASCII-Code für „e“ und dem Code des häufigsten Zeichens in unserem Geheimtext können wir die Stufe berechnen: „e“ hat im ASCII-Code die Nummer 101, der „e“-Kandidat im Geheimtext die Nummer 108, also:
108 – 101 = +7

Klartext extrahieren

Das Ablesen an der ASCII-Zeichen-Drehscheibe dürfte klar sein. Für die Extraktion in Excel nutzen wir die prinzipiell gleich aufgebaute Excel-Tabelle wie in Lektion 1 und tragen in die Zelle A4 der Excel-Tabelle ein:
=ZEICHEN(REST(B4-7;256))
und ziehen diesen Eintrag bis zur Zelle A55.
Den Klartext lesen wir in der A-Spalte von oben nach unten:
Klartext:
Jetztversteh'ichdenstummenSinndeswildenWortesderWala
Ende

Um dem Klartext auch Sinn entnehmen zu können, tragen wir die Leerzeichen nach unserem Sprachverständnis ein:

Jetzt versteh' ich den stummen Sinn des wilden Wortes der Wala

Wie ihr seht, auch der verzicht auf Leerzeichen kann es nicht verhindern, daß der Geheimtext in wenigen Minuten von jedem Laien in Klartext überführt werden kann. Allerdings wurde durch den Verzicht auf Leerzeichen die Verständlichkeit des Klartextes ziemlich in Mitleidenschaft gezogen, wenn wir jetzt noch auf das verräterische „e“ im Text verzichten würden, hätte es nicht nur der Angreifer schwieriger, den Geheimtext zu knacken; auch der rechtmäßige Empfänger des Klartextes würde nur Bahnhof verstehen.
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 3:

Geheimtext (Textlänge: 135 Zeichen symbolisiert durch Zahlen):
73 122 37 127 106 127 113 126 111 125 131 47 116 120 125 52 121 120 128 121 140 57 96 126 140 104 109 113 106 104 114 126 69 42 117 116 120 125 47 105 117 123 121 134 52 132 122 135 135 57 111 106 37 110 109 119 42 111 120 126 130 114 119 123 112 123 121 130 78 52 125 126 139 57 144 106 110 109 113 110 109 114 125 126 111 47 87 116 123 115 52 65 52 125 119 129 57 144 126 130 228 37 106 120 37 55 42 111 120 126 113 123 11 119 131 52 120 121 129 52 112 253 133 140 142 115 108 106 115 120 126 107 119 119 56
Ende
Prüfsumme: 14480 $3890

Ist der Geheimtext in Zahlen dargestellt, schauen wir erst nach, ob es sich um ASCII-Zahlen handeln könnte (sind die Zahlen im Bereich 0-255?).

Zeichenhäufigkeit im Geheimtext



Alle verwendeten Zeichen/Zahlen liegen im ASCII-Bereich, die Anzahl verwendeter Zeichen beträgt 50. Auffällig ist die für einen deutschen Text extrem harmonische Häufigkeit der verwendeten Zeichen. Kein Zeichen hat eine Häufigkeit von über 10 %; für das Leerzeichen bzw. für ein „e“ würden wir Häufigkeiten von über 12 % erwarten. Nur drei Zeichen erreichen eine Häufigkeit von über 5 %, was für die deutsche Sprache sehr ungewöhnlich ist.
Diese harmonische Zeichenhäufigkeit spricht für eine wiederholte Leserahmenverschiebung – das klare Alphabet wird mehrfach verschoben; oder anders ausgedrückt: die ASCII-Zeichenscheibe wird mehrfach gedreht, wodurch jedes Klartextzeichen im Geheimtext mehrere Codezahlen erhält, und dadurch weniger häufig erscheint. Ob wir diese Verschiebung identifizieren können, sagt uns die Zeichenmelodie des Geheimtextes.

Graphische Darstellung des Geheimtextes



Wir sehen, daß die Zeichenmelodie zwar etwas verändert ist, aber wir können einige markante Zeichen ausmachen:
  • 21 Leerzeichen-Kandidaten
  • 5 Satzzeichen-Kandidaten
  • 3 Umlautvokale(oder „ß“)-Kandidaten
  • 3 Großbuchstaben-Kandidaten

Das Leerzeichen (SPACE): Der Schlüssel zum Klartext

Die Art der wechselnden Verschiebung erkennen wir an den Leerzeichen, die ihre Position ändern. Die Leerzeichen-Kandidaten liegen auf den fünf blauen Linien, die ich da hingezeichnet habe. Das heißt: Es gibt insgesamt fünf Leserahmenverschiebungen und diese werden regelmäßig wiederholt.
Die blauen Linien gehen durch die Werte: 37, 42, 47, 52 und 57. Das Leerzeichen im Klartext hat die Nr. 32, also: Der Leserahmen wird periodisch verschoben um 5, 10, 15, 20 und 25 (Differenzen auf die vorhandenen Leerzeichen im Geheimtext; wer das nicht sieht, kann rechnen: 37-32=5; 42-32=10; 47-32=15; 52-32=20; 57-32=25).
Bei der Codierung wurde die ASCII-Zeichenscheibe um fünf Zeichen gedreht und die ersten fünf Zeichen wurden abgelesen.



Damit haben wir die Drehregel für die ASCII-Zeichen-Drehscheibe. Auf der blauen Scheibe liegen die Klartext-Zeichen, auf der grauen die Geheimtext-Zeichen. Die blaue Scheibe wird um fünf Zeichen nach rechts gedreht. Nach dem Ablesen von fünf Zeichen wird die blaue Scheibe um weitere fünf Zeichen verschoben und die nächsten fünf Zeichen werden abgelesen usw. Nach fünf Drehungen (alle 25 Zeichen) wird der Nullpunkt der blauen Scheibe wieder auf den Punkt5 der grauen Scheibe zurück gedreht (diese Position ist abgebildet), und eine neue Periode fängt an.

Klartext extrahieren

Die Drehregeln sind klar, also können wir mit der ASCII-Zeichen-Drehscheibe den Klartext extrahieren. Wer zu faul ist, startet sein Excel-Programm. Den Klartext extrahieren wir so, wie es in Lektion 1 ausführlich beschrieben ist; die Zahlen des Geheimtextes in die Zellen B4:B138 eintragen (eine Zahl pro Zelle), und in die Zelle C4 schreiben:
=ZEICHEN(REST(B4-5*(REST(GANZZAHL((ZEILE(A1)-1)/5);5)+1);256))
und ziehen den Eintrag bis in die Zelle C138 und lesen den Klartext in der C-Spalte ab der Zelle C4 von oben nach unten:

Klartext:
Du zeugtest ein edles Geschlecht; kein Zager kann je ihm entschlagen: der weihlichste Held - ich weiß es - entblüht dem Wälsungenstamm.
Ende

Die einzelnen Leserahmen sollte man sich auch anschauen. In die Zelle E4 eintippen:
=ZEICHEN(REST($B4-5*SPALTE(A1);256))
und bis in die Zelle I4, und dann Zellen E4:I4 markieren und bis nach E138:I138 ziehen.

Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 4:

Geheimtext (Textlänge: 45 Zeichen):
Uvi Yvsvc zjk vze vzewrtyvj Drjtyzevevcvdvek.
Ende
Prüfsumme: 4492 $118C

Der Geheimtext ist sehr kurz. Ich verwende in diesem Workshop ganz bewußt extrem kurze Geheimtexte, weil ich daran demonstrieren will, daß man auch kurze Texte, in denen die Zeichenhäufigkeit ihr typisches Bild nicht voll entfalten kann (zu wenige Daten), oft mit geringem Aufwand decodieren kann.
Eine Verschiebung auf der ASCII-Zeichen-Drehscheibe ist in der graphischen Darstellung schnell zu lokalisieren, weil der ganze Buchstabenbereich in einen anderen Bereich verschoben wurde. Die Geheimzeichen sind zwar „irgendwie seltsam“, aber die Zeichenmelodie bleibt erhalten. (s. Lektion 1). Hier ist es anders.

Zeichenhäufigkeit im Geheimtext



Die Anzahl der verwendeten Zeichen beträgt 18, womit man einen sinnvollen Text schreiben kann. Das Leerzeichen (ASCII-Code 32) und das Satzzeichen (ASCII-Code 46) scheinen in diesem Geheimtext keine Verschiebung erfahren zu haben, denn ihre Häufigkeiten von 11,1 % bzw. 2,2 % (kommt 1x vor) sind für diese Zeichen durchaus typisch. Die anderen Zeichen kommen aus dem „üblichen“ Alphabet; hier müssen wir uns darüber im Klaren sein, daß eine Verschiebung auf der Minimal-Alphabet-Buchstaben-Drehscheibe im Bereich dieser Scheibe stattfindet, wodurch die Zeichenmelodie zwangsläufig verändert wird.
Die extrem hohe Häufigkeit des Zeichens „v“ (ASCII-Code 118) fällt sofort ins Auge. Üblicherweise liegt in deutschen Texten die „v“-Häufigkeit unter 1 %, eine Häufigkeit von 22,2 % könnte in bestimmten Texten der Buchstabe „e“ erreichen. Die Verteilung der Häufigkeiten entspricht einem (kurzen) deutschen Text und spricht für die Verwendung eines einzigen Alphabets.

Ein sehr geübtes Auge sieht schon einige Hinweise, mit welcher Verschlüsselung wir es hier zu tun haben könnten, aber unser Auge ist noch nicht so geübt ... Wir könnten noch lange grübeln, doch manchmal ist es wirklich gewinnbringend, die Buchstaben-Drehscheibe aus der Schublade zu holen und ein paar gezielte Versuche zu machen:
  • Wir machen die Annahme, daß dieser Geheimtext über eine Buchstabenscheibe mit einem Minimal-Alphabet von nur 26 Buchstaben gedreht wurde, weil in dem Geheimtext keine „Sonderzeichen“ vorkommen.
  • Wir drehen die blaue Scheibe so, daß der blaue Buchstabe „E“ (das ist der häufigste Buchstabe in deutschen Texten) unter den grauen Buchstaben „V“ kommt (das ist der häufigste Buchstabe im Geheimtext).

Unser Mut zum Ausprobieren wird belohnt und wir können den Klartext extrahieren.

Klartext extrahieren



Geheimtext: Uvi Yvsvc zjk vze vzewrtyvj Drjtyzevevcvdvek.
Klartext:___ Der Hebel ist ein einfaches Maschinenelement.

Die Brechstangen-Methode

Natürlich können wir auch Excel bemühen und die Brechstangen-Methode anwenden, indem wir alle 25 Verschiebungen berechnen (ist ja in 10 Sekunden fertig), aber die Buchstabenscheibe ist doch etwas eleganter.



Klartext:
Der Hebel ist ein einfaches Maschinenelement.
Ende

Dieses Beispiel zeigt, daß uns das häufig so wichtige Leerzeichen auch mal im Regen stehen läßt, und daß wir beim Decodieren zahlreich auf gut Glück ausprobieren müssen. Und dennoch - wir können diesem Ausprobieren ein System geben, so daß wir nicht einfach nur so herumstochern, sondern schauen, welche Richtung der Suche erfolgbringend sein könnte.
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 5:


Geheimtext (Textlänge: 215 Zeichen):
goq möwmy nmrlartmzpmw xmümöypmkp zcdp qöhü imr ßzgrpmkp xop mkprgüömrmw, lmww mq owq xmzöwxp, iöm xmümöypgemzzm fo mwpqhüzaqqmzw. igq xmüp nmrüczpwöqycdöx zmöhüp, lmww imr xmümöypmkp zcwxmr gzq üowimrp fmöhümw öqp.
Ende
Prüfsumme: 24790 $60D6


Zeichenhäufigkeit im Geheimtext



Die Anzahl der verwendeten Zeichen beträgt 27, womit man einen sinnvollen Text schreiben kann. Der Geheimtext liegt vorwiegend im Kleinbuchstaben-Bereich (ASCII-Code 97-122). Die Verteilung spricht für das Verwenden eines einzigen Alphabets.

Das Leerzeichen (ASCII-Code 32) scheint in diesem Geheimtext in sich selbst verschlüsselt zu sein (oder es hat keine Verschlüsselung erfahren), die Häufigkeit von 13,5 % ist für das Leerzeichen typisch, und auch die Wortlängen, die sich im Geheimtext durch dieses Leerzeichen ergeben, sind im Einklang mit einem „normalen“ deutschen Text. Wir können deshalb annehmen, daß die Leerzeichen (und die Satzzeichen) im Geheimtext mit den Leerzeichen im Klartext identisch sind.

Das Geheimtext-Zeichen „m“ (ASCII-Code 109) sticht mit seiner Häufigkeit ins Auge, denn eine „zweistellige“ Häufigkeit wäre nur für das Leerzeichen und den Buchstaben „e“ typisch, ein „m“ liegt meist weit unter 5 %, deshalb können wir weiter annehmen, daß das Geheimtext-Zeichen „m“ im Klartext das „e“ bedeuten könnte.
Merkwürdig hoch sind die Häufigkeiten der Umlautvokale (über 5 %!). Um dieses Phänomen diskutieren zu können, schauen wir uns die Zeichenmelodie an.

Graphische Darstellung des Geheimtextes



Die Umlautvokale liegen in deutschen Texten gewöhnlich unter 1 %, das bedeutet, daß die Umlautvokale im Geheimtext stellvertretend für andere Klartext-Buchstaben sind, wahrscheinlich solche wie „i“ „r“ „t“ „s“ „a“ ... Wir wissen nicht, ob im Klartext Umlautvokale vorkommen, aber sie gehören zum Zeichenvorrat des Geheimtextes.

Wir wissen immer noch nicht, wie verschlüsselt wurde, aber wir sehen, wie der Text nicht verschlüsselt wurde. Der Text ist nicht an einer der beiden Buchstaben-Drehscheiben (Werkzeug) verschoben. An der sehr „verstimmten“ Zeichenmelodie und in dem Umlautvokal-Bereich ist sichtbar, daß die Buchstaben verwürfelt sind (monoalphabetische Substitution). Es liegt also eine uns unbekannte Tabelle vor, in der jeder Klartext-Buchstabe durch einen anderen (oder durch sich selbst) Geheimtext-Bchstaben codiert wird. Unsere Aufgabe ist es, diese Tabelle zu dechiffrieren.

Klartext extrahieren

So schnell wie in der Caesar-Verschiebung wird es nicht gehen, zumal der Erfolg auch von der Art des Textes abhängt. Unser Geheimtext geht über 200 Zeichen, so daß wir ein recht brauchbares Bild der Zeichenhäufigkeit erhalten.
Wir machen eine Tabelle mit Buchstaben, die in deutschen Texten am häufigsten vorkommen, und daneben die häufigsten Buchstaben in unserem Geheimtext. Dann werden wir Schritt für Schritt probieren, welcher Ersatz unserem Geheimtext klaren Sinn gibt.



Diese Tabelle sagt uns nicht, durch welches Geheimtext-Zeichen ein Klartext-Zeichen codiert wird, aber sie hilft uns, bei der Zuordnung der Zeichen die wahrscheinlichen Kandidaten in Betracht zu ziehen.

Die Zeilen mit Geheimtext und Klartext formatieren wir in der Schrift Courier (monospace), dann formen die Buchstaben/Platzhalter ein Alignment. Damit wir unsere Fehlversuche nicht wiederholen, notieren wir, welche Buchstaben wir schon ausprobiert haben.

Der häufigste Buchstabe in unserem Geheimtext ist der Buchstabe „m“ (16,3 %). Neben dem Leerzeichen ist es das einzige Zeichen in unserem Geheimtext mit einer Häufigkeit von über 10 %, so daß wir ziemlich sicher sein können:
„m“ im Geheimtext entspricht „e“ im Klartext
und tragen in das Alignment unter jedes „m“ ein „e“.



Wenn das „e“ eingetragen ist, können wir nach Artikeln (ein, eine, eines, einem ... der, die, dem, dessen ...) suchen, denn die kommen in fast jedem deutschen Satz vor.
Ergebnis: 2x das Wort „imr“ (der), 1x das Wort „iöm“ (die). In einem so langen Text dürfen wir mindestens drei Artikel erwarten, so daß wir diese drei Kandidaten ernst nehmen und tragen in das Alignment unter jedes „i“ ein „d“, unter jedes „r“ ein „r“ und unter jedes „ö“ ein „i“.



Jetzt tragen wir die weiteren häufigen Buchstaben; unter jedes „w“ ein „n“ und unter jedes „p“ ein „t“. Woran ich das sehe? Viele Wörter enden mit „w“ oder „p“ (im Klartext „t“ oder „n“), das zweite Wort im Geheimtext dürfte „einem/s“ sein – der einzige Kandidat für einen unbestimmten Artikel in diesem Satz.



Jetzt suchen wir nach weiteren häufigen Buchstaben; im Geheimtext haben die Buchstaben „z“ „ü“ und „q“ Häufigkeiten über 5 %, das sind Kandidaten für das „s“ im Klartext. „q“ als „s“ erscheint mir sinnvoll, und „y“ bedeutet „m“ (zweites Wort ist „einem“).



Einer der Buchstaben „z“ oder „ü“ dürfte der Häufigkeit nach ein „l“ oder ein „h“ sein; wegen „...sse-n“ und einem „zz“ entscheide ich „z“ -> „l“ und „ü“ ->„h“. Das Wort „lmww“ kommt 2x vor – jedesmal hinter einem Komma, könnte also „wenn" bedeuten.
Auffällig ist das Teilwort „xmümöyp“, weil es im Text 3x vorkommt, das behalten wir im Auge.



Jetzt können die meisten von euch auflösen, weil viele ganze Wörter erkennbar sind:
geheimtext, sich, klartext, extrahieren, entschlüsseln, verhältnismäßig, leicht, hundert ...



Klartext:
aus einem verwürfelten geheimtext läßt sich der klartext gut extrahieren, wenn es uns gelingt, die geheimtabelle zu entschlüsseln. das geht verhältnismäßig leicht, wenn der geheimtext länger als hundert zeichen ist.
Ende

Diese Art von Decodierung ist manchmal mühsam und sie wird uns oft begegnen, deswegen lohnt sich der Versuch, noch einen, dieses Mal einen sehr kurzen Text zu entschlüsseln.

Decodierung eines kurzen Textes

Geheimtext (Textlänge: 54 Zeichen):
äephp ükae ölü yös extzölü eöxe pkqqe ßkrree nestöexp.
Ende
Prüfsumme: 6564 $19A4

Zeichenhäufigkeit im Geheimtext



Auf die Analyse verzichte ich, die kann jeder selbst durchführen, weil sie der vorigen sehr ähnlich ist - wir sind jetzt an dem Punkt, wo wir festgestellt haben, daß wir eine uns unbekannte Tabelle dechiffrieren müssen.
Unser Geheimtext ist recht kurz, hat keine Großbuchstaben und hat viele verhältnismäßig kurze Wörter. Wäre eines der Wörter "Bundestagabgeordneter" oder "geschrieben", wäre die Aufgabe leichter ...
Wir verfahren ähnlich wie in der vorherigen Aufgabe.

Klartext extrahieren



Die Zeichenanalyse brachte schon drei Zeichen: das Leerzeichen, "e" und das Satzzeichen (Punkt), also tragen wir sie ein.



Weil „e“ schon eingetragen ist, können wir nach Artikeln (ein, eine, eines, einem ... der, die, dem, dessen ...) suchen.
Ergebnis: Kein Dreibuchstaben-Artikel, aber wenigstens eine „eine“.



“ölü“ kommt im Geheimtext 2x vor: einmal als selbständiges Wort und einmal als Suffix; im Klartext fängt dieses Wort mit „i“ an, das könnte „ist“ oder „ich“ sein. Weil im Geheimtext “l“ deutlich seltener vorkommt als “ü“, in der deutschen Sprache jedoch „s“ und „t“ eine ähnliche Häufigkeit haben (etwa 5 %), entscheide ich mich, für “ölü“ = „ich“ einzusetzen. Diese Entscheidung muß nicht richtig sein, aber eine falsche Entscheidung können wir korrigieren, ohne eine Entscheidung kommen wir nicht weiter, also – ruhig mal was ausprobieren, was sinnvoll erscheint.



Da lacht schon der Ausdruck „habe ich“ ... und „en--ich“ könnte „endlich“ sein ...



Bemerkung für Schlüsselknacker: Es könnte sein, daß nach einem einfachen Schlüssel verwürfelt wurde; an dieser Stelle könnten wir versuchen, diesen Schlüssel zu knacken. Wie geht das?
Über die Buchstaben des angenommenen alphabetisch geordneten Buchstabenvorrates für unseren Klartext schreiben wir die Buchstaben des Geheimtextes, die wir schon dechiffriert haben:

Geheimtext:kalte--üö--z-x----------------
Klartext:___abcdefghijklmnopqrstuvwxyzßäöü

Und versuchen im nächsten Schritt herauszufinden, wie der Schlüssel gebildet wurde. Es sieh so aus, als ob tatsächlich ein Schlüssel aus 7 Buchstaben gebildet wurde („kalte**“), und der Rest des Alphabets, also die im Schlüssel nicht verwendeten Buchstaben, wurde umgedreht und hinten angehängt.

Geheimtext:kalte—-üöäßzyx----------------
Klartext:___abcdefghijklmnopqrstuvwxyzßäöü

Auch hier ist es häufig eine mühsame Kaffeesatzleserei, den Schlüssel zu knacken; es könnte z.B. „kaltenase“ (nach Dublettenentfernen wird zu „kaltens“), „kaltebettlaken“ („kaltebn“), „kaltesbett“ („kaltesb“).
Wir sind auf die Kenntnis der Verschlüsselungsart nicht angewiesen, deshalb können wir den Klartext nach der Buchstabenhäufigkeit Stück für Stück extrahieren, aber die Möglichkeit mit dem Schlüssel wollte ich auch erwähnen.

Der Häufigkeit nach dürfte „p“ für ein „r“, „s“ oder „t“ stehen; das letzte Wort spricht nicht für ein „r“ oder ein „s“, weil die Endungen „...ienr“ oder „...iens“ eher ungewöhnlich sind, „...ient“ dagegen kommt sehr häufig vor und mit dem Ausdruck „habe ich“ könnte es ein Perfekt (grammatikalische Zeit des Verbs) bilden.



Viele Leseratten werden schon aufgelöst haben. Wer die Lösung noch nicht sieht, muß noch ein bißchen raten, am besten an markanten Stellen:
Die Buchstaben „p“, „r“ und „s“ kommen im Geheimtext 2x vor; „r“ steht als Doppelbuchstabe zwischen einem „a“ und einer „e“-Dublette, also wird das „r“ einen Konsonanten symbolisieren. Hier schauen wir, welche Konsonanten wir noch nicht kennen, es sind: fgjkmpqrsvxz, und welche doppelt vorkommen können. Auch das Muster dieses Wortes „#a**ee“ paßt für Wörter wie „passee“ „Kaffee“ ... die Verbindung:
„endlich eine ta--e #a**ee“ liest meine Nase immer als:
„endlich eine Tasse Kaffee“ ...
Der Ausdruck „habe ich -i- endlich“ könnte „habe ich mir endlich“ sein, das ergibt für das letzte Wort „-erdient“ ...



Klartext:
jetzt habe ich mir endlich eine tasse kaffee verdient.
Ende
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 6:

Geheimtext (Textlänge: 623 Zeichen):
code:
1:
eBBBeBBeeBeBBeeeBBeBeeeeBBeeeeBBeBeBeBBBBBeBBBBBeeeeBBeBeeeBeBBBeBBBBBeeeBeeBeeBeeeeeeBeeeBBeBBBBBeBeBeeBeeBBeBeeeeBBeBeeeBBeeeeBBBeeeeBeBBBeeBeeBBeeeBeBeeeBBeBeeeeBBeeeeeBBeeeeBBeBeeeBeeBBeeeBeBeeeBeeeBeeBBeeeBeBBBBBeeBBeeeeeBBeBeeeBeBBBeeBeeeeeeBBeBeeeeBBeBeeeBeBBBeBBBBBeeeeBeBeeeBeBeBeBBBBBeeBBeBBeeBBeBeeeBeeeBBeBBBBBeeBBBBeeeBBeBeeeBeeBBeeeBeBBeeBBeBeeeeBBeeeeeBeBBeeBBeBeeeBeeeBBeBBBBBeeeBeBeeeBeeeBeeBBeBBBeBBBBBeeeBBeeeeBeBBeeeBBeBeBeBBBBBeeBeBBeeeeBBeeeeeBeBBBeBBBBBeeBBBeBeeBBeBeeeBeBBeBeBBBBBeeBeeBeeeBeBBeeeeBBeBBeBBBBBeeeBBeeeeBBeBeeeBeBBBeeeBBeBBeBBBBBeeBBBeBeeBBeBeeeBeeBBeeBeBBeeeBBeBeeeBBBeBeeeBeBBBeBeeeB

Ende
Prüfsumme: 52563 $CD53

Mancher wird es nicht glauben, aber auch dieser Geheimtext ist (mit ein bißchen Glück Augenzwinkern ) in zwei Minuten geknackt!

Zeichenanalysen

Der Zeichenvorrat des Geheimtextes ist ziemlich spärlich – ganze zwei Zeichen kommen da vor:
  • 296 x der Buchstabe „B“
  • 327 x der Buchstabe „e“.
Mit einem Zeichenvorrat von nur zwei Buchstaben kann man keinen sinnvollen Text schreiben – zumindest nicht direkt; es muß also eine uns unbekannte Tabelle existieren, in der aus diesen zwei Buchstaben genau definierte „Wörter“ aufgestellt sind und diese Wörter codieren die Klarbuchstaben – z.B. die Buchstaben des Minimal-Alphabets.
Wir stehen vor einer wichtigen Frage, auf die wir Schritt für Schritt die Antwort suchen werden: Wie lang ist das codierende Wort (ich nenne es Codon), das einen Klartext-Buchstaben codiert?

Eine Bemerkung en passant:
Diese Art von Verschlüsselung ist für Mathematiker ein gefundenes Fressen, weil man sich hier so richtig austoben kann, und der Erfolg ist garantiert. Dieser Workshop ist aber nicht an Mathematiker gerichtet, sondern an Kinder und mathematische Laien, die kein besonderes Decodierungswerkzeug besitzen, mathematische Formeln nicht verstehen (oder gar hassen) und wenn sie auf das Wort Logarithmus stoßen, das Buch wieder zuklappen und ihr Decodierungs-Vorhaben unverrichteter Dinge traurig aufgeben. Dieser Workshop soll Kindern und mathematischen Laien Wege zeigen, komplexere, und auf den ersten Blick „unheimlich schwierige“ Decodierungsaufgaben so anzuschauen, daß sie Schritt für Schritt zum Klartext gelangen.


Codonlänge ermitteln

Es gibt Codierungsarten mit variabler Codonlänge wie z.B. das Morsen:
(. = e; .- = a; .-.. = l), hier muß es noch eine Pause geben, die uns erlaubt, zwischen .-.. = „aee“ und .-.. = „l“ zu unterscheiden; z.B. so:
.-/./. = „aee“.

In unserem Geheimtext ist keine Pause erkennbar, deshalb machen wir die Annahme, daß die Codonlänge konstant ist. Diese Annahme muß nicht richtig sein, aber um die Richtigkeit dieser Annahme zu prüfen, müssen wir sie erst mal machen. Augenzwinkern

Wäre die Codonlänge = 1, könnte man mit einem Zeichenvorrat von zwei Geheimtext-Buchstaben (hier B und e) nur zwei Klartext-Buchstaben darstellen – z.B.:
B = a und e = b.
Mit einem solchen Zeichenvorrat können wir nur sehr wenige sinnvolle Wörter schreiben (z.B. ab, abba, baba), sinnvolle Sätze wahrscheinlich gar nicht.
Wäre die Codonlänge = 2, würde es die Anzahl von möglichen Klartext-Buchstaben erheblich erweitern: BB = a, Be = b, eB = c, ee = d
Mit anderen Worten: Zwischen der Codonlänge, Geheimtext-Zeichenvorrat und Anzahl der darstellbaren Zeichen im Klartext besteht eine (mathematische) Beziehung. Ich habe die Ergebnisse dieser Beziehung für einige Werte in der unten stehenden Tabelle dargestellt.



Ich denke, die Tabelle erklärt sich selbst, ich habe unter der Tabelle noch vier farbige Beispiele gezeigt, wie die grünen Zahlen zustande kommen. Interessant sind die Zahlen, die in der Tabelle fettgedruckt sind, weil dieser Bereich innerhalb der uns bekannten ASCII-Zeichen-Drehscheibe (ASCII- Tabelle) liegt.
Um alle 26 Zeichen/Buchstaben des Minimal-Alphabets darstellen zu können, brauchen wir mindestens 26 verschiedene Codons – also suchen wir in der Tabelle:

In der Spalte 2 (das ist die Anzahl der Zeichen in unserem Geheimtext-Zeichenvorrat, zwei - nämlich „B“ und „e“) suchen wir die kleinste grüne Zahl, die gleich oder größer 26 ist (das ist die Zahl 32). In dieser Zeile lesen wir in der Lila-Spalte die Zahl 5.
Um aus einem Geheimtext-Zeichenvorrat von nur zwei Zeichen alle 26 Zeichen/Buchstaben des Minimal-Alphabets darstellen zu können, brauchen wir eine Codonlänge = 5. Das ist die minimale Codonlänge.
Weil wir nicht wissen, welcher Zeichenvorrat dem Klartext zugrunde liegt, dürfen wir uns nicht mit dem Minimal-Alphabet begnügen; bei unserer Suche ziehen wir alle Möglichkeiten für eine sinnvolle Codonlänge in Betracht; das sind die, mit denen man mindestens 26 und maximal 256 Zeichen darstellen kann.

Das Ergebnis unserer Suche ist: für eine wahrscheinliche Codonlänge ziehen wir vier Kandidaten in Betracht: 5, 6, 7 und 8.

Im nächsten Schritt werden wir versuchen, aus diesen vier Kandidaten wenigstens einige auszuschließen. Unser Geheimtext hat eine Länge von 623 Zeichen. Diese Zahl kommt durch das Aufsummieren der Klartextzeichen, multipliziert mit der Codonlänge, zustande, also diese Zahl 623 muß durch die Codonlänge ohne Rest teilbar sein. Die Zahl 623 ist eine ungerade Zahl, deshalb können wir die Kandidaten 6 und 8 ausschließen, und weil die Zahl 623 nicht mit 5 oder 0 endet, kann sie auch nicht durch 5 teilbar sein, somit bleibt die 7 als einziger wahrscheinlicher Kandidat. Wir überprüfen: 623:7=89
Ich betone – dieses Ergebnis: Codonlänge = 7 muß nicht richtig sein, aber es ist richtig, sie als erste auszuprobieren.

Ich fasse zusammen, welche Annahmen wir machen:
  • konstante Codonlänge
  • jedes Codon codiert ein Klartext-Zeichen
  • minimale Codonlänge von 5 (für 26 Zeichen)
  • maximale Codonlänge von 8 (für 256 Zeichen)
  • Codonlänge = 7, weil 7 im Bereich der min. und max. Codonlänge liegt, und 623 durch 7 ohne Rest teilbar ist


Klartext extrahieren

Prinzip: Wir teilen unseren Geheimtext in 7-Zeichen-Codons auf (etwa so: eBBBeBB eeBeBBe eeBBeBe eeeBBee eeBBeBe BeBBBBB eBBBBBe eeeBBeB eeeBeBB ...), erstellen eine Tabelle mit Codon-Häufigkeit und teilen jedem Codon ein Klartext-Zeichen zu - so, wie wir das in den früheren Lektionen getan haben. Halt!
Wenn wir das so direkt machen würden, kämen wir zwar auch zum Ziel, aber wir hätten eine unnötig mühsame Arbeit vor uns. Der direkte Weg hat den Nachteil, daß wir die Codons (Buchstabengruppen) nicht direkt graphisch darstellen können - die Zeichenmelodie bliebe für uns unsichtbar. Ihr habt schon bemerkt, daß ich ein Liebhaber von Zeichenmelodien bin. Ich will diesen Weg keinem aufzwingen, aber ich will ihn nicht unerwähnt lassen, und wähle einen kleinen, zeitsparenden Umweg. Wer den direkten Weg wählt, kann seinen Bleistift anspitzen und die Strichliste für Codon-Häufigkeit machen und den Rest dieser Lektion überspringen; wer Lust auf einen Umweg und Zeichenmelodie hat, startet sein Excel-Programm. Augenzwinkern

Die graphischen Darstellungen, die ich euch gezeigt habe, brauchen Zahlen, d.h. wir müssen unsere Codons (Buchstabengruppen) in Zahlen umwandeln. Wir ersetzen in unserem Geheimtext jedes B durch eine 0 (Null) und jedes e durch eine 1. Das machen wir mit der Ersetzen-Funktion in einer Textverarbeitung oder in Excel.
Vorgehensweise in der Excel-Tabelle:
  • Den durch Nullen und Einser ersetzten Geheimtext in die Zelle B1 einfügen (via copy/paste)
  • Anzahl der Zeichen ermitteln - in die Zelle B2 eintippen:
    =LÄNGE(B1)
    als Ergebnis kommt 623
  • die siebenstelligen Codons lassen wir von Excel untereinander in eine Spalte erzeugen – in die Zelle A3 eintippen:
    =TEIL($B$1;ZEILE(A1)*7-6;7)
    und über 89 Zeilen nach unten ziehen (bis in die Zelle A91)

Das Ganze sieht etwa so aus:



und nach dem Berechnen:



Das, was wir in der A-Spalte sehen, sind Zahlen in Binärcode. Diese Zahlen lassen wir von Excel in Dezimalzahlen umwandeln; wir schreiben in die Zelle B3:
=BININDEZ(A3)
und ziehen über 89 Zeilen nach unten (bis zu Zelle B91) und schon haben wir unseren Geheimtext in Dezimalzahlen,



die wir graphisch darstellen können (wie in den früheren Lektionen).



Und was sehen wir? Eine wohlklingende Zeichenmelodie eines deutschen richtig positionierten Klartextes! Drei Großbuchstaben, 14 Leerzeichen, ein Satzzeichen, sonst Kleinbuchstaben ... So viel Glück gibt es selten, deshalb extrahieren wir den Klartext, wie gewohnt mit dem Eintrag in die Zelle C3:
=ZEICHEN(B3)
und ziehen den Eintrag über 89 Zeilen nach unten (bis in die Zelle C91)



und lesen in der C-Spalte den Klartext von oben nach unten:
Klartext:
Diese Art von Verschluesselung gehoert zu den aeltesten und sie ist bei mir sehr beliebt.
Ende
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 7:

Die Annahme einer konstanten Codonlänge ist keineswegs selbstverständlich, und – was noch schlimmer ist – eine konstante/variable Codonlänge ist im Geheimtext häufig „unsichtbar“. In einigen Fällen werden wir nach der Codonlänge vergebens suchen, insbesondere dann, wenn sie variiert, wie in dem nächsten Beispiel.

Beispiel für eine variable Codonlänge

Geheimtext (Textlänge: 753 Zeichen):
code:
1:
eeeeeeBeeBBeBeBeeBBBeeeBeBBeBBeeBBBeeeBeBeeeBeeBeeBeBBeeBBBBeeBeeBeBeeeeBBBeeeeBBeeBeeeBeeBeBBeeBBBeBeeBeeeeeeBBBBeBeBeeBeBeeeeBBeBeeeeeBeeeeBBeBeeBBBeeeBBeeBeBeeeeBBBBeeBeBBeeBBBBeeeBBBeeeBBeBeeeeBBBeeBBeeeeeBBeeBeeBBeBeeBeBeeeBBeeBeeeBeBeeBBeeBBeBeBeeBBBeeeBeBBeBBeeBBBeeeBeBeeeBeeBeeBeBBeeBBBBeeBeeBeBeeeeBBBeBeeBeeeeBBeeBBBBeeBBBeeeeBeeeBeeeeBeeeeBBeBeBBBeeBBBeeeBBeBeeBeBBeeBBBBeeBBeeeeBBeBeeeBBBeeBBBeeeBeBBeBBeeBBBeeeBeBeeeBeeBeeBeBBeeBBBBeeBeeBeBeeeeBBBeBeeeBeBeeeeBBeBeeBeeeeeBeeeeeBBeeBeBBeeBBBeeeBeBeeeBBeeeeeBBeeBeeeeBeBeBBeBeeBeBeeBeeeeeeBBBBeBeBeeBeBeeeBBeBeeBeBBeeBBBBBeeeBeeBeeBBeBeBBBeeeeeeeeeeBBBBeeBeBBeeBBBBeBBBeBeeeeBBeBeeBeBBeeBBBBeeBeeeeeeBBBBeeeeBBeeeBeBeBeeeeeBBeeeeBBBeBBeeBBBeeeeeBBeeBBeeeBBBeeeBBeeBeeBBBBeeeBBBBeeBBeeeeeBeee

Ende
Prüfsumme: 64538 $FC1A

Führen wir die Zeichenanalyse nach dem Muster des vorherigen Beispiels durch.

Zeichenanalysen

Der Zeichenvorrat des Geheimtextes besteht aus zwei Zeichen:
  • 329 x der Buchstabe „B“
  • 424 x der Buchstabe „e“

In der Tabelle Codonlänge ermitteln sehen wir, daß wir bei einer konstanten Codonlänge die Kandidaten 5, 6, 7 und 8 in Betracht ziehen könnten. Unser Geheimtext hat eine Länge von 753 Zeichen. An dieser Stelle erkennen wir, daß der Geheimtext höchstwahrscheinlich eine variable Codonlänge hat, denn die Zahl 753 ist durch keine der Kandidaten-Zahlen (5, 6, 7 oder 8) ohne Rest teilbar! Es gibt nur zwei Zahlen (außer 1 und 753), die 753 ohne Rest teilen: es ist die 3 und die 251; jedoch keine dieser beiden Zahlen könnte für eine sinnvolle konstante Codonlänge kandidieren. Ich muß wohl nicht betonen, daß wir Glück haben, die variable Codonlänge an dieser Stelle erkannt zu haben; hätte unser Geheimtext eine Länge von (sagen wir) 1680 Zeichen, hätten wir die variable Codonlänge an dieser Stelle nicht erkannt. Wir hätten nach einer konstanten Codonlänge lustig weiter (vergebens) gesucht.

Der Geheimtext ist tatsächlich mit einer variablen Codonlänge verschlüsselt, und der Schlüssel zu diesem Geheimtext ist in einem Baum hinterlegt; fürgewöhnlich wird dieser Baum mitgeliefert. Nach diesem Prinzip werden Informationen komprimiert, und mit dem Baum dann wieder eindeutig in den Ursprungszustand zurückgebracht. Für eine Komprimierung wäre dieser Baum nicht sehr effizient, aber als Übungsbaum für eine Decodierung reicht er aus. Den Neugierigen unter euch zeige ich, wie man per Hand diesen „Geheimtext“ nach einem Baum decodiert, werde das Thema aber gleich verlassen; es sollte nur als Beispiel für eine variable Codonlänge dienen.



Decodieren mit Hilfe eines Baumes

Wir bringen unseren Geheimtext in die 0/1-Form; jedes B wird durch eine 0 (Null) ersetzt jedes e wird durch eine 1 ersetzt, und wir erhalten:

php:
1:
111111011001010110001110100100110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111


Um einen Buchstaben zu decodieren, fangen wir immer an dem bleuen Pfeil (Wurzel des Baumes) an.
  • Eine 1 im Geheimtext sagt uns, daß wir an einer Verzweigung (Knoten) nach unten gehen
  • Eine 0 (Null) im Geheimtext sagt uns, daß wir an einer Verzweigung nach oben gehen
Diese Einser und Nullen führen uns (über Verzweigungen) zu einem Buchstaben/Zeichen. Kommen wir am Buchstaben/Zeichen an, notieren wir ihn/es, markieren, wo wir im Geheimtext aufgehört haben, und springen zu dem blauen Pfeil zurück. Fangen wir an.

1. Zeichen: Vom Pfeil aus: runter, runter, runter, runter, runter, runter, hoch E; der erste Buchstabe ist ein E, codiert durch 1111110; wir notieren den Buchstaben, setzen eine Markierung im Geheimtext
php:
1:
2:
E
1111110 11001010110001110100100110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

und springen zum Pfeil
2. Zeichen: Vom Pfeil aus: runter, runter, hoch, hoch, runter, hoch i; der zweite Buchstabe ist ein i, codiert durch 110010
php:
1:
2:
E       i
1111110 110010 10110001110100100110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

Sprung zum Pfeil
3. Zeichen: Vom Pfeil aus: runter, hoch, runter n; der dritte Buchstabe ist ein n, codiert durch 101
php:
1:
2:
E       i      n
1111110 110010 101 10001110100100110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

Sprung zum Pfeil
4. Zeichen: Vom Pfeil aus: runter, hoch, hoch e; der vierte Buchstabe ist ein e, codiert durch 100
php:
1:
2:
E       i      n   e
1111110 110010 101 100 01110100100110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

Sprung zum Pfeil
5. Zeichen: Vom Pfeil aus: hoch Space; das fünfte Zeichen ist das Leerzeichen, codiert durch 0
php:
1:
2:
E       i      n   e   
1111110 110010 101 100 0 1110100100110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

Sprung zum Pfeil
6. Zeichen: Vom Pfeil aus: runter, runter, runter, hoch, runter, hoch, hoch V; das sechste Zeichen ist ein V, codiert durch 1110100
php:
1:
2:
E       i      n   e     V
1111110 110010 101 100 0 1110100 100110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

Sprung zum Pfeil
7. Zeichen: Wir sehen 100 - dieses Codon kennen wir schon, es codiert ein e.
Dieser (Baum)Code hat eine besondere Eigenschaft: Kein Codon existiert als Präfix eines anderen Codons, deshalb können wir ein bekanntes Codon (hier 100) gleich eintragen - es gibt kein Codon, das mit 100 anfängt; wenn diese 100 schon ein Zeichen codiert, darf diese 100 nicht am Anfang eines anderen Codons vorkommen! Das gleiche gilt für alle Codons in diesem Baum. Also - markieren und weiter decodieren
php:
1:
2:
E       i      n   e     V       e
1111110 110010 101 100 0 1110100 100 110001110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

Sprung zum Pfeil
8. Zeichen: Vom Pfeil aus: runter, runter, hoch, hoch, hoch, runter r; das achte Zeichen ist ein r, codiert durch 110001
php:
1:
2:
E       i      n   e     V       e   r
1111110 110010 101 100 0 1110100 100 110001 110101110110110100110000110110101111000111100110111011010011000101101111110000101011010111100101111101111001011000111001101011110000110100110000111000111001011110001100111110011011001011010111001101110101100110010101100011101001001100011101011101101101001100001101101011110001011011110011000011000111101110111101111001010001100011100101101001100001100111100101110001100011101001001100011101011101101101001100001101101011110001011101011110010110111110111110011010011000111010111001111100110111101010010110101101111110000101011010111001011010011000001110110110010100011111111110000110100110000100010111100101101001100001101111110000111100111010101111100111100010011000111110011001110001110011011000011100001100111110111

Sprung zum Pfeil

Den Rest schafft ihr schon alleine. Augenzwinkern
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 8:

Wenn der Mensch nur vier Finger hätte ...

Geheimtext (Textlänge: 596 Zeichen):
code:
1:
eBreertrBrBBereeerreertrereeetBrBrBBeerrereeerreeteBBrBBetrreteeertrereeerrBerteereeertrereBereeetBrBrBBeeeeertretBterreerBterrBereeetBrerrBereeerreeteBBrtBBrBBeretereeeteterreertrertrereeertrBrBBeBeBerreertreretereeBrBBerBeertrBrBBeBBrereeereBereeeteeeteBeteeertreretBrtBBrBBereBerreereeBrBBetrreteeBrBBertrerttetBrerteerBeertBereeertrBrBBeerrereeerreeteBereeertrBrBBerrterBeeteeerteBrBBereBerBeetBtBrBBeBrBereeerBrereeertrBrBBereBereeetBrBrBBeBBeeteeeretereeertrerBretBrerBeeteeereeBrBBetetereeetBreteBBrBBetettreBetBrereeertrBrtrBrBBeerteeBBereeeteBereeetBrBrBBeeeeetBteteBerreertrerttetereete

Ende
Prüfsumme: 59369 $E7E9

Zeichenanalysen und Codonlänge ermitteln

Führen wir die Zeichenanalyse nach dem Muster in Lektion 6 durch.
Der Zeichenvorrat des Geheimtextes besteht aus vier Zeichen:
  • 116 x der Buchstabe „B“
  • 243 x der Buchstabe „e“
  • 161 x der Buchstabe „r“
  • 76 x der Buchstabe „t“

Aus der Tabelle Codonlänge ermitteln sehen wir, daß wir bei einer konstanten Codonlänge die Kandidaten 3 und 4 in Betracht ziehen könnten.
Unser Geheimtext hat eine Länge von 596 Zeichen, die Zahl 596 ist nicht ohne Rest durch 3 teilbar, also bleibt die 4 als wahrscheinliche Kandidatin für die von uns gesuchte Codonlänge.

Klartext extrahieren

Wir verfahren wie in den früheren Lektionen: Wir teilen unseren Geheimtext in 4-Zeichen-Codons auf (etwa so: eBre ertr BrBB eree erre ertr eree ...), erstellen eine Tabelle mit Codon-Häufigkeit und teilen jedem Codon ein Klartext-Zeichen zu - so wie wir das in den früheren Lektionen getan haben.
Auch hier könnte sich ein zeitsparender Umweg lohnen, indem wir die Buchstaben in Zahlen umwandeln, und die Zeichenmelodie anschauen, allerdings nur dann, wenn es uns auf Anhieb gelingt, die richtige Zuordnung B-->0; e-->1; r-->2; t-->3 zu treffen.

Bei der Arbeit mit einem Zeichenvorrat von nur zwei Zeichen gibt es nur zwei (= 2 x 1) mögliche Zuordnungen:
  • B-->0; e-->1
  • B-->1; e-->0

Das bedeutet, daß wir (höchstens) zwei Versuche brauchen, um die richtige Zuordnung zu treffen. Bei einem Zeichenvorrat von drei Zeichen sind es schon 6 (= 3 x 2 x 1) Möglichkeiten, und für vier Zeichen brauchen wir bis zu 24 (= 4 x 3 x 2 x 1) Versuchen ... ein solcher Umweg muß nicht mehr zeitsparend sein, er könnte zu einem zeitraubenden Herumstochern werden ...
Ich mache hier nur einen Versuch, wenn ich getroffen habe, hatte ich Glück, wenn nicht, decodiere ich in einem Alignment nach der Zeichen-Häufigkeit, wie ich es in Lektion 5 gezeigt habe.

Aufteilen des Geheimtextes in 4-Zeichen-Codons

Wir wählen die Zuordnung B-->0; e-->1; r-->2; t-->3 (ohne zu wissen, ob es so richtig ist) und ersetzen in unserem Geheimtext jedes B durch eine 0 (Null), jedes e durch eine 1, jedes r durch eine 2 und jedes t durch eine 3. Das machen wir mit der Ersetzen-Funktion in einer Textverarbeitung oder in Excel.
Vorgehensweise in der Excel-Tabelle:
  • den Geheimtext in die Zelle B1 einfügen (via copy/paste)
  • den durch Nullen, Einser, Zweier und Dreier ersetzten Geheimtext in die Zelle C1 einfügen (via copy/paste)
  • Anzahl der Zeichen ermitteln - in die Zelle B2 eintippen:
    =LÄNGE(B1)
    als Ergebnis kommt 596
  • die vierstelligen Codons in Form von Zahlen (aus den Ziffern 0, 1, 2, 3) lassen wir von Excel untereinander in eine Spalte erzeugen– in die Zelle A3 eintippen:
    =TEIL($C$1;ZEILE(A1)*4-3;4)
    und über 149 Zeilen nach unten ziehen (bis in die Zelle A151)

Mit diesem Zug betreten wir das Land der „Leute mit nur vier Fingern“.

--- Das ist eine Sprungmarke zum späteren Fortsetzen ---


Wer keine Lust auf das schöne Vierer-System hat und nur die vierstelligen Codons in Form von Buchstaben „B“ „e“ „r“ „t“ in eine Spalte erzeugen will, tippt in die Zelle A3 ein:
=TEIL($B$1;ZEILE(A1)*4-3;4)
zieht diesen Eintrag über 149 Zeilen nach unten (bis in die Zelle A151) und arbeitet weiter mit den Vier-Buchstaben-Codons (Codon-Häufigkeit, Alignment und mit Hand und Kopf decodieren wie in Lektion 5).

Umrechnung aus dem Vierer-System ins Dezimalsystem

Der Ziffernvorrat in unserem Dezimalsystem besteht aus zehn Ziffern (0, 1, 2, 3, 4, 5, 6, 7, 8 und 9), das kann daran liegen, daß wir zehn Finger haben (ein Computer hat nur zwei Finger - 0 und 1), zumindest sehe ich keinen anderen plausiblen Grund, im Dezimalsystem zu rechnen.
Hätten wir nur vier Finger, so hätten wir ein Vierer-System und würden von 0 bis 9 so zählen:
0, 1, 2, 3 (alle Finger voll, also nächste Stelle) 10, 11, 12, 13 (alle Finger voll, also nächste Stelle) 20, 21.
Zwar kann Excel diese Umrechnung nicht aus dem Stegreif, wie wir es bei der Umrechnung von Binärzahlen gesehen haben, aber wir kriegen es auch so hin. Bevor ich den Excel-Eintrag formuliere, möchte ich in einer kleinen Tabelle zeigen, was der Excel-Eintrag macht:



In der Tabelle sind zwei Beispiele berechnet; es sind die Vierer-System-Zahlen 1021 und 1232, ich erkläre jetzt die Umrechnung der Vierer-System-Zahl 1021. Die vierstellige Vierer-Sysem-Zahl (betrachten wir 1021) wird in ihre einzelnen Ziffern zerlegt (1; 0; 2; 1) und jede dieser Ziffern wird, je nach ihrer Position, entweder mit der Zahl 64 oder 16 oder 4 oder 1 multipliziert und die Zwischenergebnisse (64; 0; 8; 1) werden aufaddiert. Die Summe (64+0+8+1=73) ergibt die Dezimalzahl 73.
Es gibt Menschen, die diese Umrechnung im Kopf durchführen können, indem sie den mittleren Teil dieser Tabelle visualisieren. Es muß keiner tun, ein Taschenrechner oder Excel machen das für uns.

Wir gehen zurück zu unserer Excel-Tabelle (wo ich die Sprungmarke gesetzt habe) und tippen in die Zelle C3 ein:
php:
1:
=4^3*WERT(TEIL(A3;1;1))+4^2*WERT(TEIL(A3;2;1))+4^1*WERT(TEIL(A3;3;1))+4^0*WERT(TEIL(A3;4;1))

und ziehen den Eintrag über 149 Zeilen nach unten (bis in die Zelle C151). Das Ganze sieht dann etwa so aus:



und nach der Berechnung:



Die (dezimal)Zahlen aus dem Bereich C3:C151 können wir graphisch darstellen



und sehen gleich den Klartext. smile
Wir extrahieren den Klartext, wie gewohnt mit dem Eintrag in die Zelle B3:
=ZEICHEN(C3)
und ziehen den Eintrag über 149 Zeilen nach unten (bis in die Zelle B151)



und lesen den Klartext von oben nach unten:
Klartext:
In einer Zeit zunehmender Unsicherheit, gewinnen Dinge an Bedeutung, die zu normalen Zeiten kaum das Heben der Augenbraue wert wären. [Peter Ustinov]
Ende

Analog diesem Beispiel können wir auch mit anderen Zahlensystemen umgehen.
Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 9:
Schau mir über die Schulter


Wer die Lektionen bis zu dieser Stelle durchgearbeitet hat, besitzt ein beachtliches Rüstzeug, mit dem er selbständig mittelschwere Geheimtexte decodieren kann. Mancher aber traut sich noch nicht richtig oder verspürt Unsicherheiten ...
Bei den nächsten beiden Aufgaben werde ich so vorgehen, wie ich es in den früheren Lektionen gezeigt habe. Da die verwendeten Methoden bereits erklärt wurden, werde ich die Methodik nur spärlich kommentieren und beschränke mich nur auf die „Begründung“, warum ich die eine und nicht die andere Wahl treffe. Wer will, kann die Aufgaben alleine lösen, wer noch ein bißchen Hilfe braucht, kann mir über die Schulter gucken.

Geheimtext (Textlänge: 501 Zeichen):
code:
1:
eBBrttrr BerrrBr ete rr r tBerettrr trBte rr Berrterr rrerr r tBerrterr terr trr BerrtetrBte rr Berretrr terrtrrrBr ete rr r ttetteerrBtteterrr rterr r er tBrrBertrBteeBertetrttrrrrtrBerrrtrrBtertt rrerr terBer   trBBerte terttttette rr r tBrrBerrrtrrBtteBertetrttrr Berr trttrrrrtrte Berteerr rtrterBerrttr tBerrrtrr terBerettrrBrterr Bertetrttr trrtBrrBertetrrrrtrr err rrrrtrte rr BerBttrr rtttetteBrttrr r err Ber   trBBerrterr rrerr r tBr Bere  ettrrBBerrB r  rrrrtrrr rtBr  trBrrrrrBtrBr errttBe

Ende
Prüfsumme: 48437 $BD35

Zeichenanalysen

51 x B
79 x e
200 x r
105 x t
66 x SPACE

Zeichenvorrat: nur fünf Zeichen, also suche ich nach Codons ...

Codonlänge ermitteln
  • Codonlänge =2 ergibt 25 Zeichen für den Klartext-Zeichenvorrat; dürfte knapp sein, ginge aber zu Not (z.B. „q“ könnte als „kv“ dargestellt werden ...)
  • Codonlänge =3 ergibt 125 Zeichen für den Klartext-Zeichenvorrat; scheint sehr wahrscheinlich
  • Codonlänge =4 ergibt 625 Zeichen für den Klartext-Zeichenvorrat; das ist zu viel
  • Ich ziehe in Betracht den Kandidaten: 3 (eventuell auch 2)
    Geheimtextlänge = 501 Zeichen; 501 ist eine ungerade Zahl, also Codonlänge = 2 fällt raus; 501:3=167
  • Ergebnis: Codonlänge =3; Klartextlänge = 167 Zeichen

Graphische Darstellung des Geheimtextes

Zeichen ersetzen durch Ziffern (0, 1, 2, 3, 4):
B --> 0
e --> 1
r --> 2
t --> 3
SPACE --> 4

Aufteilung des Geheimtextes in 3-Zeichen-Codons (Tripletts) (mit Excel wie in „Wenn der Mensch nur vier Finger hätte ...“)
=TEIL($C$1;ZEILE(A1)*3-2;3)
Umrechnung aus dem Penta-System ins Dezimalsystem (mit Excel wie oben)
php:
1:
=5^2*WERT(TEIL(A3;1;1))+5^1*WERT(TEIL(A3;2;1))+5^0*WERT(TEIL(A3;3;1))




Höchstwahrscheinlich wurde in nur einem Alphabet verschlüsselt. Eine harmonische Melodie eines deutschen Klartextes kann ich zwar nicht erkennen, auch keine Verschiebung; entweder war die Zuordnung B --> 0; e --> 1; r --> 2; t --> 3; SPACE --> 4 falsch, oder es wurde nach einer unbekannten Tabelle verschlüsselt (oder beides). Das nehme ich in Kauf.
Wenn meine Annahme Codonlänge=3 richtig ist, dann hätte der Klartext 167 Zeichen – das ist nicht sehr viel, aber es könnte reichen, um den Geheimtext nach der Zeichenhäufigkeits-Methode (hier Codonhäufigkeit) größtenteils decodieren zu können, wenn tatsächlich in einem einzigen Alphabet verschlüsselt wurde.

Codon-Vorrat und -häufigkeit im Geheimtext



Es wurden 32 Codons verwendet (gerade ein Fünftel der möglichen Codons) und sowohl die Anzahl der verwendeten Codons als auch die Verteilung ihrer Häufigkeiten könnte einem (kurzen) sinnvollen deutschen Text entsprechen. Ich erwarte Klein- und Großbuchstaben, Leer- und Satzzeichen, eventuell Umlautvokale u/o Ziffern.
Die zwei häufigsten Zeichen der deutschen Texte sind SPACE (das Leerzeichen) und der Buchstabe "e" (Häufigkeiten über 10 %). Nun stehe ich vor der Entscheidung, welches dieser beiden Zeichen ich dem häufigsten Codon zuordnen soll. Das könnte ich ausprobieren, sind ja nur zwei, aber ... welches der beiden Codons (012 - dec 7; 224 - dec 64) das Leerzeichen wahrscheinlich codiert, kann mir die Zeichenmelodie verraten:



Stünde das Codon 224 (dec 64) für ein Leerzeichen, wären im Text vier Ein-Buchstaben-Wörter. Ein-Buchstaben-Wörter sind in deutschen Texten eher selten (wohl aber in englischen), der Klartext ist ein deutscher Text, deshalb entscheide ich:
012 (dec 7) --> Space
224 (dec 64) --> e

Bem.: Bei den vier Ein-Buchstaben-Wörtern könnte sich auch um Ziffern handeln, dann wäre meine Entscheidung falsch.

Blick in die Häufigkeitstabelle - das dritthäufigste Zeichen könnte ein n sein.
243 (dec 73) --> n



Für die Decodierung mache ich ein zweifarbiges Alignment Geheimtext/Klartext und mit Hilfe der Ersetzen-Funktion extrahiere ich nach und nach den Klartext.
Das Leerzeichen (SPACE) habe ich hier als „ „ eingetragen; das ist Geschmacksache, ihr könnt ein anderes Symbol nehmen.



Das war ergiebig, mehr als ein Drittel des Textes ist decodiert. 26 Wörter im Klartext; kein Wort beginnt mit einem e. Unter den fünf Drei-Buchstaben-Wörter-Kandidaten suche ich Artikel (der, die das ...); unbestimmte Artikel gibt es nicht. Die Drei-Buchstaben-Wörter sind im Alignment gelb markiert ...
Aus der Zeichenmelodie werde ich mehr erfahren.



Drei Satzzeichen-Kandidaten - Komma oder Punkt, hier wahrscheinlich ein Komma; Kommata kommen immer nur vor einem Leerzeichen vor, nie mitten im Wort oder hinter einem Leerzeichen. 022 (dec 12) --> Komma
Zwei lange Wörter; einmal 19 Zeichen, einmal 13 Zeichen. Zweimal zwei gleiche Wörter, die werde ich im Auge behalten.

Das erste Wort fängt (höchstwahrscheinlich) mit einem Großbuchstaben an; i hat die viertgrößte Häufigkeit in deutschen Texten, also suche ich in diesen Drei-Buchstaben-Wörter-Kandidaten an der Position des zweiten Buchstaben vor einem „e“ nach einem Codon mit der viertgrößten Häufigkeit – Codon 233 (dec 68) könnte ein i sein; Codon 223 (dec 63) könnte ein d sein. Codon 223 hat eine Häufigkeit von 2,99 % - auch in Ordnung.



Jetzt suche ich nach r, t, s – ich erwarte bei diesen Kandidaten eine Codon-Häufigkeit von etwa 4-6 %, das sind:
  • 220 (dec 60) ist kein t und auch kein s, weil es zweimal hinter einem Anfangs-d vorkommt; könnte eher ein Vokal sein
  • 312 (dec 82) könnte ein m oder ein r sein – wegen « in de312 », wegen der Häufigkeit entscheide ich mich für ein r
  • 314 (dec 84) kommt sechsmal vor einem e vor, einmal am Anfang und einmal am Ende eines Wortes – das spricht für einen häufigen Konsonanten s oder t
  • 232 (dec 67) kommt fünf- von siebenmal hinter dem Codon 222 (dec 62) und dies seinerseits kommt nur einmal außerhalb dieser Paarung – Verdacht auf ch oder ck, wegen der Häufigkeit ist „ch“ wahrscheinlicher
  • 313 (dec 83) könnte ein s sein – wegen « 313ie » und « 313ind », deshalb entscheide ich 314 (dec 84) kann ein t codieren
  • 320 (dec 85) kommt dreimal als Zwei-Buchstaben-Wort vor – in der Aufgabe eines r, t oder s überzeugt mich wenig, deshalb bleibe ich bei meiner Entscheidung



Nun habe ich mit nur 9 von 32 Zeichen über die Hälfte des Geheimtextes decodiert; jetzt kann ich einzelne Wörter erkennen ...
231erne --> gerne
si222232 --> sich; ni222232t --> nicht
231 (dec 66) --> g
222 (dec 62) --> c
232 (dec 67) --> h




ge221en --> geben
rege241n --> regeln
sch241echte --> schlechte
tr333sten --> trösten
d220331 --> daß
311ehr --> mehr
221 (dec 61) --> b
241 (dec 71) --> l
333 (dec 93) --> ö
220 (dec 60) --> a
331 (dec 91) --> ß
311 (dec 81) --> m




Nun kann ich fast auflösen; bis auf zwei Zeichen …



Es ist mir zwar nicht gelungen, die Codontabelle (alle 125 Codons) und den Geheimtext vollständig zu decodieren, dafür war der Text zu kurz, aber die wesentliche Information gab der Geheimtext preis.

Deutlich einfacher und schneller kann man einen langen Text decodieren. Neulich hat jemand in Matheboard um Hilfe beim Decodieren dieses Geheimtextes gebeten. Der Text sieht geheimnisvoller aus, als er tatsächlich ist.

Den schafft ihr jetzt leicht ...

Geheimtext (Textlänge: 5.238 Zeichen):
code:
1:
þµ¥µ¥µþþµþ¥þµ¥¥¥¥¥þµµþµ¥µ¥µ¥¥þ¥µµµþþµ¥¥µµµµ¥µþµµ¥þµµþ¥µµµ¥¥þþµþþµµþµ¥¥µµµµþµµµ¥µµþµ¥¥¥µþµþþ¥µ¥µµµµþµ¥µ¥¥þ¥µµþµµþþþµµþµ¥µ¥µµµþþµ¥µ¥þµ¥¥þ¥¥µþµµ¥þµþ¥µ¥µµþµþþþþµ¥¥µ¥¥þ¥µµ¥µ¥µµµµþ¥¥¥þþµ¥µµµµþ¥¥µþµþ¥µµµþ¥µ¥µ¥¥¥þ¥µµ¥µþþµµ¥µ¥µµþµþµµµþµµþµ¥µ¥µ¥¥þ¥µµþ¥þµµµ¥µµþþµ¥¥¥þµþ¥þµ¥¥µ¥¥þþ¥µ¥µµþþþµµþµ¥µþþµ¥µµþþµµ¥µþµµþµ¥þ¥µµ¥¥¥¥¥þµµþµ¥¥µµ¥¥þ¥¥¥þµµþµ¥þ¥µ¥µµ¥µ¥µ¥µþþµþ¥µþþµµ¥µþ¥µ¥þ¥¥¥µþþµ¥µµµ¥µþþµþµþþµµþµ¥µ¥µ¥¥¥¥¥þµ¥µ¥¥þ¥µµ¥þµ¥¥µ¥¥þ¥¥þþµþþ¥µ¥µµµµþµµµ¥µµµµþµ¥µ¥¥þ¥µµþµµ¥¥µþµµþµ¥µ¥µ¥µµ¥þ¥µ¥µþþµµ¥µ¥¥¥þ¥µþµþ¥µµµþµµ¥µþ¥µþ¥þþ¥µ¥µµ¥¥µµ¥¥þµþ¥µµµþþµ¥µµµ¥µµµ¥¥þµµþµ¥µ¥¥þ¥µµµ¥¥þþþµþþµþþµ¥µ¥¥þ¥µµµµµ¥¥þµµþ¥µµµµþµ¥µ¥¥þ¥µµþþµµ¥µþµþþ¥µ¥µµ¥¥µµ¥¥þµþ¥µµ¥þ¥þþþ¥¥þµµµþµþ¥µµ¥þ¥µ¥µþ¥µþþµ¥¥µþµµþµ¥þ¥µµ¥µ¥¥þ¥µµþµþþþþµ¥¥µ¥¥þ¥µµ¥µþµþþ¥µ¥µµµµþµµµ¥µµµ¥µþþµµµ¥þþþµ¥¥µþþþþµµ¥µ¥¥¥þµµþµ¥¥µµµþ¥µ¥µ¥¥¥þ¥µµ¥µþþµ¥µµþµþµµµþµµþµ¥µ¥µ¥¥þ¥µµþµþþþþ¥µµµ¥¥þþþµþþµþþµ¥µ¥µµ¥þ¥¥¥¥þ¥µþ¥µµ¥µ¥µµ¥¥µµµµþµµþµ¥¥µµµµþµ¥µ¥¥¥¥¥þµ¥µ¥¥þ¥µµþþ¥µ¥µþþµþµþþþþµ¥µ¥¥þµ¥¥¥¥¥þµµþµ¥µ¥µ¥¥þ¥µµµ¥¥þþþµþþþµµþþþµµþµ¥µ¥µµµµþµ¥µ¥¥þ¥µµµµþµµµ¥µµ¥¥¥þ¥¥¥µµþµµ¥¥µþµµþµ¥µ¥µ¥µµµµ¥¥¥¥¥¥þµµþµ¥µþµþþ¥µ¥µµ¥¥µ¥þ¥µþþµ¥µþµþµ¥µþµ¥µ¥µ¥¥þ¥µµ¥µ¥þþþ¥¥þ¥µµµµþµ¥µþ¥¥¥µµþµµþþþµµþµ¥µ¥µµ¥þ¥¥¥¥þ¥µþ¥µµ¥µ¥µµ¥¥µµ¥¥µ¥¥µ¥µ¥µµµ¥¥þþþµþþþµþ¥µµ¥¥¥¥¥þ¥µµµµþµ¥µþþµ¥µµþµµþþþµµþ¥¥¥µ¥µþþµþ¥µµ¥µ¥¥þ¥µµµµ¥þþþþþµþ¥¥¥µµ¥¥¥¥¥þ¥µµµµþµ¥µþþµ¥µµ¥¥µµµµþµµþµ¥¥µµµµþ¥¥¥µ¥µþµþµ¥µþþµ¥µµþ¥µµ¥µµ¥þþ¥µ¥µµµþþµ¥µþµþþµµþµ¥þþµ¥¥¥µ¥µ¥þ¥µ¥µ¥¥þ¥µµ¥¥¥þµþþ¥µ¥µµµµµ¥¥þµµþ¥µµ¥þµµ¥µ¥¥¥¥¥þµ¥µ¥µµ¥þ¥¥¥¥µ¥¥µµþµ¥µþþµ¥µµ¥¥µ¥¥þµµþµ¥µþþµþµþ¥¥µþþµþ¥µ¥¥¥µþþµ¥µ¥µµµ¥¥þþþµþþþµþ¥µµµþ¥µ¥µþþµµµþµ¥µ¥¥þ¥µµµþþµ¥µµ¥¥þþþµ¥µþµþþµµþµ¥þ¥µ¥µµþµþþþþµ¥¥µ¥¥þ¥µµ¥µ¥µµ¥¥¥¥¥þþ¥µµ¥µþþµµ¥µþµþþµþµ¥µ¥µµ¥¥µ¥¥þ¥µµµ¥µ¥¥¥¥¥þµ¥µþ¥¥¥µµ¥µ¥µ¥µþþµ¥µµµµµ¥¥þµµþ¥µµµ¥µ¥¥þþ¥µþµþþµµþµ¥µ¥¥µµµµ¥µþµþþµþµ¥µµ¥¥þþ¥þþµþþþµþþþþµ¥¥µþ¥¥þ¥¥¥µµ¥þ¥µ¥µþµþþ¥µµ¥µþµ¥µ¥µ¥¥þ¥µµµ¥µþ¥¥¥¥µ¥¥¥µ¥¥¥µµ¥¥µ¥¥þ¥µµþ¥¥¥¥¥þµµþµ¥¥µµµµþ¥¥µþµþ¥µµþµþþ¥µþþþµ¥¥µ¥¥µ¥µ¥¥þþµþ¥µþþµþþ¥µµ¥µþ¥¥¥µµµµµ¥¥þþ¥µµ¥µþþµ¥µµµµþµ¥µþ¥¥¥µµµµþþþþµ¥µþþµ¥þ¥µ¥µþþµµþþ¥µµþµ¥¥¥µþ¥µ¥µµ¥¥¥¥¥þ¥µµµµþµ¥µþþµ¥µµþµ¥þþþþþµ¥¥¥þ¥þþþþ¥¥þþ¥µ¥¥µµ¥¥µ¥µ¥¥þ¥µµµ¥µ¥¥¥¥¥þµ¥µ¥µµ¥þ¥µ¥µ¥þµ¥¥µ¥¥þ¥¥þþ¥µµ¥µ¥µµ¥¥µµµµþµþµµþµ¥µþµ¥¥¥þµµµ¥¥þµþþ¥µµ¥µ¥þþþ¥¥þ¥µµþ¥þµ¥µþµ¥¥¥þ¥µµ¥þµ¥¥¥µ¥¥þþþþ¥¥µ¥µþ¥µµ¥µþþµ¥¥þ¥µµ¥¥¥¥¥þ¥µµµµþµ¥µþþµ¥µµ¥µ¥µ¥µþþµþ¥µ¥¥¥¥þµ¥¥µµ¥¥µ¥µ¥¥þ¥µµµþþ¥¥¥¥þ¥þ¥µ¥µµµ¥µþµþ¥µµþ¥þµ¥µþµ¥¥¥þ¥µµþµþþþþþµ¥µ¥¥µ¥µ¥¥þ¥µµµþµµ¥µµµþµ¥µ¥µµþµþµ¥µþµµþµ¥þ¥þ¥¥¥µþþ¥µµþ¥¥µ¥µþ¥µµ¥µþþµ¥µµµµµ¥¥þþ¥µµ¥µþþµ¥µµµµþµ¥µþþµ¥µµ¥¥µ¥¥þµµþµ¥µþþµµ¥µ¥¥þ¥µµµµþ¥¥¥µ¥µ¥µµµµµ¥¥þþ¥µµ¥µþþµþµþþ¥µµ¥µ¥¥þ¥µµþµþ¥¥¥µ¥µ¥þ¥µ¥µ¥¥þ¥µµþµþ¥¥¥¥¥þµµþ¥µµµµµµ¥µ¥þ¥µ¥µþþµµµ¥µ¥¥µµµþ¥µµ¥µþ¥µ¥µµ¥¥µµµµµµ¥¥µµþµþþþþþµ¥µ¥¥µ¥µ¥µµµµþþþµµ¥µ¥¥¥¥µµ¥þ¥µ¥µµµ¥¥¥¥¥¥þµµþµ¥µþ¥µ¥µµþµþ¥¥¥þµµþµ¥¥µµµµþ¥¥µþµþ¥µµ¥þ¥µ¥µþþµµþþµþ¥µ¥µþþµ¥þµþ¥¥µµµþµþµ¥µµµµþ¥¥¥µµþþµ¥¥µþ¥¥þµþ¥þ¥µ¥µþµµ¥þµ¥µµµ¥µ¥¥¥¥¥þ¥¥¥µþþµ¥µ¥µµ¥þþµµµµ¥µµ¥¥µ¥¥µ¥µ¥¥þ¥µµþµþþþ¥þþµµ¥µþµµþµ¥µ¥µ¥¥þ¥µµ¥µ¥þþþ¥¥þ¥µµþ¥þµþ¥þþþµ¥µµ¥¥µµ¥¥µµµµµ¥¥þµµþ¥µµ¥¥þ¥¥¥þµµþµ¥þ¥µ¥µµ¥µ¥þþþ¥¥þ¥µµþ¥þµ¥µþµ¥¥¥þ¥µµþµþþþþþµ¥µ¥¥µ¥µ¥¥þ¥µµ¥µ¥µ¥µþþµþ¥¥µµµþ¥µµ¥¥¥¥¥þµµþµ¥¥µµþµþ¥¥¥¥¥þµµþ¥µµþµ¥¥¥¥µ¥µþþµ¥µµµµþ¥¥¥µ¥µ¥µµ¥¥µµ¥¥þ¥µµ¥µ¥¥þ¥µµþµþþ¥µþþþµ¥¥µ¥¥µ¥µ¥¥þ¥µµ¥¥¥¥¥þ¥µµµþþµ¥µþþµ¥¥¥¥¥þµþþµ¥µþþµ¥µµþ¥µ¥¥¥µ¥µµµ¥µ¥µ¥µµµþþµ¥µþ¥¥µ¥µ¥¥¥¥¥þþ¥µ¥µµþµþþþþ¥µµþþþµµþµ¥µþþµ¥µµþµþþþþ¥µµµþþµ¥µ¥¥þµµµµþþ¥µµþþ¥µ¥¥¥¥µþ¥µþ¥þ¥µµµµµþ¥¥¥µµþµþ¥¥¥þµµþµ¥¥µµ¥¥µµµµþµþþ¥þµµµþ¥µþþþ¥þ¥µ¥µ¥¥þ¥µµµµµþ¥¥¥µµµµþµ¥µ¥¥þ¥µµþµµ¥¥µþµµþµ¥µ¥µ¥µµþ¥þµµµ¥µµµµ¥¥¥¥¥¥þµµþµ¥µ¥¥þ¥µµ¥þ¥µ¥µµþþµ¥µ¥þ¥þ¥µ¥µµ¥¥¥þµ¥þþµ¥µµµ¥µµµµþµµþµ¥¥µµþ¥þµµµ¥µµµµþµ¥µþþµ¥µµµþþþþµµµµ¥þ¥µ¥µ¥µµ¥¥µµµµþþµþþþþþµ¥¥µ¥µµ¥¥¥¥¥þ¥µµµµþµ¥µþþµ¥µµ¥¥þ¥¥µµ¥µþµ¥µ¥µ¥µµµµþµ¥µþµþ¥µµµµ¥þþµµ¥µ¥¥¥þ¥þµ¥µ¥¥¥þ¥µþþ¥¥¥µþþµ¥þµþµþ¥µµµµ¥þþþþþµþ¥µ¥µµµµ¥µµµ¥¥þ¥µµ¥þ¥µ¥µ¥¥¥¥µµ¥¥þþþþþþµµµþ¥µµµµ¥¥¥þµµ¥¥µµµ¥µ¥¥¥¥¥þþµþ¥µµµþþþþµ¥¥µµµþ¥µµµ¥µ¥¥¥¥¥þþµþ¥µµ¥¥þµ¥µµµµ¥¥þ¥µµþþ¥µµµ¥¥þ¥þµþ¥µ¥µµ¥¥þµµµµ¥¥µ¥¥¥µµ¥¥þµµµµ¥¥µ¥¥¥µµþµþµ¥µþµµþµ¥þµþ¥µµþþþþµþþ¥µ¥µµ¥¥µþµµþµ¥þ¥µ¥µµµþþþþµ¥¥µµµþ¥µµþ¥þµþ¥µ¥µ¥¥¥¥µµþµþµ¥µþµµþµ¥þµþ¥µµþþ¥µµµ¥¥þ¥þµþ¥µ¥µµþ¥þµþ¥µ¥µ¥¥¥¥µµ¥¥µþµµþµ¥þ¥µ¥µµþµþ¥¥¥µ¥µ¥þ¥µ¥µ¥¥þ¥µµþµ¥¥¥µ¥þ¥þ¥µ¥µµ¥¥¥þµ¥þþµ¥µµµµþ¥¥¥µ¥µ¥µµµµµ¥¥þþ¥µµ¥µþþµµþ¥µ¥µµ¥¥þ¥µ¥µµµ¥µþþµþµþþ¥µ¥µµµ¥µ¥¥¥¥¥þþ¥¥¥¥µµ¥¥¥µµ¥þ¥µ¥µþ¥µþþµµ¥µþ¥µµ¥µ¥¥þ¥µµþµþµµµþµµþµ¥þ¥µ¥µµ¥¥¥þµ¥þþµ¥µµ¥¥µµµµµµ¥¥µµþµ¥þþþþþµ¥¥¥þ¥þþþþ¥¥þþ¥µ¥¥µµ¥¥µ¥µ¥¥þ¥µµµþ¥µ¥µµþþµ¥µ¥¥þ¥µµ¥¥þ¥¥µþµµþµ¥¥µµµ¥µ¥¥¥¥¥þµ¥µþ¥¥¥µµµþþþþµþþþþµþþµþµ¥µ¥¥þ¥µµµ¥¥þþþþµµþµ¥¥µµ¥þµµµµþþµþ¥þ¥µµ¥þ¥µ¥µ¥µ¥þþþþþµ¥µµµµþµ¥µþþµ¥µµþµþþ¥µþþþµ¥¥µ¥¥µ¥µ¥¥þ¥µµµ¥µ¥¥þµµþµ¥µþ¥µ¥µµ¥¥¥þµ¥þþµ¥µµµþ¥µ¥µþþµµµþµ¥µþ¥µ¥µµµ¥µþµþ¥µµþµþþµµþµ¥þþþ¥¥þ¥µµµ¥µþþµ¥þµµ¥µ¥¥þ¥¥þµ¥µ¥¥þ¥µµµþ¥µ¥µ¥¥þ¥¥þ¥µµ¥¥¥þµ¥þþµ¥µµµµþ¥¥µ¥µ¥þþþþþµ¥µµþµþþ¥µµ¥µþµ¥þ¥µ¥µµµµµ¥¥þµµþ¥µµþþµ¥¥¥þµµþµ¥þ¥µ¥¥¥µþþ¥µµµµþ¥¥µ¥µµµþþµ¥µþµ¥þ¥µ¥µµµ¥µþµþ¥µµþþµµµµ¥¥þþ¥µµ¥µþþµ¥µµµµµ¥¥þþ¥µµ¥µ¥¥þ¥µµ¥¥µ¥¥þµþþµ¥µ¥þµþþþþ¥¥þ¥¥µ¥µ¥¥þ¥µµµþ¥¥¥¥þþµµµþ¥µµµµþµ¥µþþµ¥µµþµµ¥¥µþµµþµ¥µ¥µ¥µµµþþµ¥µþµþµµµþµµþµ¥þ¥µ¥µµµµþµ¥µ¥¥þ¥µµþµµ¥¥µþµµþµ¥µ¥µ¥µµþ¥þµµµ¥µµþµþµµµþµµþµ¥µ¥µ¥¥þ¥µµþµþþþþµ¥¥µ¥¥þ¥µµ¥µ¥µµ¥¥þ¥¥¥þµµþµ¥þ¥µ¥µµ¥¥µµ¥¥µ¥¥þ¥þµµµ¥µµ¥µ¥¥¥¥µ¥µµ¥¥¥µµþ¥þµ¥µ¥¥¥þ¥µ¥µµ¥¥¥¥¥þ¥µµ¥¥µ¥¥þþµþþþ¥þþµµµµþµµþµ¥¥µµ¥¥þµ¥µþµ¥þ¥¥µ¥µ¥¥þ¥µµþ¥þµþ¥µ¥µ¥¥¥¥µµþµþþ¥µµµµ¥¥þµµþµ¥µ¥¥þ¥µµµµþµµµµ¥µþþµµµ¥þ¥µµ¥µ¥¥þ¥µµþþµµ¥µ¥¥¥þµµþµ¥µ¥µ¥¥þ¥µµµ¥µþµþ¥µµµþþ¥¥¥¥þ¥þ¥µ¥µµµþµµ¥µµµþþþþþµµþµ¥¥µµ¥¥þþþþþµµþµ¥¥µµþþµµ¥µ¥¥¥þµµþµ¥µ¥¥¥¥¥þµµþµ¥¥µµþ¥¥þþþµ¥µµþþµ¥¥¥¥¥þµµþµ¥¥þµµ¥µ¥¥¥þ¥µµ¥µ¥¥þ¥µµµµþ¥¥µþµþ¥µµþµþþ¥µþþþµ¥¥µ¥¥µ¥µ¥¥þþµþ¥µþþµþþ¥µµ¥µþ¥¥¥µµ¥¥µµµµµµ¥¥µµµ¥µ¥¥¥µþþµ¥µ¥¥þµ¥µ¥µµµµ¥¥¥µµµµþµþþ¥µ¥µµþ¥þµµµ¥µµµ¥µþþµµµ¥þþþþþµþµþþµµþµ¥µ¥µ¥¥þ¥µµ¥¥µµ¥¥þµþþþþ¥µµþþµµµµþµ¥¥¥¥µþþ¥µµþþþþþµµµþµ¥µ¥¥þþ¥µµ¥¥¥¥¥þµµþµ¥¥µµþ¥þµ¥µ¥¥¥þ¥µ¥µµþ¥¥¥¥¥þ¥µ¥þ¥þþµ¥¥¥¥¥þµþþµ¥µ¥¥þ¥µµ¥þ¥¥¥¥þ¥µþ¥µµ¥µ¥µµþµ¥¥¥¥¥¥þþ¥µµ¥µþþµµ¥¥¥¥µþµþþµþþ¥µ¥µµ¥¥µµ¥¥µ¥¥µ¥µþµþ¥µµþµþþþþ¥µµµþ¥¥¥¥µ¥µ¥µµ¥¥¥þµ¥þþµ¥µµµ¥µþµþ¥µµ¥µ¥þþþþþµµþþµ¥µµµ¥µµµ¥¥þµµþµ¥µ¥¥þ¥µµþµ¥¥¥µ¥þ¥þ¥µ¥µµ	

Ende
Prüfsumme: 1.012.894 $F749E

Codonlänge ermitteln
Blick in die Codonlänge-Tabelle
  • Codonlänge =2 ergibt 9 Zeichen für den Klartext-Zeichenvorrat; ist zu wenig, fällt raus
  • Codonlänge =3 ergibt 27 Zeichen für den Klartext-Zeichenvorrat; reicht für das Minimalalphabet (26 Zeichen) und das Leerzeichen
  • Codonlänge =4 ergibt 81 Zeichen für den Klartext-Zeichenvorrat; reicht für Klein- und Großbuchstaben + Ziffern und weitere Zeichen
  • Codonlänge =5 ergibt 243 Zeichen für den Klartext-Zeichenvorrat; reicht für die meisten ASCII-Zeichen
  • Geheimtextlänge = 5.238 Zeichen; 5.238 ist nicht ohne Rest durch 4 auch nicht durch 5 teilbar, also Codonlänge = 3 bleibt als einzige Kandidatin; 5.238:3=1.764
  • Ergebnis: Codonlänge =3; Klartextlänge = 1.764 Zeichen
    Zeichenvorrat für den Klartext: Minimalalphabet und das Leerzeichen

Codonhäufigkeit im Geheimtext



Wir verfahren in der gleichen Weise, wie in der vorherigen Aufgabe, um herauszufinden, welches der beiden häufigsten Codons das Leerzeichen bzw. den Buchstaben „e“ codiert. Wegen der Länge des Textes können wir auch das dritthäufigste Zeichen, den Buchstaben „n“ als Codon 002 (dec 02) annehmen.

Ergebnis:
011 (dec 04) --> SPACE
101 (dec 10) --> e
002 (dec 02) --> n

Wegen der Übersichtlichkeit wähle ich die zweistellig formatierten Dezimalzahlen, die ich direkt ersetzen werde, und zeige nur den oberen Teil des Alignments, um den Server mit den vielen langen Bildern nicht zu belasten. Ihr könnt, je nach eurem Geschmack, auch die ursprünglichen Tripletts verwenden, so wie ich es in den vorherigen Aufgaben gezeigt hatte.



Ohne den ganzen Geheimtext zu lesen, fiel mir ins Auge: 14en (den), 1413 (du), 13n14 (und):
112 (dec 14) --> d
111 (dec 13) --> u




Und dann geht es schon von allein …
000 (dec 00) --> i
212 (dec 23) --> s
001 (dec 01) --> a
201 (dec 19) --> t
210 (dec 21) --> h

...



binnen 5 Minuten ist der Klartext vollständig extrahiert.

Bert Auf diesen Beitrag antworten »
4. Werkstatt
Lektion 10:
Bis an die Grenzen


Bisher haben wir mit Geheimtexten gearbeitet, die mit ASCII-Zeichen oder Zahlen aus dem ASCII-Bereich direkt dargestellt werden konnten. Diesen Umstand kann man sich bei der Decodierung nützlich machen, selbst dann, wenn über eine uns unbekannte Tabelle (z.B. Codon) verschlüsselt wurde, wie in Lektion 8, und der Decodierungsprozeß läuft überwiegend auf der Ebene des Text- und Sprach-Verständnisses, so daß man auch ohne besondere mathematische Kenntnisse innerhalb einer kurzen Zeit (häufig nur Minuten) an den Klartext herankommt.
Bei Zahlen außerhalb des ASCII-Bereichs scheiden die wichtigsten der wenigen Hilfsmitteln, die wir als mathematische und Decodierungs-Laien zu Verfügung haben (Zeichendrehscheiben und ASCII-Code-Funktion in Excel), aus, und uns bleiben nur die Häufigkeitstabelle und vielleicht noch die (meist stark verzerrte) Zeichenmelodie. Kurzum – jetzt stehen wir an der Grenze unserer Möglichkeiten, was uns aber nicht von dem Versuch abhalten sollte, wenigstens drei solche Geheimtexte zu decodieren.

Versuch 1

Geheimtext (Textlänge: 100 Zeichen symbolisiert durch Zahlen):
195 351 297 312 96 291 351 345 96 249 348 303 315 330 303 330 132 96 300 315 303 96 315 330 96 300 303 330 96 261 303 309 96 309 303 324 303 309 348 96 357 303 342 300 303 330 132 96 321 291 330 330 96 327 291 330 96 249 297 312 738 330 303 345 96 294 291 351 303 330 138 96 273 222 333 312 291 330 330 96 261 333 324 306 309 291 330 309 96 354 333 330 96 213 333 303 348 312 303 279
Ende
Prüfsumme: 27483 $6B5B

Zahlenanalyse



Im Geheimtext wurden 31 Zahlen verwendet, die Häufigkeitsverteilung macht Hoffnungen auf die Verwendung eines einzigen Alphabets – d.h. jede Zahl codiert ein Klartextzeichen und jedes Klartextzeichen wird durch nur eine Zahl codiert, unser Klartext dürfte 100 Zeichen lang sein. Ob das alles wirklich so ist, wissen wir nicht, aber es könnte so sein, deshalb könnte es sich lohnen, weitere Anstrengungen in diese Richtung zu unternehmen, um an den Klartext zu gelangen.
An dieser Stelle können wir versuchen, unter Zuhilfenahme der Häufigkeitstabelle den Klartext Schritt für Schritt zu extrahieren (wie in den Lektionen 5 und 9). Der Text ist zwar kurz (nur 100 Zeichen), aber wir haben schon kürzere Texte decodiert Augenzwinkern .
Eine graphische Darstellung des Geheimtextes bringt uns zusätzliche wichtige Informationen, insbesondere, welche Klartext-Zeichen können den drei häufigsten Geheimtext-Zahlen zugeordnet werden. Wir lassen uns nicht beirren, daß diesmal drei Zeichen Häufigkeiten über 10% aufweisen, der text ist sehr kurz, so daß zwei-drei Dubletten der häufigen Konsonanten (n, r, s, t) schon die Häufigkeit über 10 % schießen könnten.

Graphische Darstellung des Geheimtextes



Die Zeichenmelodie ist der eines deutschen Klartextes sehr ähnlich; wir können auf Anhieb nicht nur die drei häufigsten Zeichen identifizieren (und damit über 40 % des Gesamtklartextes), wir können versuchen, den Klartext über den ASCII-Code direkt zu extrahieren, weil auch einem mathematischen Laien auf den ersten Blick sichtbar ist, daß diese drei Zeichen durch 3 teilbar sind:
  • 96:3=32 (ASCII-Code) SPACE
  • 303:3=101 (ASCII-Code) e
  • 330:3=110 (ASCII-Code) n

Wenn wir uns nach dieser Entdeckung die Zahlen des Geheimtextes etwas aufmerksamer anschauen, jetzt mit dem selektiven Blick für „teilbar-durch-drei“ - Quersumme der einzelnen Ziffern bilden; ist diese Summe durch 3 teilbar, ist auch die Zahl durch 3 teilbar -
Beispiel 132: 1 + 3 + 2 = 6; 6 : 3 = 2
sehen wir, daß alle Zahlen des Geheimtextes ohne Rest durch 3 geteilt werden können, und daß diese Operation den Geheimtext in Handumdrehen in Klartext (als ASCII-Code) überführt.
Wer mit Excel extrahiert, schreibt den schon mehrfach verwendeten Eintrag =ZEICHEN(B3/3) und zieht den Eintrag über 100 Zeilen. Wer schon vergessen hat, hier noch ein Erinnerungsbild:



Ich muß nicht betonen, daß der Umstand, daß alle Zahlen des Geheimtextes ohne Rest durch eine Zahl teilbar sind, keinen Beweis liefert, daß der Klartext direkt extrahiert werden kann, aber es ist ein Hinweis, daß es so sein könnte, und ein triftiger Grund, es auch zu probieren. Eine Tabelle dechiffrieren können wir später, wenn dieser schnelle und einfache Schritt nicht fruchtet.

Klartext:
Auch aus Steinen, die in den Weg gelegt werden, kann man Schönes bauen. [Johann Wolfgang von Goethe]
Ende

Versuch 2

Geheimtext (Textlänge: 327 Zeichen symbolisiert durch Zahlen):
349 619 547 571 569 547 571 641 131 571 631 641 131 647 571 547 593 593 547 571 523 569 641 131 541 509 631 131 653 571 523 569 641 571 563 631 641 547 131 347 593 547 599 547 601 641 131 571 599 131 383 547 521 547 601 131 547 571 601 547 619 131 509 643 631 563 547 563 593 571 523 569 547 601 547 601 131 353 547 631 547 593 593 631 523 569 509 557 641 193 131 509 521 547 619 131 599 571 641 131 541 547 599 131 383 643 659 643 631 131 541 547 619 131 349 619 547 571 569 547 571 641 131 653 1439 523 569 631 641 131 509 643 523 569 131 541 571 547 131 599 547 601 631 523 569 593 571 523 569 547 131 443 547 619 509 601 641 653 607 619 641 643 601 563 131 643 601 547 619 599 547 1409 593 571 523 569 199 131 431 571 547 131 571 631 641 131 547 571 601 547 131 349 607 619 599 131 541 547 631 131 347 619 653 509 523 569 631 547 601 631 547 571 601 631 193 131 547 571 601 547 131 601 607 619 599 509 593 547 131 349 607 619 641 547 601 641 653 571 523 587 593 643 601 563 131 647 607 601 131 541 547 619 131 439 601 641 547 619 653 1601 619 557 571 563 587 547 571 641 131 571 601 131 541 547 601 131 379 593 509 631 631 547 601 673 571 599 599 547 619 601 131 541 607 587 641 619 571 601 1439 619 547 619 131 421 547 563 571 599 547 631 199 131 467 409 547 641 547 619 131 439 631 641 571 601 607 647 487
Ende
Prüfsumme: 171365 $29D65

Zahlenanalysen



Im Geheimtext wurden 40 Zahlen verwendet, die Häufigkeitsverteilung spricht für die Verwendung eines einzigen Alphabets. Unser Klartext dürfte 327 Zeichen lang sein – damit können wir die uns unbekannte Codierungs-Tabelle zumindest im Bereich des Klartextes dechiffrieren. Das dürfte keinem Schwierigkeiten bereiten.

Klartext:
Freiheit ist vielleicht das wichtigste Element im Leben einer ausgeglichenen Gesellschaft, aber mit dem Luxus der Freiheit wächst auch die menschliche Verantwortung unermeßlich. Sie ist eine Form des Erwachsenseins, eine normale Fortentwicklung von der Unterwürfigkeit in den Klassenzimmern doktrinärer Regimes. [Peter Ustinov]
Ende

Um herauszufinden, wie dieser Text verschlüsselt wurde, brauchen wir schon einen geübten Blick für Zahlen. Aber auch ohne diesen Blick kann man den Zahlen gewisse gemeinsame Eigenschaften entlocken. Laßt uns erst mal sammeln (wir betrachten die Zahlen in der mittleren Spalte der Häufigkeitstabelle mit einem selektiven Blick für Teilbarkeit):
  • alle Zahlen sind ungerade Zahlen (nicht teilbar durch 2, 4, 6 ...)
  • keine Quersumme ist durch 3 teilbar (nicht teilbar durch 3, 9, ...)
  • keine der Zahlen endet mit einer 5 (nicht teilbar durch 5)
  • keine der Zahlen ist durch 7 teilbar
  • ... (verdammt noch mal, durch welche Zahl ist da irgendeine Zahl teilbar?)
  • wir stellen fest, daß alle Zahlen des Geheimtextes Primzahlen sind!

Für wen Primzahlen fremde Welt offenbaren, der bricht an dieser Stelle ab und gibt sich mit seinem decodierten Klartext zufrieden Freude , denn er hat seine Grenzen erreicht.

Wer aber schon immer von Primzahlen fasziniert wurde und ist auf diesem Gebiet „zu Hause“, der wird Schritt für Schritt den Zusammenhang erkennen. Nehmt euch die (hoffentlich schon) decodierte Tabelle für diesen Geheimtext zur Hand:
Die Geheimzahl 131 codiert das Leerzeichen (SPACE) mit dem ASCII-Code 32.
Die Geheimzahl 547 codiert den Buchstaben „e“ mit dem ASCII-Code 101.
Die Geheimzahl 601 codiert den Buchstaben „n“ mit dem ASCII-Code 110.
...
Die Zahl 131 ist die 32. Primzahl, 547 ist die 101. Primzahl, 601 ist die 110. Primzahl ...
In der Tabelle ist die Codierung der ersten 128 ASCII-Zeichen aufgelistet:



Blau: Klartext-Zeichen
Schwarz: ASCII-Code
Grün: Primzahl (Geheimtext-Zeichen)

An den beiden letzten Aufgaben habt ihr bemerkt, daß unsere Decodierungsmöglichkeiten ohne besondere mathematische Kenntnisse und ohne spezielles Werkzeug ihre Grenzen erreicht haben. Alle Geheimtexte, die ich in diesem Workshop behandelt habe, tragen ihren Decodierungsschlüssel „bei sich“. Unsere Aufgabe war es, diesen Schlüssel zu finden (oder eine Hintertür zum Klartext zu öffnen - z.B. über die Zeichenhäufigkeit u/o Zeichenmelodie).
Auch der nächste Geheimtext trägt den Decodierungsschlüssel „bei sich“.

Versuch 3

Geheimtext (Textlänge: 111 Zeichen symbolisiert durch Zahlen):
8275 22338 26965 25895 29198 8251 26702 28200 21353 18468 11864 30047 26947 30044 8207 29236 57113 28176 25687 25962 25919 25375 24869 29716 22356 27678 28206 26936 8213 29543 8227 8247 8203 26956 28167 25938 25928 25964 25905 25453 23919 29749 25671 30002 29497 8289 8236 29227 29754 29187 25898 8266 28267 29257 26886 19547 8196 11274 28194 24877 29536 26974 8296 25864 25662 30486 8281 25669 26960 17921 26904 26656 26150 28169 11290 28259 8262 28228 25917 8219 25362 29248 24933 16738 25907 8233 29487 25421 30492 25879 24942 25885 64514 27196 26449 28246 29259 8257 29775 26643 26897 28260 23386 25861 29744 25437 25869 11318 25889 25612 25958
Ende
Prüfsumme: 2651720 $287648

Zahlenanalyse

Hm. Die kleinste Zahl ist 8196, die größte 64514. Vergebens werden wir versuchen, der Zeichenhäufigkeit irgendwelche Geheimnisse zu entlocken, denn jede Zahl kommt in dem Geheimtext nur einmal vor – keine Zahl wird wiederholt! Wer schon nach dem Taschenrechner sucht, um auf die Schnelle eine kleine Stichprobe die (vielleicht gemeinsame) Teilbarkeit zu prüfen, kann es gleich lassen – wir haben hier gerade und ungerade Zahlen, einige teilbar durch 3 oder 5 oder 7 ..., wir finden aber auch Primzahlen ...
Natürlich, die Mathematiker, die uns zugucken, reiben sich schon die Hände ... Diese Zahlen haben tatsächlich ein gemeinsames Merkmal, das zum Decodierungsschlüssel führt, für einen mathematischen Laien jedoch ist dieses Merkmal nahezu unsichtbar. Wer von euch den Zahlensystemen auf den Geschmack gekommen ist, der hat gute Karten; der kann die Geheimtext-Zahlen in Hexadezimalzahlen überführen und sieht den Schlüssel.

Nun, ich kann euch nur sagen, wie ich diesen Code decodiert habe, und das war nicht ohne besondere mathematische Kenntnisse, denn früher hatte ich mit Hexadezimalzahlen und Adressierung viel zu tun, und von diesen Erfahrungen kann ich mich nicht befreien. Ich weiß auch nicht, wie man ohne mathematische Mittel das gemeinsame Merkmal dieser Zahlen sichtbar macht. Aber ich werde euch zeigen, wie ihr diesen Geheimtext mit ein paar einfachen Griffen in Excel dekodieren könnt. Augenzwinkern

Diese Geheimtext-Zahlen haben drei wichtige gemeinsame Merkmale:
  • keine der Zahlen ist durch 256 teilbar
  • beim Teilen durch 256 ergibt jede Zahl einen spezifischen Rest – dieser Rest wiederholt sich im Bereich der Geheimtext-Zahlen nicht, d.h. jede Geheimzahl ergibt, geteilt durch 256, einen anderen Rest; dieser Rest liegt im Bereich von 1 bis 111. (Der Geheimtext ist dargestellt durch 111 Zahlen.)
  • beim Teilen durch 256 ergibt jede Zahl eine Ganzzahl im Bereich von 32-252

Diese Ganzzahlen haben eine ähnliche Häufigkeitsverteilung wie die Zeichen in einem deutschen Text und repräsentieren die ASCII-Zahlen der Klartext-Zeichen. Der spezifische Rest ist die Adresse (Position im Klartext) der dazugehörigen Ganzzahl.

Beispiel für die ersten Geheimtext-Zahlen:
8275:256=32 Rest 83
Die Zahl 8275 codiert das Leerzeichen (ASCII-Code = 32) an der 83. Position im Text.

22338:256=87 Rest 66
Die Zahl 22338 codiert den Buchstaben „W“ (ASCII-Code = 87) an der 66. Position im Text.

Im Hexadezimalsystem sieht es viel klarer aus:
8275 = $2053
Die blaue $20 = dec 32 codiert das Leerzeichen, die rote $53 = dec 83 codiert die Position im Text.
22338= $5742
Die blaue $57 = dec 87 codiert den Buchstaben „W“, die rote $42 = dec 66 codiert die Position im Text.

Klartext extrahieren

Anleitung für Excel:
  • die Geheimtextzahlen in die Spalte A eintragen (Zellen A2 bis A112)
  • in die Zeile B2 tippen: =DEZINHEX(A2) und bis in die Zelle B112 ziehen
  • in die Zeile C2 tippen: =GANZZAHL(A2/256) und bis in die Zelle C112 ziehen
  • in die Zeile D2 tippen: =ZEICHEN(C2) und bis in die Zelle D112 ziehen
  • in die Zeile E2 tippen: =REST(A2;256) und bis in die Zelle E112 ziehen

wir erhalten Diese Tabelle:





Danach markieren wir die Zellen A2:E112 und ordnen aufsteigend nach der Spalte E und erhalten den Klartext:



Klartext:
Für einen, der nicht weiß, welchen Hafen er ansteuert, ist jeder Wind der richtige Wind. [Lucius Annaes Seneca]
Ende
Bert Auf diesen Beitrag antworten »
5. Zum Ausprobieren
Geheimtext (Textlänge: 38 Zeichen):
Re0$hew$lex$ne$tvmqe$kiopettx%$Opewwi%
Ende
Prüfsumme: 3465 $D89
_____

Geheimtext (Textlänge: 52 Zeichen symbolisiert durch Zahlen):
71 91 104 97 99 92 110 76 91 110 109 93 98 102 222 97 95 91 92 95 108 94 99 95 59 111 109 96 246 98 108 111 104 97 92 108 99 104 97 110 103 91 104 101 95 99 104 95 103 92 95 99
Ende
Prüfsumme: 5361 $14F1
_____

Geheimtext (Textlänge: 84 Zeichen symbolisiert durch Zahlen):
42 67 85 86 2 70 87 2 89 75 84 77 78 75 69 74 2 73 71 73 78 67 87 68 86 14 2 70 67 193 2 70 87 2 70 75 71 85 71 80 2 41 71 74 71 75 79 86 71 90 86 2 80 75 69 74 86 2 84 67 86 92 15 72 67 86 92 2 77 80 67 69 77 71 80 2 89 222 84 70 71 85 86 33
Ende
Prüfsumme: 5686 $1636
_____

Geheimtext (Textlänge: 146 Zeichen):
Di yzm Lpviozifmtkojbmvkcdz rzmyzi Qzmavcmzi upm Qzmnxcgpznnzgpib bzczdhzm Ivxcmdxcozi qzmrziyzo, ydz vpa yzi Bznzouzi yzm Lpviozioczjmdz wzmpczi.
Ende
Prüfsumme: 14653 $393D
_____

Geheimtext (Textlänge: 132 Zeichen):
hev reaeä dus hde xvmösdutre qßuesjqzo heu reaeäoeuesjeu bcv hez ßmutrdzezamq qzh ömzz mqu hez pevutrdehezusez nevöusybbez aeuserez.
Ende
Prüfsumme: 13965 $368D
_____

Geheimtext (Textlänge: 39 Zeichen):
Opc Dnswüddpw wtpre wtyvd tx Dnsfmqlns.
Ende
Prüfsumme: 3913 $F49
_____

Geheimtext (Textlänge: 176 Zeichen symbolisiert durch Zahlen):
89 116 122 121 37 113 106 42 119 121 120 110 111 42 130 116 47 127 123 112 120 130 136 52 120 121 52 135 122 57 134 2 134 136 130 144 131 74 62 131 146 62 147 136 149 150 146 145 145 106 37 115 106 37 120 106 42 122 118 107 115 120 126 47 115 116 47 130 126 125 52 126 137 123 121 129 121 135 141 71 57 99 126 125 131 144 139 127 140 140 62 142 143 132 138 151 67 31 103 106 119 37 120 106 110 120 42 81 111 110 238 109 119 131 125 120 130 59 47 130 125 121 129 117 130 120 57 21 123 126 139 57 140 131 135 140 131 140 62 116 136 149 150 151 132 145 135 51 37 96 75 119 102 115 241 121 115 125 42 86 107 47 97 126 114 119 116 117 131 137 119 117 137 128 120 118
Ende
Prüfsumme: 19512 $4C38
_____

Geheimtext (Textlänge: 880 Zeichen):
code:
1:
BeBBBeBeBeeeBBeeBBeBBBBBBeeBeBBeBeeeBBeeBeeeBeBBBBeBBBBBBeeBeeeBBeeBeBBeBeeBBBeeBeeBeBBBBeeeBeBBBBeBBBBBBeeeBeeeBeeBBeBeBeeBeeeBBeeBeBBeBeeBBeeeBBeBBBBBBeBeeBeBBeeBBeBeBeeBeBBeBeeeBeBBBBeBeeBBBBeBBBBBBeeBBeBBBeeBeBBeBeeBBeBeBBeBBBBBBeeeBeeeBeeBeBBeBeeeBBeBBBeBBBBBBeeBeBBBBeeBBBBeBeeBBBeBBeeBBeBeBeeBeeeBBBeBeeBBBBeBBBBBBeeeBBeeBeeBeeeeBeeBeeeBBeeBBeBBBeeBBeBeBeeeBBeBBeeBeeeBBBeBBBBBBeeBBeBeBeeeBBeeBBeBBBBBBeeBeBBeBeeeBBeeBeeeBeBBBBeBBBBBBeeeBeeBBeeBeBBeBeeBBeBeBeeBeeBBBBeBBBBBBeBeeBeBBeeBBeBeBeeBeBBeBeeeBeBBBBeBeeBBBBeBBBBBBeeBBeBBBeeBeBBeBeeBBeBeBBeBBBBBBeeeBeeeBeeBeBBeBeeeBBeBBBeBBBBBBeeBeeeBBeeBeBBeBeeBBBeeBeeBeBBBBeeeBeBBBBeBBBBBBeeBeeeBeeeeeeBBBeeeBeBBBeeeeBeBBeeBBeBeBeeBeeeBBBeBeeeBBBeBBBBBBeBeeBeeBeBBeeBBBeeeBeBeBeeBBBeeBeeBeBBeBeeeBeBeBeeeBBeeBBeBBBBBBeBBBBBeBeeBeeeBBeeBeeeBBeeBBBBeBeeBBeBeBeeeBBeeBBeBBBBBBeBeBBeeBeeBBeBeBeeBeeeBBeeBBeBeBeeBBBeeBeeBBBBeBeBeeeBe

Ende
Prüfsumme: 72115 $119B3
_____

Geheimtext (Textlänge: 321 Zeichen):
trB Bet t Be r eertBr tr tB eB ereer ert r rB rBeer e t r rBeert r e eert t Be tB te Be rBeer e eB teeerrtet r rB er BB eB r Be er te re r Be rBeer r Be BB Be rBe eeertBB tr Be rB tB te et Be r eer r Be BB Be rBeer eet reer rB tr r eer tr Bet t Be r eerr e Be et BBe eeertter Bet r rBeertet eBt t Be et eB tr tBttt
Ende
Prüfsumme: 25425 $6351
_____

Geheimtext (Textlänge: 1095 Zeichen):
code:
1:
BrerBeBrrBeeBBreBrBrBeBereeBreeeBrreeBrBeBrBreeBBreBreeeBrBrBeBereeeBBeeBBreBrBeBeBereeeBBeeBBreeeBBeeBBeeeBreeeBrreeBeBeBrBreeBreeeBreeeBBBeBrrBeBrBBeBrereBrBrBeBereBBBeeBrBreBreeeBrBreeBBBBeerrBeBereeeBreBereeeBreBeBereeBBeeBereeeBBrBeBereeBBBeBrBreeBreeBrBreeBBrBeBereeBreeeBeBeeBBBeeBBBeeBrreBrBrBeBereeeBBeeBBreBrBeBeBereeeBreBereeeBreBeBereeBBreBrrBeBrBBeBrereeBrrBeerrBeBereBrrBeeBreeeBrrBeBereBereeeBBBeBerreBrBreeBrBeeBBrBerBeBeBerBrrereBereeeBBrBeBereeBreeeBeBeeBBBeeBBBeeBrreBrBrBeBereBereeeBBBeeBBBeBrBreeBreBeBereeBBBeBrBreeBreeBrBreeBBrBerBeBeBerBrrereBrBreBrereeBrBBeBereBereeeBBBeeBreBeBereBrBeeBrrBeBrBrBeBerBrrBBeBereeBrBreeBBBeBreBeeBrreBrBrBeBereeeBBeeBBreeBreeBrBreeBrBeBrBreeBrBBeBereBrereBrBreeeBBeeBrreBrrBeBreeeBrBreeBBrBeBerBreeBeBrrBeeBBBeBrBeeeeBBeeBBreBreeBeBereeeBeeBrBreeBrBeBrBeeBereeeBBreBrrreBrBreeBBrBeBereeeBreBrrBeeBrBBeBereBrBeeBrBreeBBeBeerrBeBereeeBreBereeeBreBeBereeeBreBrrBeeBrBBeBereeBBreBrrBeBrBBeBrereeBrrBeBereeBBBeBrBreeBreeBrBreeBBrBeBereeBreeeBeBeeBBBeeBBBeeBrreBrBreeBBrBerBeBeBereBeBeBrrreeeBreeBrBBeBereeeBrBBeBereBBrBeBrrBeeBBBeBrBeeBrBreBeeB

Ende
Prüfsumme: 99849 $18609
_____

Geheimtext (Textlänge: 100 Zeichen symbolisiert durch Zahlen):
360 476 404 420 128 272 420 440 412 404 128 460 444 432 432 404 440 128 300 420 440 400 404 456 128 472 444 440 128 420 416 456 404 440 128 276 432 464 404 456 440 128 392 404 428 444 436 436 404 440 232 128 348 468 456 488 404 432 440 128 468 440 400 128 280 432 1008 412 404 432 184 128 364 296 444 416 388 440 440 128 348 444 432 408 412 388 440 412 128 472 444 440 128 284 444 404 464 416 404 372
Ende
Prüfsumme: 37724 $935C
_____

Geheimtext (Textlänge: 139 Zeichen symbolisiert durch Zahlen):
389 547 601 631 523 569 547 601 131 563 547 521 619 509 643 523 569 547 601 131 571 569 619 547 601 131 443 547 619 631 641 509 601 541 131 601 643 619 193 131 643 599 131 571 569 619 131 439 601 619 547 523 569 641 131 673 643 131 619 547 523 569 641 557 547 619 641 571 563 547 601 193 131 643 601 541 131 571 569 619 547 131 431 613 619 509 523 569 547 131 509 593 593 547 571 601 193 131 643 599 131 571 569 619 547 131 353 547 541 509 601 587 547 601 131 673 643 131 647 547 619 521 547 619 563 547 601 199 131 467 443 607 593 641 509 571 619 547 487
Ende
Prüfsumme: 69581 $10FCD
_____

Geheimtext (Textlänge: 408 Zeichen):
code:
1:
eBeeerreertrBrBBeBBreteeerBterrBBrtBBrBBereBerBeetBtBrBBertrerreerBterrBeteBBrBBetetereeetBreteBBrBBerreetBteteBBrtBBrBBetrretetereeerreerteerBeertBBrBBeretereeertBereeetBtereeertrBrBBetrreteeBrBBetetereeetBrereBereeertrBrtBBrBBerreetBteteBBrBBerBeeteeerBterrBBrBBertrerreerBterrBeteBBrBBetetereeetBreteBBrtBBrBBereBerBetettBrBBerteerBeertrBrBBereeetBtBrBBereeerreertrerteerBeertBBrBBertBerreereeetBteteBBrtr

Ende
Prüfsumme: 39859 $9BB3
_____

Geheimtext (Textlänge: 72 Zeichen symbolisiert durch Zahlen):
19773 64548 29724 29241 26929 8200 25921 25911 24894 28180 29962 29712 24863 23356 25394 25869 28208 8226 25875 8196 25897 26944 8213 8203 25879 29738 24877 30020 26147 27958 11834 28187 29198 27909 8251 26675 24838 25873 29443 29455 26680 31241 8245 22273 8221 25927 26654 8235 29748 26390 29728 24834 28167 17219 26950 29221 23880 29736 26663 29210 27672 29247 29253 8239 30220 25382 26642 28206 27948 25881 8258 11297
Ende
Prüfsumme: 1745988 $1AA444
_____


________________________________
Fragen zu diesem Workshop können hier gestellt werden: Fragen zum WS: Decodieren von einfachen Geheimtexten.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »