SECOM Chiffre

Kategorisierung:Klassisch / Substitution und Transposition
Herkunft / Verwendung: Die SECOM-Chiffre ist eine Abwandlung der VIC-Chiffre, die auch Ziffern und Leerzeichen erlaubt und bei der man sich nur einen Leitsatz merken muss. Sie wurde 2005 von Dirk Rijmenants ersonnen und auf seiner Homepage veröffentlicht.

Zum Hintergrund und zur Historie der VIC Chiffre bitte dort nachlesen. Hier soll nur die Funktionsweise der SECOM Chiffre und die Unterschiede zur VIC Chiffre erläutert werden.

Beschreibung des Verfahrens

(Die im Folgenden durchgestrichenen Teile sind Bestandteil der VIC-Chiffre, die in der SECOM Chiffre nicht mehr benutzt werden.)

Ganz ähnlich wie auch die VIC Chiffre besteht das Verfahren aus folgenden Teilen Eine Zufallszahl wie bei VIC gibt es nicht.

Für die Verschlüsselung wird benötigt: Bezüglich der sich zu merkenden Schlüsselelemente wurde SECOM gegenüber VIC stark vereinfacht. Nun genügt nur noch das Merken eines Schlüsselsatzes, z. B. eines Sprichwortes. Alle Unterschlüssel berechnen sich aus diesem Schlüsselsatz. Das ist der Sicherheit natürlich nicht zuträglich. Eine Kryptoanalyse wird also einfacher fallen. Auch dass auf die Verwendung einer Zufallszahl verzichtet wird, schmälert die Sicherheit.

Im nachfolgenden Beispiel wird der Algorithmus der SECOM Chiffre erläutert, ohne auf jedes Detail der VIC Chiffre einzugehen, die nicht mehr verwendet wird - dazu bitte mit der entsprechenden VIC-Webseite vergleichen.

Beispiel

Klartext:Dies ist ein Beispielklartext der dazu dient die SECOM Chiffre auf Kryptografie de naeher zu erklaeren
Schlüsselsatz:Da steh ich nun ich armer (Tor und bin so klug als wie zuvor)


Schlüsselberechnungen

Zuerst wird der 20-stellige Schlüsselsatz in zwei Teile zu 10 Zeichen aufgeteilt und jedem Teil die Ziffern 1 bis 0 (0 zuletzt) nach der alphabetischen Sortierung zugewiesen: DASTEHICHN UNICHARMER 3190457268 0752418639 Das A kommt im Alphabet zuerst, bekommt daher die 1 zugewiesen, danach kommt das C (2) usw. bis zur 0, die zuletzt kommt und auf das T bzw. U fällt.

Die beiden Zahlen werden nun addiert (wieder ohne Übertrag): 3190457268 + 0752418639 3842865897 Das Ergebnis wird durch Kettenaddition auf 60 Zeichen erweitert: 3842865897 1260413768 3864540341 1409943752 5498370277 9371072946 Kettenaddition meint, dass jeweils 2 Ziffern addiert werden, um eine neue zu generieren (ist das Ergebnis größer 10, werden 10 abgezogen). Begonnen wird mit der ersten Ziffer, zu der wird die zweite addiert und an das Ergebnis angehängt, dann wird zur 2. die 3. addiert usw. (3+8=1, 8+4=2, 4+2=6).

Die letzten 10 Zeichen werden nach der Wertigkeit aufsteigend (0 wieder zuletzt) sortiert: 9 3 7 1 0 7 2 9 4 6 8 3 6 1 0 7 2 9 4 5 Die 1 in 9371072946 ist die niedrigste Ziffer und bekommt Platz 1, danach folgt die 2 (9371072946), dann die 3 (9371072946) usw. Das Ergebnis ist schließlich die Positionsfolge 8361072945.

