Шифр VIC
Кодируйте и декодируйте с помощью шифра VIC, грозного советского ручного шифра, который носил с собой шпион Reino Häyhänen. Из даты, заученной фразы, личного числа и пятизначной ключевой группы он выводит шахматную доску со страддлингом и две столбцовые перестановки, вторая из которых нарушенная. Всё работает прямо в вашем браузере.
Шифр VIC был самым сложным ручным шифром Холодной войны. Из четырёх небольших секретов — даты, заученной фразы, личного числа и пятизначной ключевой группы — длинная цепочка выработки ключа строит шахматную доску со страддлингом и две столбцовые перестановки, вторая из которых нарушенная. Задайте четыре части ключа ниже, затем кодируйте или декодируйте. Переносятся только буквы, цифры и точка; всё остальное игнорируется. Для декодирования используйте те же четыре части ключа.
Режим
Дата (6+ цифр)
Дата, записанная цифрами, например 139195. Первые пять цифр начинают цепочку выработки ключа; шестая задаёт, где в сообщении спрятана ключевая группа.
Ключевая фраза (20+ букв)
Запоминающаяся строка текста, например строчка из песни. Используются первые двадцать букв; пробелы и знаки препинания игнорируются.
Личное число
Небольшое число от 1 до 99, которое заучивают оба корреспондента.
Ключевая группа (5 цифр)
Случайная пятизначная группа, своя для каждого сообщения. Она передаётся открыто, спрятанная внутри шифртекста.
Введите текст выше, чтобы увидеть здесь результат VIC.
Как выводятся ключи
Цепочка выработки ключа
Каждая строка строится из расположенных выше: A — это ключевая группа, B — дата, а C — это A минус B. E.1 и E.2 берутся из ключевой фразы. Затем цепочка складывает, упорядочивает и комбинирует цифры вплоть до S, заголовка шахматной доски, и двух ключей перестановки.
A
72401
B
13919
C
69592
E.1
8017942653
E.2
6013589427
F.1
6959254417
G
4966196060
H
3288628787
J
3178429506
Блок (K–P)
K
5064805552
L
5602850077
M
1620350748
N
7823857125
P
5051328370
S
5961328470
Заголовок шахматной доски (S)
5961328470
Ширина перестановки 1
13
Ширина перестановки 2
6
Ключ перестановки 1
0668005552551
Ключ перестановки 2
758838
Ячейка индикатора
5
Шахматная доска со страддлингом
В верхней строке расположены восемь частых букв под мнемоникой AT ONE SIR; цифры заголовка двух пустых столбцов становятся префиксами нижних строк. Частая буква занимает одну цифру, любая другая буква занимает две.
Как пользоваться Шифр VIC
- 1
Выберите кодирование или декодирование
Выберите «Кодировать», чтобы превратить сообщение в шифртекст VIC, или «Декодировать», чтобы восстановить сообщение. Для декодирования нужны точно те же дата, ключевая фраза, личное число и ключевая группа, которые использовались при кодировании.
- 2
Задайте дату
Введите дату цифрами, например 139195. Первые пять цифр начинают цепочку выработки ключа, а шестая цифра решает, где в готовом сообщении спрятана ключевая группа.
- 3
Задайте ключевую фразу и личное число
Введите запоминающуюся фразу не менее чем из двадцати букв и небольшое личное число от 1 до 99. Это постоянные секреты, о которых оба корреспондента договариваются заранее.
- 4
Задайте ключевую группу
Введите случайную пятизначную ключевую группу или нажмите «Случайно», чтобы сгенерировать её. Ключевая группа — это индикатор: она меняется для каждого сообщения и передаётся спрятанной внутри шифртекста.
- 5
Введите своё сообщение и прочитайте результат
Введите или вставьте свой текст. Шифруются только буквы, цифры и точка; всё остальное игнорируется. Скопируйте или скачайте результат либо поделитесь ссылкой, которая снова откроет инструмент с вашими точными ключами и текстом.
Понимание шифра VIC
Что такое шифр VIC?
Шифр VIC — это шифр на бумаге и карандаше, который использовала советская разведка в 1950-х годах и который широко считается самым сложным ручным шифром, когда-либо применявшимся на практике. Он назван в честь Reino Häyhänen, агента КГБ, чьим кодовым именем было VICTOR. Несмотря на то что для него не требовалось ничего, кроме карандаша, бумаги и нескольких заученных секретов, система так основательно сочетала подстановку и перестановку, что американские криптоаналитики не смогли вскрыть ни одного перехваченного сообщения, пока сам Häyhänen не перешёл на сторону США и не объяснил, как это работает.
Что делает VIC замечательным, так это то, что он вмещает стойкость машинного шифра в процедуру, которую агент мог целиком держать в голове. Короткий порядок выработки ключа превращает дату, заученную фразу, личное число и случайную пятизначную группу во весь материал, нужный шифру: шахматную доску со страддлингом для превращения букв в цифры и две столбцовые перестановки, вторая из которых нарушенная, для перемешивания результата. Этот инструмент воспроизводит весь этот процесс и показывает каждый шаг по мере его выполнения.
Как работает шифр VIC
Шифрование сообщения с помощью VIC проходит в три этапа. Сначала идёт цепочка выработки ключа: последовательность простых операций над цифрами — сложение без переноса, вычитание без заёма и ранжирование, — которая расширяет четыре части ключа в строку заголовка шахматной доски и два ключа перестановки с их ширинами. Затем сообщение переводится в цифры с помощью шахматной доски со страддлингом — компактной таблицы, в которой самые частые буквы занимают одну цифру, а остальные две. Наконец, эти цифры перемешиваются двумя столбцовыми перестановками.
Хитрость заключена во второй перестановке, которая нарушенная: треугольные области сетки резервируются и заполняются только после всей остальной её части, разбивая упорядоченные столбцы, которые делают обычные перестановочные шифры более уязвимыми для атаки. В самом конце случайная ключевая группа вставляется обратно в шифртекст в позицию, заданную датой, чтобы получатель мог восстановить индикатор и повторить цепочку выработки ключа. Результат — строка групп цифр, не выдающая ни одной закономерности исходного языка.
Цепочка выработки ключа
Всё в VIC вытекает из цепочки выработки ключа. Пятизначная ключевая группа становится строкой A, а первые пять цифр даты — строкой B; вычитание B из A без заёма даёт строку C. Ключевая фраза поставляет ещё две строки: её первые десять букв и следующие десять букв каждая нумеруются в алфавитном порядке, образуя строки E.1 и E.2. Затем строка C удлиняется цепным сложением — процессом с запаздыванием, где каждая новая цифра является суммой двух предыдущих, — и комбинируется со строками фразы, чтобы получить ещё цифры.
Из них цепочка наращивает блок из пятидесяти цифр, снова цепным сложением. Нумерация последней строки этого блока даёт строку S, которая становится заголовком шахматной доски со страддлингом. Две цифры, взятые из блока и прибавленные к личному числу, задают ширины двух перестановок, а чтение блока столбец за столбцом в порядке, заданном ключом, даёт сами два ключа перестановки. Наглядная схема в этом инструменте раскладывает каждую из этих строк, чтобы вы могли проследить выработку от четырёх секретов вплоть до готовых ключей.
Шахматная доска со страддлингом
Шахматная доска со страддлингом — это небольшая таблица, превращающая буквы и цифры в поток чисел. Её десять столбцов помечены строкой заголовка S. В верхней строке располагаются восемь высокочастотных букв, помещённых под заранее согласованную мнемонику, здесь это классическое AT ONE SIR, два пробела которой отмечают столбцы, оставленные пустыми. Цифры заголовка этих двух пустых столбцов становятся префиксами для двух строк под ними, в которых размещаются остальной алфавит, точка и символ переключения на цифры.
Поскольку частые буквы находятся в верхней строке, они кодируются всего одной цифрой каждая, тогда как менее частые буквы занимают две — префикс строки, за которым следует метка столбца. Этот неравномерный, самосинхронизирующийся код сохраняет шифртекст коротким и убирает очевидные частоты букв, которые выдала бы простая подстановка. Цифры в сообщении передаются в цифровом режиме, отмеченном символом переключения на цифры, причём каждая цифра записывается трижды, чтобы её нельзя было спутать с кодом буквы.
Две перестановки
Как только сообщение становится потоком цифр, VIC перемешивает его дважды. Первая перестановка — это обычная столбцовая: цифры записываются в строки фиксированной ширины, затем столбцы считываются в порядке, заданном первым ключом перестановки. Уже само по себе это хорошо перемешивает цифры, но по отдельности столбцовая перестановка оставляет закономерности, которые опытные взломщики кодов могут использовать, особенно когда несколько сообщений используют один ключ.
Вторая перестановка закрывает этот пробел тем, что она нарушенная. Треугольные области сетки резервируются по лестничному узору, заданному вторым ключом перестановки; сообщение сначала заполняет только ячейки за пределами этих треугольников, а затем возвращается, чтобы заполнить сами треугольники. Чтение столбцов в порядке, заданном ключом, переплетает оба заполнения, так что итоговые цифры основательно перемешаны. Именно это нарушение, наложенное поверх шахматной доски и первой перестановки, придало VIC его грозную репутацию.
Reino Häyhänen и дело полого пятицентовика
Шифр VIC стал известен благодаря одному из самых знаменитых эпизодов шпионажа Холодной войны. В 1953 году мальчик-разносчик газет в Бруклине уронил пятицентовик, который раскрылся, обнажив крошечную фотографию столбца чисел. ФБР не смогло прочитать сообщение, и полый пятицентовик оставался неразгаданной диковинкой четыре года. Прорыв наступил в 1957 году, когда Reino Häyhänen, советский агент, работавший в Нью-Йорке под кодовым именем VICTOR, перешёл на сторону Соединённых Штатов и подробно описал шифр.
Сведения Häyhänen также помогли разоблачить его начальника, старшего нелегала, известного как Rudolf Abel, которого позже обменяли на американского пилота U-2 Francis Gary Powers. Шифр, который раскрыл Häyhänen, был настолько изощрённым, что аналитики назвали его в его честь, а Агентство национальной безопасности долго приводило его как пример того, насколько стойким может быть ручной шифр. Его секреты были в безопасности не потому, что сообщения были вскрыты, а лишь потому, что один человек пришёл и выдал их.
Насколько надёжен шифр VIC?
По меркам ручных шифров VIC был исключительным. Наложение шахматной доски со страддлингом поверх двух перестановок, одна из которых нарушенная, убирает частоты букв и разрушает столбцовую структуру, которая позволяет аналитикам атаковать более простые системы. Со свежей случайной ключевой группой для каждого сообщения и ключом, построенным из секретов, которые агенту нужно было лишь запомнить, он полностью противостоял криптоанализу своего времени; система была скомпрометирована перебежчиком, а не взломом кода.
Однако против современных компьютеров VIC не предлагает никакой реальной защиты. Его пространство ключей, хотя и большое для человека, работающего вручную, тривиально перебрать машине, а лежащие в основе операции хорошо изучены. Как и машиной Enigma или любой классической системой, им лучше всего наслаждаться сегодня как историей и как прекрасной демонстрацией того, как подстановка, перестановка и тщательное управление ключами объединяются. Чтобы защитить реальную информацию, всегда следует использовать хорошо проверенный современный алгоритм, такой как AES.
Часто задаваемые вопросы
Что такое шифр VIC?
Почему он называется шифром VIC?
Как работает шифр VIC?
Что такое цепочка выработки ключа?
Что такое шахматная доска со страддлингом?
Что такое нарушенная перестановка?
Что такое дело полого пятицентовика?
Как мне декодировать сообщение VIC?
Что такое ключевая группа или индикатор?
Насколько надёжен был шифр VIC?
Загружается ли мой текст на сервер?
Похожие инструменты
Продолжайте работу с этими удобными инструментами