Roche Chiffre

Herkunft / Verwendung: In seinem Buch "Traité élémentaire de cryptographie" (zu deutsch "Grundlegende Abhandlung über Kryptografie"), erschienen 1902 in Paris, erwähnt Felix Delastelle ein Chiffrierverfahren, dass er die "Première méthode de M. le colonel Roche." nennt; also das erste Verfahren nach Colonel Roche.

Delastelle nennt das Verfahren eine raffinierte Methode, die die Buchstaben perfekt mischt. In dem Verfahren werden die Ziffern einer langen Zahl dazu benutzt, die einzelnen Buchstaben des Klartextes neu zu gruppieren und damit zu tranpositionieren.

Allerdings verweist er auch gleich auf einen Mangel, den Kapitän Valério in seinem "Essai sur les méthodes de déchiffrement" (zu deutsch "Essay über die Methoden der Dechiffrierung") erwähnt; nicht ohne zugleich zu erklären, wie man diesem Mangel abhilft.

Delastelle schlägt vor, sich eine Zahl in leicht zu merkender Form auszusuchen, so zum Beispiel "ein Siebtel" (1/7), was für die Dezimalzahl 0,142857... und damit für die sechs Ziffern 142857 steht, oder 1/49 für die Stellen von 0,02040816326530612244897959183673... oder 1/19 für die Stellen von 0,05263157894736842105263157894737...

Im Grunde soll man sich nur einen Bruch merken, der genügend Nachkommastellen zur Verfügung stellt für das Vorhaben, das man hat. Je mehr Nachkommastellen, desto gründlicher wird gemischt. Idealerweise findet man eine Zahl, dessen Ziffernsumme der Anzahl der zu verschlüsselnden Buchstaben entspricht. Allerdings ist es nicht sinnvoll, eine Zahl zu wählen, bei der die Summe der Nachkommastellen die Anzahl der Buchstaben des Klartextes unterschreitet. Denn dann kann nicht der gesamte Klartext verschlüsselt werden und müsste gekürzt werden. Überschreitet die Ziffernsumme hingegen die Anzahl der Buchstaben des Klartextes, dann kann man den Klartext mit zufälligen Zeichen bis zur richtigen Menge auffüllen, die dann bei korrekter Dechiffrierung wieder am Ende stehen und vom berechtigten Empfänger des Chiffrats einfach ignoriert werden können.

Natürlich kann man auch eine irrationale Zahl mit endlos vielen Nachkommastellen wie Pi , e (eulersche Zahl), Phi (goldener Schnitt) oder auch eine Wurzel, wie die aus 2 verwenden. Dann merkt man sich die verwendete Zahl, die erste zu verwendende Nachkommastelle daraus (vielleicht 19860812, wenn man am 12. August 1986 ein besonderes Datum war) und wieviele Stellen man verwenden möchte.

Der Kreativität sind hier keine Grenzen gesetzt. Je schwieriger es ist, auf die Zahl bzw. die Ziffern zu kommen, desto besser. Man könnte zwar auch eine Abfolge von echten Zufallszahlen notieren, hätte aber dann das Problem, dass es eine schriftliche (oder digitale) Aufzeichnung geben müsste, die wiederum gefunden werden könnte. Besser ist es, etwas zu haben, was man sich merken kann und nur im eigenen Gedächtnis vorhanden ist.

Beschreibung des Algorithmus

Am Besten lässt sich die Anwendung des Verfahrens an einem Beispiel erläutern. Unsere ausgesuchte Zahl soll 1/19, also 0,05263157894736842105263157894737... sein.

Daraus wollen wir 8 Ziffern benutzen. Die Nullen werden übergangen und wir erhalten die acht Ziffern 52631574. Unser Klartext soll 33 Zeichen lang sein und "Ein Text von ausreichender Laenge" lauten. Die Quersumme von 52631574 ist ebenfalls 33 und entspricht der Klartextlänge, wie es idealerweise der Fall ist. Außerdem verwendet Delastelle in seiner Original-Dokumentation die Zahl 52631574 beispielhaft, was der Überprüfung der Korrektheit / Gleichheit des hier angewandten Algorithmus dienlich ist.

