В описанном тексте рассматривается методика шифрования, включающая две последовательные перестановки. Эти перестановки осуществляются с использованием специальных таблиц, размеры которых определяются личным номером агента и псевдослучайной последовательностью цифр.
12.Вторая перестановка являлась неравномерной. Для её осуществления составлялась вторая таблица, в данном случае состоящая из 14 строк. В первых двух строках располагались последние 14 кодовых цифр и их номера. Число оставшихся строк подбиралось достаточным для вмещения всех цифр текста. Для размещения 1030 цифр необходимо 74 строки. Затем в основной части таблицы окрашивались треугольные области: k-ая область опиралась верхним левым углом на строку с номером (согласно нумерации во второй строке) k, нижний правый угол упирался в край таблицы:
В таблицу по строкам записывался полученный в п.11 текст, причём вначале целиком заполнялась серая область таблицы, затем жёлтая — до использования всех цифр. По подобию пункта 11, текст основной таблицы выписывался по столбцам, согласно нумерации во второй строке, в таблицу:
Текст разбивался на пятизначные группы, а вверху указывалось их количество. Групп, соответствующих шифротексту, было 206, но на пятое с конца место вставлено число 20818 — случайный индикатор, используемый в п.1. Число 5, определяющее размещение вставленной группы, есть не использованная ранее последняя цифра числового ключа. Именно текст, изображённый в последней таблице, был обнаружен внутри пятицентовой монеты летом 1953 года.
10.В шифре ВИК применялись две последовательные перестановки, для осуществления каждой из которых составлялась таблица. Именно для определения размеров таблиц использовался личный номер агента. Кроме того, из 50-значной псевдослучайной последовательности, полученной в п.7, брались две последние неравные цифры (4 и 1). Суммируя эти цифры с номером агента, получали, соответственно, количество столбцов в первой и второй таблицах: 13+4=17,\ 13+1=14. Также необходимо было выбрать ключевой набор цифр, которые ставили в соответствие каждому столбцу двух таблиц, то есть в данном случае всего нужно было выбрать 31 цифру. Извлекались цифры из той же таблицы в п.7. Воспроизведём её снова, добавив вторую строку, размещающую порядковые номера ключевых цифр, данных в первой строке (операция, подобная проведённой в п.8). Цифры выбирались сверху вниз по вертикалям; выбираемые столбцы следовали согласно нумерации, данной во второй строке. В результате получали последовательность из 31 псевдослучайной цифры:
9 6 0 3 3 1 8 3 6 6 4 6 9 0 4 7 5 3 0 2 7 4 3 0 4 2 8 7 7 1 2
8. Последние 10 полученных цифр нумеровались в порядке возрастания (0 шёл после 9) цифрами 1,2…9,0, а одинаковые цифры — в порядке следования:
В шифре использовалось сразу 4 ключа: ключевое шестизначное число, 20 букв ключевой фразы, 7 букв ключевого слова и небольшой личный номер агента. В упомянутом сообщении в качестве первого ключа использовалась знаменательная дата — 3 сентября 1945 года — день победы Советского Союза над Японией — записанная в форме: 391945. Текстовый ключ был выбран из песни М. Исаковского «Одинокая гармонь»:
« Снова замерло всё до рассвета —
Дверь не скрипнет, не вспыхнет огонь.
Только слышно — на улице где-то
Одинокая бродит гармонь. Кодовым словом являлось слово «СНЕГОПАД». Личным номером Вика было число 13.
Кроме того, для каждого шифра выбирался случайный пятизначный «индикатор» шифра. В приведённом примере это число 20818.
1.Вначале производилось вычитание по модулю 10 первых пяти цифр числового ключа из цифр индикатора:Шестая цифра числового ключа используется в самом конце алгоритма.
3.На третьем шаге полученная в п.1 пятизначная группа цифр дополнялась до десятизначной методом цепи дополнений: последние пять цифр получались сложением соседних цифр выписанного числа по модулю 10, а именно: подсчитывалась сумма очередной пары цифр, результат по модулю 10 записывался в конец последовательности, переходили к следующей паре и так далее: {\displaystyle 9+1=0,\ 1+7=8,\ 7+2=9,\ 2+4=6,\ 4+0=4{\pmod {10}}} {\displaystyle 9+1=0,\ 1+7=8,\ 7+2=9,\ 2+4=6,\ 4+0=4{\pmod {10}}}. Получено число 9172408964
2.Далее брался текстовый ключ, делился на две половины, и буквы внутри каждой половины нумеровались в порядке следования по алфавиту:
4.Далее производилось суммирование соответствующих цифр полученного числа и первой половины последовательности, полученной в п.2:
5.Создавалось правило перекодировки с использованием второй части последовательности, полученной в п.2, в качестве образов для цифр 1,2,3…,9,0:
6.Применяя полученное правило, перекодировали результат, полученный на четвёртом шаге:
7.Методом цепи дополнений, упомянутым в п.3, для полученной десятизначной последовательности генерировались следующие 50 псевдослучайных цифр:
Окончательно полученные 10 цифр применялись для построения квадратного шифра.Рисовалась таблица с 4 строками и 10 столбцами, в первой строке записывались первые 7 букв кодового слова, в остальных строках записывались в вертикальном порядке остальные буквы русского алфавита, точка, запятая, а также некоторые условные обозначения: «п/л» — переход на латинскую азбуку, «н/ц» — начало цифрового текста, «н/т» — начало шифруемого текста, «пвт» — повторение предыдущего текста. Номерами столбцов служили полученные 10 цифр, первый столбец оставался без номера, остальные 3 получали номера, соответствующие последним 3 цифрам числа. Соответствие устанавливалось следующим образом: каждая буква заменялась на число, состоящее из номера строки и номера столбца. Символы первой строки, не имеющей номера, заменялись номером столбца.
9.Пункты 1-8 описывают лишь подготовку к шифрованию. Само же шифрование текста происходит в следующих четырёх пунктах. Все предыдущие вычисления нужны были лишь для получения таблицы перекодировки в цифровой текст, изображённой в п.8, а точнее, числовой последовательности, записанной сверху и слева от этой таблицы. Использование столь сложной системы было обоснованным, так как все четыре используемых ключа в шифре при общении с одним агентом оставались неизменными. И лишь использование случайного пятизначного «индикатора» позволяло до неузнаваемости изменять таблицу перекодировки. При помощи полученной по ключу «СНЕГОПАД» таблицы текст переводился в числовой вид:
11.Записывалась первая таблица с 17 колонками, в верхних двух строках располагались первые 17 из полученных ключевых цифр и их порядковые номера, далее по горизонталям выписывался полученный в п.9 числовой код:
Аналогично пункту 10, выписывались столбцы основной части таблицы в порядке согласно нумерации во второй строке таблицы:
шифр
Алгоритм шифрования
В этом разделе процесс шифрования рассмотрен на примере сообщения, переданного на пятицентовой монете. Текст оригинального сообщения:
1. Поздравляем с благополучным прибытием. Подтверждаем получение вашего письма в адрес «В» повторяю «В» и прочтение письма №1.
2. Для организации прикрытия мы дали указание передать вам три тысячи местных. Перед тем как их вложить в какое либо дело посоветуйтесь с нами, сообщив характеристику этого дела.
3. По вашей просьбе рецептуру изготовления мягкой пленки и новостей передадим отдельно вместе с письмом матери.
4. Гаммы высылать вам рано. Короткие письма шифруйте, а побольше — делайте со вставками. Все данные о себе, место работы, адрес и т.д. в одной шифровке передавать нельзя. Вставки передавайте отдельно.
5. Посылку жене передали лично. С семьей все благополучно. Желаем успеха.
Привет от товарищей. №1/03 Декабря.
История
Шифр использовался подполковником КГБ Рейно Хейханеном, работавшим в нелегальной советской разведке в США в период с 1952 по 1957 годы. С 1954 года Хейханен являлся помощником Рудольфа Абеля, выдающегося агента советской разведки. Хейханен скрывался в США под гражданским именем Виктор, давшим название шифру.
Одним из документов, в которых использовался данный шифр, был текст, напечатанный на микроплёнке, по случайности обнаруженной в 1953 году внутри пятицентовой монеты. Образец был в срочном порядке доставлен в ФБР, однако все попытки самостоятельно расшифровать послание остались тщетными. Госслужбы США были вынуждены признать шифр, не поддававшийся криптоанализу, «наиболее изящным и сложным среди всех шифров, оказывавшихся в публичном доступе».
Шифр ВИК, также известный как шифр Абеля, — шифр, использовавшийся советским шпионом Рейно Хейханеном.
Характеристика
Шифр ВИК относится к нигилистической семье шифров. Его можно описать как «подстановочный моноалфавитный шифр, усиленный двойной модифицированной перестановкой». Шифр основывался на принципах перестановки символов и замены их другими, а также использовал 4 ключа и начинался со сложной процедуры получения псевдослучайной числовой последовательности, что делало его одним из сложнейших среди всех известных «ручных шифров» XX века.