VIC Cipher

Stosowany przez szpiegów radzieckich na całym świecie, w połowie dwudziestego wieku. Nazwa tego szyfru pochodzi od pseudonimu VICTOR, który należał do agenta działającego w USA pod nazwiskiem Reino Häyhänen. W roku 1957 oddał się w ręce Amerykanów i ujawnił szczegóły dotyczące tego szyfru.

Zastosowanie

Szyfr VIC jest zaawansowaną odmianą szyfru Nihilist. Jest uważany za jeden z najsilniejszych szyfrów, których można używać ręcznie bez wykorzystania komputerów. Do momentu ujawnienia jego działania w wyniku zdrady, kontrwywiad amerykański nie zdołał złamać jego zabezpieczeń.

Algorytm

Szyfr VIC wykorzystuje w swoim działaniu tablicę, umożliwiającą zamianę liter na liczby. Nosi ona angielską nazwę straddling checkerboard.

Od innych tablic wykorzystywanych w prostych szyfrach podstawieniowych różni się przede wszystkim tym, że produkowane ciągi liczb są krótsze (wobec tego wygodniejsze w przekazaniu drugiej stronie).

Straddling checkerboard może mieć następującą formę:

  0 1 2 3 4 5 6 7 8 9
  E T   A O N   R I S
2 B C D F G H J K L M
6 P Q / U V W X Y Z .

Najwyższy wiersz wypełniany jest cyframi od 0 do 9. Do drugiego wiersza wpisuje się najpopularniejsze litery w dowolnej kolejności. W języku angielskim za najczęstsze uznaje się litery tworzące frazę ESTONIA-R. Należy pozostawić wolne miejsce pod dwiema cyframi i w skrajnie lewej kolumnie.

Dwóm dolnym wierszom przyporządkowuje się cyfry, które pozostały niewykorzystane w drugim wierszu. Następnie wypełnia się je pozostałymi literami w kolejności alfabetycznej. Ze względu na wolne miejsce, można wstawić do nich również dwa inne dowolne znaki, które mogą mieć w przyszłości specjalne, ustalone wcześniej między stronami znaczenie.

Szyfrowanie w VIC polega na zastępowaniu kolejnych liter wiadomości liczbami utworzonymi przez numery wiersza i kolumny. Najpopularniejsze litery będą zastąpione tylko przez jedną cyfrę kolumny (przyczynia się to do zmniejszenia długości wynikowego szyfrogramu).

Przykładowo, szyfrując imię sławnej królowej szkockiej za pomocą takiej tabeli otrzyma się:

M A R Y Q U E E N O F S C O T S
29 3 7 67 61 63 0 0 5 4 23 9 21 4 1 9

Można zauważyć, że w otrzymanym ciągu liczb, wiele z nich jest jednocyfrowa.

Następnym krokiem jest dodawanie do kolejnych cyfr pewnego z góry ustalonego ciągu liczbowego. Dodawać należy kolejne cyfry przekształconej wiadomości do kolejnych cyfr ustalonego sekretnego ciągu, przechodząc do pierwszej cyfry sekretnego ciągu po wyczerpaniu się jego cyfr. Dodawanie odbywa się modulo dziesięć, czyli jeśli dwie zsumowane cyfry dadzą w wyniku więcej niż dziesięć, jako wynik należy przyjąć tylko cyfrę jedności.

Kontynuując przykład, można dodać do otrzymanych powyżej liczb sekretny ciąg cyfr, oznaczający rok urodzenia się królowej (1542):

  2 9 3 7 6 7 6 1 6 3 0 0 5 4 2 3 9 2 1 4 1 9
+ 1 5 4 2 1 5 4 2 1 5 4 2 1 5 4 2 1 5 4 2 1 5
= 3 4 7 9 7 2 0 3 7 8 4 2 6 9 6 5 0 7 5 6 2 4

Otrzymane cyfry można traktować jako szyfrogram i w takiej formie wysłać do odbiorcy. Można też zmienić cyfry z powrotem na litery, wykorzystując tę samą tablicę, co podczas szyfrowania. Zamiana liczb na litery jest intuicyjna. Po natrafieniu na jedną z dwóch cyfr, które są przyporządkowane do dwóch dolnych wierszy, należy użyć liczby dwucyfrowej.

Otrzymany powyżej przykładowy ciąg cyfr, po zamianie na litery miałby następującą postać:

3 4 7 9 7 20 3 7 8 4 26 9 65 0 7 5 62 4
A O R S R B A R I O J S W E R N / O

Deszyfrowanie może być przeprowadzone przy użyciu tej samej tablicy straddling checkerboard i sekretnego numeru oraz przekształceń dokonywanych w odwrotnej kolejności. Cyfry wybranego numeru są podczas deszyfrowanie odejmowane od cyfr szyfrowaniu. Jeśli wynik miałby być mniejszy niż zero, to do cyfry szyfrogramu dodaje się dziesięć.

Siła szyfru VIC

Szyfr VIC jest dość dobrym szyfrem. Wprowadza spore zakłócenia w częstotliwościach występowania znaków i czyni analizę szyfrogramu dość czasochłonną.

Istnieją liczne modyfikacje szyfru VIC. Pierwsze zmiany można wprowadzić już w tablicy straddling checkerboard, dowolnie dobierając kolejność liter. Można również pozostawić niektóre komórki puste, utrudniając kryptoanalizę.

Otrzymane znaki szyfrogramu można poddać na końcu przekształceniom korzystając z algorytmów szyfrów przestawieniowych.