Pünktchen Code

Herkunft / Verwendung: Der Pünktchen Code ist auch eine Methode der Steganografie. Das heißt, die Hauptabsicht ist hier nicht das Verschlüsseln, sondern das Verbergen beziehungsweise Tarnen der geheimen Information.

Mit dem Pünktchen Code wird eine Geheimnachricht in eine Reihe von Punktegruppen umgewandelt. Diese können zum Beispiel als Verzierung in einen Rahmen um eine Zeichnung angebracht werden oder auf andere Weise, bei der sich erst gar nicht groß zu Tage treten oder Verdacht erregen könnten.

Gleichzeitig führt die Überführung in den Pünktchen Code aber auch zu einer sehr einfachen strukturierten Nachricht, die nur aus einem Zeichen und Trennung besteht. Das heißt, dass man diese auch als Klopf-Code benutzen kann. Pro Punkt gibt man ein Klopfzeichen, zwischen den Punkten lässt man eine kurze Pause, zwischen den Gruppen eine lange. Genauso kann man die Pünktchen-Nachricht mittels Licht oder kurzer Unterbrechungen einer elektrischen Leitung wie beim Morsen übermitteln.

Das Verfahren hat Johannes Balthasar Friderici bereits 1685 in seinem Buch Cryptographia (oder etwas langatmiger "Cryptographia oder geheime Korrespondenz welche lehrmäßig vorstellet eine hochschätzbare Kunst verborgene Schriften zu machen und aufzulösen") vorgestellt. Und zwar in Kapitel IX. unter dem Titel "Eine kurze Anweisung, wie man durch lauter Punkte heimlich korrespondieren soll".

Fredirici gibt dort eine Tabelle wieder, in der er für die 24 Buchstaben des lateinischen Alphabets seiner Zeit jeweils drei Pünktchen-Gruppen auflistet. Das A wird beispielsweise durch ". . ." repräsentiert, das Z hingegen durch "... .. ...":



Es fällt auf, das jeweils drei Punktegruppen mit jeweils eins bis drei Punkten einen Buchstaben repräsentieren. Dabei wird eine verschobene ternäre Zählweise wie beim später datierenden Westerlinck-Code verwendet: 111, 112, 113, 121, ...

Da es pro Platz drei Gruppen mit bis zu jeweils drei Punkte gibt, gibt es 3 x 3 x 3 = 27 Kombinationsmöglichkeiten. Das ist auch genügend Platz für eine Version mit dem modernen lateinischen Alphabet mit 26 Buchstaben, wie wir es heutzutage benutzen. Es bleibt sogar noch Platz für ein Trenn- / Leerzeichen am Schluss.

Bei Friderici ist der Code festgelegt, ein A ist immer ". . .". Aber natürlich kann man auch eine willkürliche Reihenfolge der Buchstaben festlegen, um eine Kodierung zu erschweren. Dies ist weiter unter beim Dekoder durch Angabe eines Schlüsselwortes möglich, aus dem dann ein Schlüsselalphabet generiert wird, dass dann für die Reihenfolge der Buchstaben benutzt wird.

Auch wenn die Angabe eines Schlüsselwortes den Code zur Chiffre und ein wenig sicherer macht, so entspricht das allerdings nur einer einfacher monoalphabetische Substitution, die leicht zu knacken ist und wenig Sicherheit bietet.

Das Hauptaugenmerk liegt bei dem Pünktchen Code aber auch auf dem "nicht entdeckt werden". Darum ist es ausschlaggebend, die Pünktchenfolge unauffällig zu verstecken.

Der Name "Pünktchen Code" stammt vom Autor dieses Artikels, denn den Begriff, den Friderici benutzt, war mir zu generisch und sperrig.

Beschreibung des Verfahrens

Sieht man sich Fridericis Tabelle genauer an, erkannt man, dass die Grundlage des Verfahren ein Ternärsystem ist, mit dem die einzelnen Buchstaben kodiert werden, in ähnlicher Weise wie bei Kennyspeak. Ein Ternärsystem ist ein Zahlensystem mit der Basis 3. Anstatt der Ziffern Null bis Neun gibt es dort nur die drei Ziffern Null bis Zwei, darum auch "ternär", abgeleitet von "aus drei Elementen aufgebaut". Mehr zu Zahlensysteme und Basen in diesem Aritkel.

Die Anzahl der Punkte in einer Punktegruppen von 1 bis 3 und drei Punktegruppen zusammen (z. B. "123") bilden einen (verschobenen) ternären Wert. Den kann man mathematisch (also der Reihe nach) auf den Buchstabenwert (siehe Umsetzungstabelle ABC) des Geheimbuchstabens abbilden, so wie bei Fredirici beschrieben, oder man wählt individuelle Zuordnungen (siehe andere Umsetzungstabellen).

Umsetzungstabelle und Beispiel nach Friderici

Diese Tabelle wird von Friderici in seinem Buch Cryptographia aufgeführt für die damals üblichen 24 Buchstaben des lateinischen Alphabets.



