Szyfr ADFGVX

Adfgvx jest niemiecki szyfrowanie System wymyślony przez porucznika Fritza Nebel (DE) (1891-1977) i wprowadzony pod koniec I wojny światowej w celu zabezpieczenia komunikacji radiowej podczas ofensywy na Paryż. Został on jednak złamane przez porucznika Georges Painvin wcześnie Czerwiec 1918, dając kluczową przewagę armii francuskiej.

Jego oryginalność polega na połączeniu substytucji inspirowanej kwadratem Polibiusza i transpozycji . Nazwa szyfru, początkowo nazywanego GEDEFU 18 ( GEheimschrift DEr FUnker 1918 , „szyfr operatorów radiotelegraficznych 18”), pochodzi od współrzędnych liter w kwadracie. Liczby kwadratu Polibiusa są w rzeczywistości zastępowane literami A, D, F, G, V i X, wybranymi ze względu na ich kod Morse'a bardzo różniący się od siebie, aby uniknąć błędów transmisji radiowej.

Wykorzystanie i odszyfrowanie szyfru ADFGVX

Szyfr ADFGVX został użyty z 5 marca 1918w celu przygotowania niemieckiej ofensywy na Paryż .

Od czerwca Niemcy nie są już usatysfakcjonowani literami ADFGX, tutaj jest też litera V.Niemcy rzeczywiście używali do swoich szyfrów dwóch modeli kwadratów: jeden z 25 liter, drugi z 36 symbolami. dodanie 10 cyfr do pełnego alfabetu. Plac zastępczy został zbudowany przy użyciu klucza, który zmieniał się codziennie. Liczba składająca się z 36-symbolowego kwadratu jest znana jako liczba ADFGVX.

Plik 2 czerwcapodczas gdy sytuacja stawała się nagląca po stronie francuskiej , porucznik Georges Painvin zdołał rozszyfrować pierwszą wiadomość na podstawie niezwykle dokładnych badań statystycznych, a następnie szereg innych, co spowodowało, że Niemcy stracili efekt zaskoczenia i przyczyniły się do niepowodzenia ich ofensywy .

Zasada szyfrowania

Szyfrowanie odbywa się w dwóch krokach:

Zastępstwo

Po pierwsze, jeśli chodzi o szyfrowanie przez Polybius Square , każda litera wiadomości jest zastępowana dwoma kodami odpowiadającymi jej pozycji w tabeli szyfrowania (6x6). Pierwszy kod jest podany w wierszu, a drugi w kolumnie. Dwaj korespondenci muszą oczywiście mieć tę samą tabelę.

Na przykład, jeśli używamy następującej tabeli szyfrowania:

  Drugi kod
A
-
D
-
F
·· - ·
G
- -
V
··· -
X
- ·· -
Pierwszy
kod
A
-
8 t b w r q
D
-
p 4 vs sol 2 9
F
·· - ·
3 o 5 m x mi
G
- -
re w z jot s y
V
··· -
l godz 7 u v 0
X
- ·· -
nie 1 k 6 ja fa

atak wysłania wiadomości zmieni się na: VA GD XA DF FX AV GD GV GV GD VG AD

Użycie sześciu liter ADFGVX wynika z niskiego ryzyka pomyłki między tymi literami, gdy wiadomość jest przepisywana na alfabet Morse'a (wskazana w tabeli powyżej pod odpowiednimi kodami).

Transpozycja

Drugim krokiem, z którego wynika cała trudność kodu, jest transpozycja oparta na słowie kluczowym .

Jeśli weźmiemy poprzedni przykład, ze słowem kluczowym cat , otrzymamy następującą tabelę 1; po alfabetycznej klasyfikacji liter klucza tabela 2 zawiera ostateczną zaszyfrowaną wiadomość:

Oryginalny klucz vs godz w t

Zakodowana wiadomość
V W sol re
X W re fa
fa X W V
sol re sol V
sol V sol re
V sol W re
Klucz tajny w vs godz t
Wiadomość
zakodowana
i
przetransponowana
sol V W re
re X W fa
W fa X V
sol sol re V
sol sol V re
W V sol re

Ostatnim komunikatem, uzyskanym przez konkatenację kolumn tabeli, jest zatem: GD AG GA VX FG GV AA XD VG DF VV DD

Odbiorca odszyfruje go, wykonując te same kroki w odwrotnej kolejności, pod warunkiem, że zna oryginalny klucz transpozycji i ma tablicę kodowania 6 × 6.

Możemy ukryć tabelę kodowania, a także użyty klucz, przechowując je w wymyślonym tekście (na przykład drugą literę lub drugą cyfrę niektórych słów lub liczb małego tekstu) lub zabierając ten tekst do książki, której jedyne numer strony lub pierwsze słowo strony słownika lub katalogu jest przesyłane jawnie.

Kryptanaliza

Trudność w złamaniu tego kodu jest związana z faktem, że wystąpienia liter w oryginalnej wiadomości nie mogą być wykryte po prostu na podstawie ich względnej częstotliwości bez znajomości względnych pozycji, w których znajdują się dwie połowy kodu. Jednak liczba możliwych rekombinacji pozostaje dość niska, nawet jeśli klucz jest wystarczająco długi, i można zidentyfikować częstotliwości charakterystyczne, jeśli pierwotny komunikat jest wystarczająco długi, badając pary kodów we wszystkich możliwych odstępach; wydedukujemy długość klucza, a więc szerokość tabel transpozycji.

Następnie na podstawie otrzymanych częstości każdej pary wyprowadzamy pierwsze litery (zaczynając od najczęściej występujących w domniemanym języku przekazu, na przykład litery e , s , a , n ), a pozostałe, rzadziej występujące litery wyszukując w słowniku. Ponieważ tablica kodowania zawiera stosunkowo niewiele pól (26 liter i 10 cyfr), możliwe jest zatem jej całkowite wypełnienie przy użyciu tych znanych statystyk specyficznych dla języka używanego w oryginalnej wiadomości.

Udoskonaleniem tego algorytmu szyfrowania jest użycie znacznie większych tabel kodowania, na przykład trójwymiarowej tabeli 6 × 6 × 6 zawierającej komórki dla grup liter lub dla litery, której towarzyszy liczba z sekwencji znanej losowo; otrzymujemy wtedy 3 kody na oryginalną literę lub cyfrę, możemy również zakodować znaki interpunkcyjne i rozróżnić duże litery, a nawet spacje oddzielające. Klucz transpozycji można również zwiększyć, używając znacznie większej tabeli transpozycji.

Uwagi i odniesienia

  1. Bauer 2007 , s.  173.
  2. Bauer 2007 , s.  53.

Załączniki

Bibliografia

Linki zewnętrzne