Prosty szyfr podstawieniowy używany przez wojska niemieckie w czasie pierwszej wojny światowej 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.
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
1 | A | B | C | D | E |
2 | F | G | H | I/J | K |
3 | L | M | N | O | P |
4 | Q | R | S | T | U |
5 | V | W | X | Y | Z |
Został on wymyślony przez pułkownika Frtiza Nebela, i wprowadzony do użytku w marcu 1918 roku.
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 wierszami otrzymujemy szyfrogram: DAFGA FDAFX GXDAG DFDFA AXFFD GGGXF. Litery szyfrogramu zostały podzielone na 5-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.
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.
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.
źródło: http://pl.wikipedia.org/wiki/ADFGVX