ADFGX

Szyfrowanie ADFGX


Szyfr ADFGvX

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.

ADFGX

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.

ADFGVX

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

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


One Time Pad ⇒