Diese Ziffernfolge wird später als Überschriftenzeile für ein Straddling Checkerboard benutzt, wobei die Leerspalten fest auf den Positionen 3, 6 und 9 liegen.

Als nächstes gehen wir die 60 Zeichen von hinten nach vorne durch und addieren diese Ziffer für Ziffer, wobei wir Ziffern auslassen, die wir bereits einmal benutzt haben, bis wir auf eine Summe größer als 9 kommen. In diesem Fall 6 und 4, zusammen 10. Mit den nächsten Ziffern rückwärts weiter finden wir 9 und 2, die sich zu 11 addieren, was ebenfalls mindestens 10 entspricht. Diese beiden Zahlen X1 und X2 bestimmen die Breiten der Transpositionstabellen. X1 = 10 X2 = 11 Außerdem addieren wir ohne Übertrag die Reihenfolgenzahl von oben und die Zahl, die aus dem rechten Teil des Schlüsselsatzes resultiert: 8361072945 + 0752418639 8013480574 Das Ergebnis bildet die Überschrift für eine Transpositionstabelle, deren Rest aus den erweiterten 50 Zeichen aus der Kettenaddition besteht. Nun werden die Zeilen 2 bis 6 der 60 Zeichen nach der 1. Zeile umgestellt: 8013480574 1260413768 3864540341 1409943752 5498370277 9371072946 Dazu wird die niedrigste Ziffer aus der 1. Zeile gesucht, hier die 1 an 3. Stelle und die darunterstehende Spalte notiert. Dementsprechend wird mit den anderen Ziffern aufsteigend fortgefahren, so dass dies zu dem folgendem Ergebnis führt: 66097049814593081276737296457413159144772844330302 Die ersten 10 (X1) Zeichen werden unser 1. Transpositionsschlüssel, die weiteren 11 (X2) Zeichen unser zweiter: KeyTrans1 = 6609704981 KeyTrans2 = 45930812767

Kodierung durch Straddling Checkerboard

Für diese Kodierung wird eine Substitutionstabelle aufgebaut, wie sie unten zu sehen ist. Sie erhält die zuvor berechnete Überschritenzeile. Die erste Zeile erhält die Buchstaben "ESTONIA", die häufigsten Buchstaben im englischen. Auf die weiteren Zeilen werden verteilt: "BCDFGHJKLM", "PQRUVWXYZ/" und "1234567890", wobei jeweils mit dem Niederschreiben in der Spalte angefangen wird (unten unterstrichen), wie sie ganz links steht (durch die Lücken auf Pos. 3, 6 und 9 entstanden). Am Ende der Zeile angekommen, findet der Rest der Buchstaben in der Spalte vorne beginnend seinen Platz. 1 2 3 4 5 6 7 8 9 0 8 3 6 1 0 7 2 9 4 5 E S - T O - N I - A 6 H J K L M B C D F G 7 V W X Y Z / P Q R U 4 8 9 0 1 2 3 4 5 6 7 Mittels des Straddling Checkerboard Algorithmus (dort nachzulesen) wird der Klartext nun in Ziffern überführt: D i e s / i s t / e i n / B e i s p i e l k l a r t e x t / 69 9 8 3 77 9 3 1 77 8 9 2 77 67 8 9 3 72 9 8 61 66 61 5 74 1 8 76 1 77 d e r / d a z u / d i e n t / d i e / S E C O M / 69 8 74 77 69 5 70 75 77 69 9 8 2 1 77 69 9 8 77 3 8 62 0 60 77 C h i f f r e / a u f / K r y p t o g r a f i e / d e / 62 68 9 64 64 74 8 77 5 75 64 77 66 74 71 72 1 0 65 74 5 64 9 8 77 69 8 77 n a e h e r / z u / e r k l a e r e n 5 8 68 8 74 77 70 75 77 8 74 66 61 5 8 74 8 2 Die ergibt zusammengefasst folgende 157 Ziffern, die um 3 Zufallsziffern erweitert werden, um auf eine durch 5 teilbare Anzahl zu kommen, was wichtig für die 5er-Gruppierung sein wird. 69983779317789277678937298616661574187617769874776957075776998217769987738620607 76268964647487757564776674717210657456498776987725868874777075778746661587482972

