WikiDer > VIC-Nummer

VIC-cijfer

Es VIC-Bewertung (Chiffre) ist eine komplizierte Chiffre, die von den RussischSpionReino Hayhanen, Codename "VIKTOR".

Es ist eine der kompliziertesten handgeschriebenen Chiffren, die jemals beobachtet wurden. Sicherlich nicht so komplex und sicher wie moderne computergenerierte Stromchiffren oder Blockchiffren, aber da VIC ab 1953 zum Verschlüsseln von Nachrichten verwendet wurde, NSA und vermutlich können andere Organisationen es nicht knacken. Der Betrieb der Algorithmus wurde daher erst 1957 erklärt, als Häyhänen nach Amerika überlief FBI.

Die VIC-Chiffre beginnt mit einer erforderlichen Prozedur, um zehn Pseudozufallszahlen zu erzeugen. Der Spion muss sich sechs Zahlen (denken Sie an ein Datum) und die ersten 20 Buchstaben eines Satzes merken. Als nächstes muss der Spion fünf Zufallszahlen finden, die er als Nachrichtenanzeige verwenden kann.

Demonstration

Das Datum sei der 12. Januar 2008, was 11208 ergibt. Und der Zufallsindikator sei 13681.

Zunächst werden die Ziffern des Datums von den Ziffern des Indikators abgezogen. Wenn das Ergebnis einer Subtraktion ein negatives Ergebnis ergibt, wird 10 addiert (zum Beispiel: 7 - 5 = 2, aber 5 - 7 = -2, also 5 - 7 = 8).

13681
11208-
----------
02483

Der zweite Schritt besteht darin, die 20 Buchstaben aus dem Satz zu nehmen und ihn in zwei Hälften zu teilen, sodass Sie zwei Sätze von 10 Buchstaben haben. Anschließend müssen die Buchstaben pro Serie mit den Ziffern 1, 2, 3 bis einschließlich 0 versehen werden, indem die Buchstaben in alphabetischer Reihenfolge nummeriert werden. Ähnliche Buchstaben werden von links nach rechts nummeriert. So ergibt beispielsweise der Satz „das weiße Monster ist süß“ (bestehend aus 21 Buchstaben):

huhEtWichttEichÖNeinsotERichsolichE
31704892566801739542

Das Ergebnis aus dem ersten Schritt wird durch einen Prozess namens "Kettenaddition" auf zehn Zahlen erweitert. Das funktioniert folgendermaßen: Der Anfangsstring wird 02483 übernommen und dann erweitert um:

Ergebnis
0 2 = 2024832
2 4 = 60248326
4 8 = 1202483262
8 3 = 11024832621
3 2 = 50248326215

Dieses Ergebnis wird zum ersten Satz von zehn Ziffern des Satzes hinzugefügt.

3170489256
0248326215
------------------
3318705461

Dann wird der zweite Satz von Ziffern aus dem Satz genommen und diese Ziffern werden den Ziffern in der Folge des Satzes zugeordnet. Dann wird die neu gefundene Zahlenreihe in die entsprechende Zahl aus der zweiten Reihe umgewandelt.

Benutzt1234567890
6801739542zweite Zahlenfolge aus dem Satz
Wird3318705461Ergebnis gerade berechnet
0065927136(3 entspricht 0, 1 entspricht 6 usw.)

Aus diesem Ergebnis werden dann durch "Kettenaddition" (die auch schon früher verwendet wurde) 50 Pseudozufallszahlen gebildet (0 0 = 0, 0 6 = 6, 6 5 = 1 (wird 1 wegen Zehnerzahl) usw. ) .

0065927136
0614198496
6755072352
3205795875
5252643520
7778078727

Die letzte Reihe dieser Zahlen wird für die Transposition verwendet, um eine Permutation der Zahlen 1 bis 9 durchzuführen (wobei 0 die letzte ist).

7778078727
-----------------
2348059617

Diese Zahlenfolge wird dann verwendet, um das untenstehende „Schachbrett“ zu erstellen, das zum Verschlüsseln der Nachrichten benötigt wird. Für dieses „Schachbrett“ wird ein einfacher kurzer Satz (care dirty) gewählt, mit Buchstaben, die nur einmal vorkommen dürfen.

2348059617
zÖRGVichEso
0einBCdfhuhJklich
7NeinpQtSIEWXJa./

Wenn das Schachbrett fertig ist, können wir mit dem Kodieren einer Nachricht beginnen. Nach jedem Buchstaben, der nicht im Satz „CARE DIRTY“ vorkommt, steht ein Leerzeichen mit der entsprechenden Zahl. Zum Beispiel D kommt nicht vor und wird 0, dann schauen wir in die Tafel und sehen, dass D die entsprechende Zahl 8 hat, die zum Leerzeichen wird. Wenn wir die Botschaft wählen: „Die Streifen eines Zebras sorgen für Kühlung“.

In Zahlen umgewandelt, wird dies die Nachricht:

dEsotREpENeinVeinNeinEENeinzEBReinzÖRGENeinVÖÖRVERkÖElichNeinG
08617846736725027266722603402234867253345640636019728

