Перейти к содержимому

Шифратор и дешифратор Виженера

Зашифруйте или расшифруйте сообщение шифром Виженера, введя ключевое слово. Каждая буква сдвигается на соответствующую букву ключа, регистр сохраняется, а всё, что не является буквой, проходит без изменений. Включите таблицу работы, чтобы увидеть букву ключа и сдвиг для каждой из первых 20 букв. Бесплатно, без регистрации, ничего не загружается.

Режим

Как пользоваться инструментом шифра Виженера

  1. 1. Выберите «Зашифровать» или «Расшифровать». Шифрование превращает открытый текст в зашифрованный; расшифровка обращает его тем же ключевым словом.
  2. 2. Введите ключевое слово. Только буквы A–Z, без пробелов и цифр. Ключевое слово повторяется вдоль сообщения. Ключевое слово a даёт сдвиг ноль и ничего не меняет.
  3. 3. Введите или вставьте сообщение. Результат обновляется по мере ввода. Регистр сохраняется, а цифры, пробелы и знаки препинания проходят без расхода буквы ключа.
  4. 4. Включите «Показать работу» — появится таблица: открытая буква, буква ключа, сдвиг и результат для первых 20 букв.

Как работает шифр Виженера

Пронумеруйте буквы: A = 0, Z = 25. Запишите ключевое слово несколько раз под сообщением, по одной букве ключа на каждую букву сообщения. Для шифрования прибавьте номер буквы ключа к номеру буквы сообщения, переходя через Z: C = (P + K) mod 26. Для расшифровки вычтите: P = (C − K) mod 26. Каждая буква ключа выбирает свой сдвиг Цезаря — A даёт 0, B — 1, до Z — 25, поэтому шифр называется полиалфавитным: одна и та же буква сообщения может стать разными буквами шифра. Записывать суммы вручную помогает традиционный квадрат (таблица) Виженера.

Пример: ключевое слово LEMON

Шифруем Attack at dawn ключевым словом lemon: получается Lxfopv ef rnhr. Первые шесть букв, как их показывает таблица работы:

Открытая букваБуква ключаСдвигРезультат
Al+11L
te+4x
tm+12f
ao+14o
cn+13p
kl+11v

Обратите внимание на повторы. Две t в «Attack» превращаются в x и f, потому что стоят под разными буквами ключа, а две a — в o и e. Простой сдвиг Цезаря превратил бы каждую пару в одинаковые буквы, а именно такой шаблон и использует частотный анализ. Расшифровка идёт по той же таблице в обратном порядке: режим «Расшифровать» с lemon возвращает Lxfopv ef rnhr в Attack at dawn. Буквы ключа продолжаются через пробел; сам пробел ключа не использует.

Краткая история

Джованни Баттиста Беллазо описал этот шифр в 1553 году. Название происходит от Блеза де Виженера, который в 1586 году опубликовал родственный, но более стойкий автоключевой шифр; в XIX веке шифр ошибочно приписали ему. Его назвали le chiffre indéchiffrable, «неразгадываемый шифр», и он сопротивлялся взлому до тех пор, пока Фридрих Касиски не опубликовал общий метод в 1863 году. Чарльз Бэббидж взломал его уже в 1854 году, но не опубликовал результат.

Как взламывают шифр Виженера

Всё зависит от длины ключевого слова. Если один и тот же фрагмент открытого текста дважды совпадает с одной и той же частью ключа, он даёт дважды один и тот же шифротекст. Метод Касиски измеряет расстояния между такими повторами; длина ключа, вероятно, — общий делитель этих расстояний. Когда вы знаете длину n, каждая n-я буква сдвинута одной и той же буквой ключа, поэтому каждый из n столбцов — обычный шифр Цезаря, который можно решить частотным анализом. Длинное, непредсказуемое ключевое слово этому сопротивляется, а случайный ключ той же длины, что и сообщение, использованный один раз, — это одноразовый блокнот, который взломать нельзя. Этот инструмент шифрует и расшифровывает ключевым словом, которое вы задаёте; он не ищет ключ.

Ограничения этого инструмента

  • Шифруются только A–Z и a–z. Буквы других письменностей и буквы с диакритикой, например é, остаются без изменений, а инструмент сообщает, сколько букв он пропустил.
  • Ключевое слово — только буквы. Пробел, цифра или буква с диакритикой в ключевом слове отклоняются.
  • Таблица работы показывает 20 строк, какой бы длинной ни была строка сообщения.
  • Небезопасно. Используйте для головоломок, уроков и игр, а не для чего-либо личного.

Какой инструмент вам нужен?

ШифрКак работает ключ
Шифр ЦезаряОдин сдвиг для всего сообщения
Виженер (эта страница)Повторяющееся ключевое слово; каждая буква ключа — один сдвиг
Шифр БофортаКак Виженер, но буква ключа минус буква сообщения, поэтому одна и та же операция и шифрует, и расшифровывает
Автоключевой шифрКороткая затравка, затем само сообщение становится ключом
Шифр ПортыКлючевое слово выбирает один из 13 взаимных алфавитов

Если вы не уверены, какой шифр перед вами, запланированный Определитель шифров поможет сузить выбор.

Часто задаваемые вопросы

Что такое шифр Виженера?
Полиалфавитный шифр подстановки, который сдвигает каждую букву на величину, заданную повторяющимся ключевым словом. Первая буква сообщения использует первую букву ключа, вторая — вторую и так далее, поэтому одна открытая буква может стать многими буквами шифра.
Чем шифр Виженера отличается от шифра Цезаря?
Шифр Цезаря использует один фиксированный сдвиг. Шифр Виженера использует ключевое слово, давая каждой букве свой сдвиг Цезаря; по сути это несколько шифров Цезаря, переплетённых между собой — по одному на каждую букву ключа.
Что происходит с пробелами, цифрами и знаками препинания?
Они проходят без изменений и не расходуют букву ключа, поэтому ключевое слово продвигается только по буквам A–Z и a–z.
Как расшифровать шифр Виженера?
Если вы знаете ключевое слово, выберите «Расшифровать», введите его и вставьте шифротекст. Каждая буква сдвигается назад на свою букву ключа. Без ключевого слова нужен криптоанализ: метод Касиски, чтобы найти длину ключа, затем частотный анализ каждого столбца.
Почему мой результат совпадает с исходным текстом?
Ключевое слово, состоящее только из буквы A (или одной a), сдвигает каждую букву на ноль. Выберите ключевое слово с другими буквами.
Стойкий ли шифр Виженера?
Нет. Около трёх веков он казался невзламываемым, но Касиски опубликовал общую атаку в 1863 году, а компьютеры решают его за считанные мгновения. Он по-прежнему хорош для изучения полиалфавитных шифров.
Работает ли он с неанглийскими алфавитами?
Как шифр — нет. Квадрат Виженера построен на 26-буквенном латинском алфавите, поэтому другие письменности проходят без шифрования, а инструмент сообщает, сколько букв он оставил без изменений.

Похожие инструменты

Ещё в разделе «Коды и шифры»