1. Transposition: gewöhnlicher Spaltentausch

mit dieser Ziffernfolge wird jetzt ein gewöhnlicher Spaltentausch (dort nachzulesen) vollführt. Als Schlüssel (Überschrift) wird der zuvor berechnete KeyTrans1 angewandt. Dies führt zu folgender Ziffernfolge: 18616987442950627768476067757742679679977771887197317587647076553294877687779784 37667690667427678927901867656877961777964516776998756723286678787781757295448478

2. Transposition: spezieller Dreiecks-Spaltentausch

Die nun folgende Transposition ist ein abgewandelter Spaltentausch, bei dem die Tabelle in 2 Schritten gefüllt wird. Dazu wird eine Matrix verwendet, bei denen ein Teil mit X gefüllt ist. Dann wird zuerst der normale Teil der Tabelle und dann der X-Teil der Tabelle aufgefüllt. Der X Teil wird nach einem spezielle Verfahren aufgefüllt, der Dreiecke in die Matrix "malt".

Ausgehend vom oben errechneten Schlüssel für die 2. Transposition "KeyTrans2" wird die niedrigste Ziffer darin gesucht und von dort aus die 1. Zeile bis zum Ende mit X gefüllt. Die nächsten Zeilen wird mit dem X jeweils eine Position weiter rechts begonnen, bis das Dreieck vollendet ist. Dann folgt eine Leerzeile und das Spiel geht mit der nächstniedrigen Ziffer weiter, bis die Matrix genügend groß ist: 45930812767 ------XXXXX -------XXXX --------XXX ---------XX ----------X ----------- -------XXXX --------XXX ---------XX ----------X ----------- ---XXXXXXXX ----XXXXXXX -----XXXXXX ------ Nun wird die Ziffernfolge zuerst in die mit '-' markierten Felder eingetragen 45930812767 186169XXXXX 8744295XXXX 06277684XXX 760677577XX 4267967997X 77718871973 1758764XXXX 70765532XXX 948776877XX 7978437667X 69066742767 892XXXXXXXX 7901XXXXXXX 86765XXXXXX 687796 und danach erst der Rest in die mit X markierten: 45930812767 18616917779 87442956451 06277684677 76067757769 42679679979 77718871973 17587648756 70765532723 94877687728 79784376676 69066742767 89267878778 79011757295 86765448478 687796 Nun werden wieder nach bekanntem Muster der Reihe nach die Spalten ausgelesen 45930812767 18616917779 87442956451 06277684677 76067757769 42679679979 77718871973 17587648756 70765532723 94877687728 79784376676 69066742767 89267878778 79011757295 86765448478 687796 Dies führt zu: 15857743874754764791827628781476718678661671807471797687868766277049999687576775 22767977467997776772491799363867858996768656378746642067578702077627798757467159 in 5er Gruppen: 15857 74387 47547 64791 82762 87814 76718 67866 16718 07471 79768 78687 66277 04999 96875 76775 22767 97746 79977 76772 49179 93638 67858 99676 86563 78746 64206 75787 02077 62779 87574 67159 Das Dechiffrieren geschieht prinzipiell genauso, nur durch umgekehrtes Anwenden der Verarbeitungsschritte. Dabei können am Ende des dekodierten Klartextes Zufallsbuchstaben auftauchen, die durch das beim Chiffrieren durchgeführte Auffüllen mit Zufallsziffern entstanden waren. Diese werden beim Lesen dann einfach ignoriert.

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

Der Schlüssel muss mindestens 20 Buchstaben lang sein. Für den Eingabetext sind Buchstaben, Ziffern und Leerzeichen zulässig.