In diesem Beispiel geben wir dem Spion eine kleine „persönliche Zahl“ 8. Diese Zahl wird verwendet, um die Breite der beiden Transpositionstabellen zu bestimmen, mit denen diese Zahlen neu angeordnet werden. Die letzten beiden ungleichen Zahlen (2 und 7) der letzten Zeile der 50 zuvor generierten Zahlen werden zur Personenzahl addiert, so dass die beiden Spalten aus den Umordnungstabellen 8 zu 2 = 10 und 8 zu 7 = 15 werden.

Unten ist die zuvor generierte Tabelle, aus der die letzten beiden ungleichen Zahlen genommen werden.

0065927136
0614198496
6755072352
3205795875
5252643520
7778078727

Die Schlüssel für diese beiden Transpositionen werden durch Verwendung von 10-stelligen Formaten erzeugt und dadurch den Transpositionsschlüssel erhalten (d. h. durch Anordnung der Spalten). Auch hier ist 0 die letzte Ziffer. Aus der Tabelle mit der Transpositionsbestimmung oben wird dies also der Schlüssel unten.43857 97947 95722 45528 15057Wir hören auf, wenn wir 10 15 = 25 Stellen haben.

(Rangfolge)

9054827136
0065927136
0614198496
6755072352
3205795875
5252643520
7778078727

Unsere erste Transposition verwendet die ersten 10 Ziffern als Schlüssel in einer einfachen Tabellentransposition, bei der die zuvor berechnete Nachricht in die Tabelle eingefügt wird. Am Ende werden zwei Neunen addiert, um 55 Ziffern zu erhalten, denn schließlich werden Zahlengruppen zu 5 benötigt.

4385797947
0861784673
6725027266
7226034022
3486725334
5640636019
72899

Mit den hinzugefügten Füllzahlen (die fett gedruckt sind) wird die Zwischennachricht wie folgt umgeschrieben: Zuerst werden die Spalten durch die nun bekannte Transposition nummeriert. Anschließend werden die Spalten übernommen, um zur neuen Zwischennachricht zu gelangen. Zum Beispiel ist die erste Ziffer die 3, also beginnt die Zwischennachricht mit 872462 (die Spalte unter der 3) und kommt dann 067357 (die Spalte unter den ersten 4). Die Gesamtnachricht:

872462 067357 76231 156609 700769 47456 36249 622848 82323 62030

Die Tatsache, dass unsere Nachricht 55 Stellen lang sein musste, ist wichtig, denn der nächste Schritt besteht darin, die Nachricht zu codieren, wobei eine zusätzliche Komplexität verwendet wird, um die Transposition unregelmäßig zu machen.

Die restlichen 15 Ziffern des zuvor gefundenen Schlüssels werden für die nächste Transposition verwendet (95722 45528 15057). Die Nachricht ist 55 Buchstaben lang, wir wissen also, dass wir drei Zeilen vollständig ausfüllen können, gefolgt von einer vierten Zeile mit 10 Buchstaben. Die Nummern des Schlüssels bestimmen die Reihenfolge, in der die Spalten gelesen werden sollen. Außerdem bestimmen die Zahlen, wo beim ersten Ausfüllen die dreieckigen Bereiche, die offen bleiben, beginnen. Der erste dreieckige Bereich beginnt in der Spalte mit der niedrigsten Zahl im Schlüssel, so dass die erste Zeile Zahlen bis einschließlich der Zeile für diese Spalte ausfüllt. In der nächsten Reihe beginnt die Ausräumung eine Spalte rechts und so weiter, wobei ein dreieckiger Bereich offen bleibt. Beim Erreichen der rechten Spalte beginnt das nächste linke offene Dreieck unterhalb der zweiten Ziffer des Schlüssels und so weiter mit maximal der vorberechneten Zeilenanzahl (in unserem Beispiel 4).

Wie unten gezeigt, stoppt es für die erste Spalte und fügt dann jeder Zeile eine zusätzliche Ziffer hinzu.

957224552815057
8724620673
57762311566
097007694745
6362496228

Dann werden die Lücken mit der übrig gebliebenen Nachricht gefüllt.

957224552815057
872462067348823
577623115662362
097007694745030
6362496228

Daraus kann dann die gesamte codierte Nachricht gelesen werden (wiederum indem die Reihenfolge nach der ersten vorkommenden Ziffer bestimmt wird und diese Spalte zuerst und natürlich 0 zuletzt verwendet wird):

464 4602 6204 7542 2379 7793 0166 6192 825 263 2776 320 3678 8506 830

Oder ordentlich in 5er-Gruppen gruppiert:

46446 02620 47542 23797 79301 66619 28252 63277 63203 67885 06830

Die letzte Ziffer 8 des Datums 11208 sagt uns, dass der zuerst verwendete Indikator, der in der achten Gruppe vom Ende aus gezählt wird, der letzten Nachricht platziert werden sollte. Die Nachricht, wie sie schließlich gesendet wird, sieht also so aus:

46446 02620 47542 23797 13681 79301 66619 28252 63277 64303 67885 06830

Externe Links