ADFGVX

Z Wikipedii, wolnej encyklopedii
ADFGVX
Rodzaj algorytmu

szyfr podstawieniowy

Data stworzenia

1918

Autorzy

Frtiz Nebel

Data złamania

czerwiec 1918

Złamany przez

Georges Painvin

Szyfr ADFGVX – prosty szyfr podstawieniowy używany przez wojska niemieckie w czasie pierwszej wojny światowej[1] do komunikacji na polu bitwy. W rzeczywistości szyfr ten był rozwinięciem szyfru ADFGX. Jego działanie opiera się na zmodyfikowanej szachownicy Polibiusza oraz pojedynczej transpozycji. W wyniku zaszyfrowania tekstu jawnego otrzymujemy szyfrogram zawierający litery A, D, F, G, V oraz X. Zostały one wybrane w taki sposób, aby znacząco różniły się od siebie podczas nadawania ich za pomocą alfabetu Morse’a. Miało to na celu zmniejszenie ryzyka powstania błędów przy nadawaniu lub odbiorze wiadomości.

Został on wymyślony przez pułkownika Frtiza Nebela[1], i wprowadzony do użytku w marcu 1918 roku.

ADFGX[edytuj | edytuj kod]

Załóżmy, że chcemy zaszyfrować wiadomość „Tajna wiadomosc” (oryginalna wersja szyfru umożliwiała szyfrowanie liter alfabetu angielskiego, przy czym nie rozróżniano liter I oraz J). Na początku wypełniamy szachownice Polibiusza o wymiarach 5x5 alfabetem o zmienionej kolejności liter (która jest znana tylko nadawcy i odbiorcy wiadomości).

A D F G X
A b t a l p
D d h o z k
F q f v s n
G g j c u x
X m r e w y

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 będzie służyło do dalszego szyfrowania i wypisujemy pod nim, w wierszach, otrzymamy wcześniej szyfrogram. Należy pamiętać, aby w słowie tym nie powtarzały się litery (ewentualnie można powtarzające się litery pominąć).

H A S L 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 we wszystkich wersach występowała taka sama liczba liter. GX to „X” po zaszyfrowaniu pokazaną wcześniej szachownicą Polibiusza. Litera X na końcu naszej wiadomości z pewnością nie zmienia jej znaczenia.

W następnym kroku przestawiamy kolumny wraz z literami występującymi nad nimi w taki sposób, aby te ostatnie zostały ułożone 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 6-znakowe grupy dla łatwiejszego czytania. Nie należy dzielić ich ze względu na liczbę liter w wierszu, gdyż to może ułatwić złamanie szyfru.

ADFGVX[edytuj | edytuj kod]

W czerwcu 1918 roku została dodana litera V, co umożliwiało szyfrowanie 36 znaków – całego alfabetu (I oraz J były oddzielnymi literami) i cyfr od 0 do 9.

Kryptoanaliza[edytuj | edytuj kod]

ADFGVX został złamany przez francuskiego porucznika Georges Painvina. Na początku Painvin zdołał jedynie ustalić, że szyfrowanie opiera się na szachownicy Polibiusza, a do szyfrowania używane są klucze dzienne. Okazało się, że niektóre z wiadomości nadawanych tego samego dnia miała identyczne początki. Jednocześnie wyodrębnił litery służące do szyfrowania (ADFGVX), a następnie sprawdził jak często występują poszczególne pary liter. Najczęstszą występującą kombinacją było DG – wywnioskował stąd, że jest to litera e, która w języku niemieckim występuje najczęściej. Na podstawie dalszej analizy statystycznej udało mu się zrekonstruować całą tablicę. Dzięki temu był w stanie łamać klucze dzienne niemieckich szyfrantów.

Od 1 czerwca przechwytywane szyfrogramy zawierały dodatkową literę – V. Oznaczało to, że Niemcy zmienili szyfr – była to nowa wersja, ADFGVX. Ponownie, wykorzystując analizę statystyczną, Painvin odtworzył szachownicę służącą do szyfrowania.

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. a b Mateusz Dański, Szyfry ADFGX i ADFGVX [online], mattomatti.com [dostęp 2022-02-17] (pol.).