ADFGVX

Szyfr ADFGVX

Szyfr ADFGVX to prosty szyfr podstawieniowy, który był wykorzystywany przez niemieckie wojska podczas pierwszej wojny światowej do komunikacji w trakcie działań wojennych. W rzeczywistości stanowił on rozwinięcie szyfru ADFGX. Jego działanie bazuje na zmodyfikowanej wersji szachownicy Polibiusza oraz pojedynczej transpozycji. Po zaszyfrowaniu tekstu jawnego otrzymujemy szyfrogram, który składa się z liter: A, D, F, G, V oraz X. Te litery zostały wybrane w taki sposób, aby różniły się od siebie podczas nadawania ich w alfabecie Morse’a, co miało na celu zminimalizowanie ryzyka błędów podczas przesyłania lub odbierania wiadomości.

Szyfr został stworzony przez pułkownika Fritza Nebela i wprowadzony do użytku w marcu 1918 roku.

ADFGX

Załóżmy, że chcemy zaszyfrować wiadomość „Tajna wiadomość” (oryginalna wersja szyfru pozwalała na szyfrowanie liter alfabetu angielskiego, przy czym nie rozróżniano liter I oraz J). Na początku wypełniamy szachownicę Polibiusza o wymiarach 5×5 zmodyfikowanym alfabetem, którego kolejność jest znana tylko nadawcy i odbiorcy wiadomości.

Używając tej tabeli, zamieniamy tekst jawny na odpowiadający mu szyfrogram:

T a j n a w i a d o m o s c

AD AF GD FX AF XG GD AF DA DF XA DF FG GF

Następnie wybieramy tajne słowo, które posłuży do dalszego szyfrowania, a następnie wypisujemy je pod nim, w wierszach, aby uzyskać wcześniej stworzony szyfrogram. Należy pamiętać, że litery w tym słowie nie mogą się powtarzać (ewentualnie można pominąć powtarzające się litery).

H A S Ł O

A D A F G

D F X A F

X G G D A

F D A D F

X A D F F

G G F G X

Ostatnie dwie litery zostały dodane, aby zapewnić, że w każdym wierszu będzie taka sama liczba liter. GX to „X” po zaszyfrowaniu przy użyciu wcześniej przedstawionej szachownicy Polibiusza. Litera X na końcu naszej wiadomości nie ma wpływu na jej znaczenie.

W kolejnym kroku przestawiamy kolumny oraz litery nad nimi w taki sposób, aby te ostatnie zostały uporządkowane alfabetycznie:

A H L O S

D A F G A

F D A F X

G X D A G

D F D F A

A X F F D

G G G X F

Czytając kolumnami, otrzymujemy szyfrogram: DFGDAG ADXFXG FADDFG GFAFFX AXGADF. Litery szyfrogramu zostały podzielone na grupy po 6 znaków dla ułatwienia czytania. Nie należy dzielić ich ze względu na liczbę liter w wierszu, ponieważ może to ułatwić złamanie szyfru.

ADFGVX

W czerwcu 1918 roku dodano literę V, co umożliwiło szyfrowanie 36 znaków – całego alfabetu (litery I oraz J zostały potraktowane jako oddzielne znaki) oraz cyfr od 0 do 9.

Kryptoanaliza

Szyfr ADFGVX został złamany przez francuskiego porucznika Georges Painvina. Na początku Painvin ustalił jedynie, że szyfrowanie opiera się na szachownicy Polibiusza oraz że do szyfrowania używane są klucze dzienne. Odkrył, że niektóre wiadomości nadawane tego samego dnia miały identyczne początki. Jednocześnie zidentyfikował litery służące do szyfrowania (ADFGVX) i zbadał, jak często występują różne pary liter. Najczęściej występującą kombinacją było DG, co pozwoliło mu wywnioskować, że oznacza ona literę e, która w języku niemieckim występuje najczęściej. Na podstawie dalszej analizy statystycznej zdołał odtworzyć całą tablicę, co umożliwiło mu łamanie kluczy dziennych niemieckich szyfrantów.

Od 1 czerwca przechwytywane szyfrogramy zawierały dodatkową literę V, co oznaczało, że Niemcy zmienili szyfr na nową wersję ADFGVX. Ponownie, przy użyciu analizy statystycznej, Painvin był w stanie odtworzyć szachownicę służącą do szyfrowania.

Zobacz też

enigma – niemiecka maszyna szyfrująca

Przypisy