Чёрный кабинет EN

Утилиты · Классические шифры

Шифр Виженера: шифратор и взлом

Шифр Виженера и Бофора: шифрование по ключу и автоматический взлом без ключа — длина ключа по индексу совпадений.

Считается в вашем браузере. Текст никуда не отправляется.

Как пользоваться

Введите ключ — одно или несколько слов — и текст. Результат появляется сразу. Под ним лента: над каждой буквой текста стоит буква ключа, которая на неё пришлась, а внизу — то, что получилось. Ключ сдвигается только на буквах: пробелы, цифры и знаки препинания остаются на месте и букву ключа не тратят. Регистр сохраняется. Кнопка «⇅» меняет поля местами и переключает режим.

Алфавит определяется по тексту: русский (33 буквы, с ё) или латинский (26). Ключ должен быть в том же алфавите, что и текст.

Виженер, Бофор и обратный вариант

В классическом шифре Виженера номер буквы ключа прибавляется к номеру буквы текста (А = 0, Б = 1…): шифр = текст + ключ. У шифра Бофора наоборот: шифр = ключ − текст. Поэтому Бофор сам себе обратный — повторное шифрование тем же ключом возвращает исходный текст. «Обратный» вариант вычитает ключ из текста: шифр = текст − ключ. Им удобно расшифровывать чужие Виженеры, а вот стойкость у всех трёх одинаковая.

Как работает взлом

Если ключ неизвестен, блок «Взлом без ключа» делает то же, что в XIX веке делали Бэббидж и Касиски, только за миллисекунды. Для каждой возможной длины ключа L текст делится на L столбцов (буквы 1, L+1, 2L+1… — первый столбец, и так далее) и считается индекс совпадений — вероятность, что две случайно взятые буквы столбца одинаковы. У обычного русского текста он около 0,055, у английского около 0,067, у случайной каши букв — 0,030 и 0,038. Когда L угадана, каждый столбец зашифрован одной буквой ключа, и индекс подскакивает до уровня языка. Кратные длины (2L, 3L) тоже дают высокий столбик — выбирается первая подходящая.

Проверка Касиски ищет в шифровке повторы из трёх и более букв. Часто это одно и то же слово, на которое ключ лёг одинаково, и расстояние между повторами кратно длине ключа.

Каждый столбец — обычный шифр Цезаря. Программа перебирает все сдвиги и выбирает тот, при котором частоты букв ближе всего к языку (по χ²). Если какая-то буква ключа выбралась неверно, поправьте её стрелками ▲▼ — расшифровка обновится сразу. Кнопка «Взять ключ» подставит найденный ключ и переключит режим на расшифровку.

Взлом надёжен, когда букв в шифровке хотя бы в 30–40 раз больше, чем в ключе. Короткую записку статистика не возьмёт: тут нужен сам ключ или догадка.

Квадрат Виженера

Внизу — tabula recta, таблица всех сдвигов алфавита. Нажмите букву на ленте, и в квадрате загорятся строка буквы ключа, столбец буквы текста и их пересечение. Для Бофора и обратного варианта подсказка объясняет, как читать квадрат по-другому.

Частые вопросы

Как расшифровать шифр Виженера, если ключ известен?

Выберите «Расшифровать», вставьте шифровку и введите ключ. Если ключ — слово, которое вы откуда-то знаете, регистр и пробелы в нём не важны.

Можно ли взломать Виженера без ключа?

Да, если текст достаточно длинный, а ключ повторяется. Почему так — в уроке о шифре Виженера.

Безопасно ли вводить сюда текст?

Да. Всё считается в вашем браузере, на сервер ничего не отправляется.