Szyfr Nihilistów – szyfr podstawieniowy z podwójnym kluczem używany przez członków rosyjskiego ruchu nihilistów w 2 połowie XIX wieku.
Szyfrowanie i rozszyfrowywanie Do zaszyfrowania tekstu używa się dwóch słów-kluczy (np. klucz 1: WIKIPEDIA, klucz 2: SZACHY).
Przy pomocy pierwszego klucza tworzy się szachownicę Polibiusza – w komórki tabeli należy wpisać najpierw słowo-klucz (opuszczając powtarzające się litery – w przykładzie literę I), a następnie uzupełnić tabelę pozostałymi literami alfabetu. Litera J nie występuje w szachownicy – w tekstach szyfrowanych zastępuje ją litera I. 1 2 3 4 5 1 W I K P E 2 D A B C F 3 G H L M N 4 O Q R S T 5 U V X Y Z
Używając powstałej tablicy przeprowadza się pierwsze szyfrowanie tekstu jawnego (np. SZYFROWANIE Z DWOMA KLUCZAMI).
Litery należy zamienić na dwucyfrowe liczby opisujące ich położenie na szachownicy (w układzie wiersz+kolumna). S Z Y F R O W A N I E Z D W O M A K L U C Z A M I 44 55 54 25 43 41 11 22 35 12 15 55 21 11 41 34 22 13 33 51 24 55 22 34 12
Teraz, używając szachownicy i drugiego słowa-klucza, należy stworzyć klucz numeryczny, który będzie potrzebny do drugiego przekształcenia tekstu szyfrowanego. S Z A C H Y 44 55 22 24 32 54
Klucz numeryczny wpisuje się pod liczbami szyfru tyle razy, aby wyrównać długość tekstu zaszyfrowanego, a następnie dodaje się do siebie liczby tekstu i klucza. szyfr według klucza 1 44 55 54 25 43 41 11 22 35 12 15 55 21 11 41 34 22 13 33 51 24 55 22 34 12 klucz 2 + 44 55 22 24 32 54 44 55 22 24 32 54 44 55 22 24 32 54 44 55 22 24 32 54 44 szyfr ostateczny = 88 110 76 49 75 95 55 77 57 36 47 109 65 66 63 58 54 67 77 106 46 79 54 88 56
Po dodaniu liczb z pierwszego szyfrowania i klucza numerycznego powstaje ostatecznie zaszyfrowany tekst: 88, 110, 76, 49, 75, 95, 55, 77, 57, 36, 47, 109, 65, 66, 63, 58, 54, 67, 77, 106, 46, 79, 54, 88, 56.
Odbiorca zaszyfrowanego tekstu zna oba słowa klucze, więc tworzy szachownicę i klucz numeryczny, odejmuje liczby klucza numerycznego od liczb z otrzymanego tekstu, a następnie przy pomocy szachownicy odczytuje tekst jawny.
Odporność na złamanie Mimo pozornej złożoności szyfr nie był zbyt odporny na złamanie, co wykorzystywali kryptoanalitycy carskiej tajnej policji politycznej - Ochrany. Liczby szyfru wysyłano wypisując je po kolei i oddzielając przecinkami. Jeżeli kryptoanalityk znał podstawy szyfru, to liczba trzycyfrowa wskazywała, że dodano do siebie liczby większe niż 50. To z kolei znaczyło, że litera tekstu jawnego i litera, na podstawie której utworzono daną liczbę klucza numerycznego, leżały w prawej dolnej ćwiartce szachownicy. Ogólnie – im wyższa była liczba, tym niżej najprawdopodobniej leżały na szachownicy obie litery. Ułatwiało to znalezienie klucza.
Choć szyfr Nihilistów nie dawał pewnego zabezpieczenia szyfrowanych tekstów, zawarta w nim idea podwójnego przetwarzania tekstu przetrwała. Radzieccy kryptolodzy tworząc w latach 20 i 30 XX w. szyfry dla swoich agentów wywiadu korzystali z podstaw tego szyfru rozwijając go i komplikując. Jednym z lepszych szyfrów opartych jego zasadach był tzw. szyfr Ramsaya używany przez siatkę radzieckich szpiegów w Japonii w latach 1935-41. Również na bazie szyfru Nihilistów powstał szyfr VIC, uznawany za najlepszy w historii szyfr ręczny (czyli taki, w którym do szyfrowania nie używano żadnych urządzeń mechanicznych lub elektrycznych).
Bibliografia
Nihilistów