Hier wird eine verkürzte Notation verwendet, die die Anzahl der Punkte in der Gruppe angibt anstatt alle Punkte auszuschreiben:
A B C D E F G H I K L M N O P Q R S T U W X Y Z 111 112 113 121 122 123 131 132 133 211 212 213 221 222 223 231 232 233 311 312 313 321 322 323
Friderici gibt als beispielhaften Geheimtext den Satz "Nun ist es Zeit den Anschlag fortzusetzen" an, der sich für ihn wie folgt kodiert:



Die Kodierung erfolgt Buchstabe für Buchstabe. Der Lesbarkeit halber sind hier Schrägstriche nach jeder Dreiergruppe bzw. jedem Buchstaben eingefügt.
N U N I S T E S .. .. . / ... . .. / .. .. . / / . ... ... / .. ... ... / ... . . / / . .. .. / .. ... ... / / Z E I T D E N ... .. ... / . .. .. / . ... ... / ... . . / / . .. . / . .. .. / .. .. . / / A N S C H L A G . . . / .. .. . / .. ... ... / . . ... / . ... .. / .. . .. / . . . / . ... . / / F O R T Z U . .. ... / .. .. .. / .. ... .. / ... . . / ... .. ... / ... . .. / S E T Z E N .. ... ... / . .. .. / ... . . / ... .. ... / . .. .. / .. .. . / Hier zeigt sich, dass es nicht ganz einfach ist und viel Konzentration erfordert, die kodierten Punkte richtig zu Papier zu bringen und nicht etwa welche zu vergessen, wobei wohl auch Friderici der eine oder andere Fehler unterlaufen ist. Die Person, die die Nachricht dekodieren soll, tut sich dann natürlich schwer, denn sie wird zuerst versuchen Dreigruppen zu bilden. Spätestens bei der 4. Dreiergruppe aus dem Beispiel, nämlich "333" wird er ins stolpern kommen, denn diese Kodierung ist in der Tabelle gar nicht vorhanden.

Ich überlasse es dem geneigten Leser, nach den Fehlern Fridericis zu suchen indem er dessen Kodierung in der Beispiel-Grafik mit der korrekten (als Text wiedergegeben) vergleicht.

Umsetzungstabelle ABC

Diese Umsetzungstabelle berücksichtigt alle 26 Buchstaben und das zusätzliche Trennzeichen "_" der modernen lateinischen Schrift. Die Buchstaben werden alphabetisch auf die verschobenen ternäre Zahlen der Reihe nach verteilt:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ 111 112 113 121 122 123 131 132 133 211 212 213 221 222 223 231 232 233 311 312 313 321 322 323 331 332 333

Umsetzungstabelle ENISRAT

Durch die Kodierung kann es sehr schnell zu lange Punkteketten kommen. Eine gewisse Maßnahme, dies zu reduzieren, ist es, die häufigsten Buchstaben durch kurze Ketten auszudrücken, so benutzt das recht häufige R ". .. .." statt vorher ".. ... ...". Die Buchstaben sind also nach deren Häufigkeit in der deutschen Sprache sortiert, mit dem häufigsten beginnend:
E N I S R A T D H U L C G M O B W F K Z V P J Y X Q _ 111 112 113 121 122 123 131 132 133 211 212 213 221 222 223 231 232 233 311 312 313 321 322 323 331 332 333
entsprechend
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ 123 231 213 132 111 233 221 133 113 322 311 212 222 112 223 321 332 122 121 131 211 313 232 331 323 312 333
Datenbasis für die Sortierung: Häufigkeitsverteilung: Die häufigsten Buchstaben im Deutschen (ersetzte Umlaute, ohne Blanks, nach Kuhlemann, 2023)

Im Dekoder frei definierbare Umsetzungstabelle

Geben Sie im weiter unterstehenden Dekoder einen Schlüssel mit bis zu 27 Zeichen ein und wählen Sie die entsprechende Operation. Es wird dann daraus ein Schlüsselalphabet generiert, dass für die Kodierung bzw. Dekodierung benutzt wird.

Beispiele

Geheimtext:MissionAbbrechen
Kodiert (Codetabelle Friderici):.. . ... . ... ... .. ... ... .. ... ... . ... ... .. .. .. .. .. . . . . . . .. . . .. .. ... .. . .. .. . . ... . ... .. . .. .. .. .. .
Kodiert (Codetabelle ABC):.. .. . . ... ... ... . . ... . . . ... ... .. .. ... .. .. .. . . . . . .. . . .. .. ... ... . .. .. . . ... . ... .. . .. .. .. .. ..
Kodiert (Codetabelle ENISRAT):.. .. .. . . ... . .. . . .. . . . ... .. .. ... . . .. . .. ... .. ... . .. ... . . .. .. . . . .. . ... . ... ... . . . . . ..
Kodiert (Schlüselwort Apfelstrudel):.. ... ... .. .. ... . .. ... . .. ... .. .. ... ... . .. ... . . . . . .. . .. .. . .. . ... .. . .. . .. . ... .. .. .. . .. . ... . .

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



Quellen, Literaturverweise und weiterführende Links