Zuerst werden (weil 8 Ziffern) 8 Gruppen ausgezeichnet und zwar jeweils mit der Breite, die die jeweilige Ziffer angibt:
.....|..|......|...|.|.....|.......|.... 5 2 6 3 1 5 7 4
Das geht am besten auf Karopapier, auf dem man Beginn, Gruppen-Trennungen und Ende mit einem senkrechten Strich kennzeichnet und ansonsten die entsprechende Anzahl Kästchen frei lässt.

Als nächste werden Buchstabenpositionen in die Gruppen nacheinander von links nach rechts eingetragen, also zuerst die linke Gruppe, dann die zweite usw. Und zwar nach folgendem Schema: Zur Veranschaulichung zuerst einmal mit den Buchstabenpositionen, damit die Verteilung leichter zu erkennen ist:
1. __ __ __ __ 1 | __ 2 | __ __ __ __ __ 3 | __ __ 4 | 5 | __ __ __ __ 6 | __ __ __ __ __ __ 7 | __ __ __ 8 2. __ __ __ __ 1 | 9 2 | 10 __ __ __ __ 3 | 11 __ 4 | 5 | 12 __ __ __ 6 | 13 __ __ __ __ __ 7 | 14 __ __ 8 3. __ __ __ 20 1 | 9 2 | 10 __ __ __ 19 3 | 11 18 4 | 5 | 12 __ __ 17 6 | 13 __ __ __ __ 16 7 | 14 __ 15 8 4. __ __ __ 20 1 | 9 2 | 10 21 __ __ 19 3 | 11 18 4 | 5 | 12 22 __ 17 6 | 13 23 __ __ __ 16 7 | 14 24 15 8 5. __ __ 28 20 1 | 9 2 | 10 21 __ 27 19 3 | 11 18 4 | 5 | 12 22 26 17 6 | 13 23 __ __ 25 16 7 | 14 24 15 8 6. __ __ 28 20 1 | 9 2 | 10 21 29 27 19 3 | 11 18 4 | 5 | 12 22 26 17 6 | 13 23 30 __ 25 16 7 | 14 24 15 8 7. __ 32 28 20 1 | 9 2 | 10 21 29 27 19 3 | 11 18 4 | 5 | 12 22 26 17 6 | 13 23 30 31 25 16 7 | 14 24 15 8 8. 33 32 28 20 1 | 9 2 | 10 21 29 27 19 3 | 11 18 4 | 5 | 12 22 26 17 6 | 13 23 30 31 25 16 7 | 14 24 15 8
Nach acht Schritten sind alle Lücken gefüllt und wir haben uns damit unser Ersetzungsmuster erarbeitet: Ein geübter Anwender dieses Verfahrens kann natürlich auch gleich die Buchstaben seines Klartexts nach dem obigen Muster einsetzen und dann das Chiffrat von links nach rechts ablesen.
1. __ __ __ __ E | __ i | __ __ __ __ __ n | __ __ - | T | __ __ __ __ e | __ __ __ __ __ __ x | __ __ __ t 2. __ __ __ __ E | - i | v __ __ __ __ n | o __ - | T | n __ __ __ e | - __ __ __ __ __ x | a __ __ t 3. __ __ __ c E | - i | v __ __ __ i n | o e - | T | n __ __ r e | - __ __ __ __ s x | a __ u t 4. __ __ __ c E | - i | v h __ __ i n | o e - | T | n e __ r e | - n __ __ __ s x | a d u t 5. __ __ L c E | - i | v h __ - i n | o e - | T | n e r r e | - n __ __ e s x | a d u t 6. __ __ L c E | - i | v h a - i n | o e - | T | n e r r e | - n e __ e s x | a d u t 7. __ g L c E | - i | v h a - i n | o e - | T | n e r r e | - n e n e s x | a d u t 8. e g L c E | - i | v h a - i n | o e - | T | n e r r e | - n e n e s x | a d u t

Beispiel

123456789012345678901234567890123
Klartext:Ein Text von ausreichender Laenge
Schlüssel:52631574 (Länge 8)
Chiffrat:egLcE ivha inoe Tnerre nenesxadut

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

Quellen, Literaturverweise und weiterführende Links

Delastelle, Félix: Traité élémentaire de cryptographie, Gauthier Villars, Paris, 1902, S. 34
Die Roche Chiffre im Cipherbrain-Blog von Klaus Schmeh