Шифр Виженера – шифр, в котором каждая буква текста сдвигается по алфавиту на свое число позиций, а сдвиги задает ключевое слово. Это шифр Цезаря с меняющимся сдвигом: со словом «ключ» первая буква сдвигается на 11 позиций, вторая – на 12, третья – на 31, а потом ключ повторяется.
Шифр Виженера онлайн выше зашифрует или расшифрует текст на русском или английском алфавите. Введите текст и ключ – регистр букв сохраняется, а пробелы, цифры и знаки препинания остаются без изменений.
Как работает шифр Виженера
- Напишите ключ под текстом и повторяйте его, пока он не покроет все буквы. Пробелы и знаки пропускаются.
- Каждая буква ключа задает сдвиг – ее номер в алфавите с нуля: А = 0, Б = 1, К = 11.
- Сдвиньте букву текста вперед по алфавиту на этот сдвиг. После Я отсчет идет снова с А.
В русском алфавите калькулятора 33 буквы вместе с Ё, в английском – 26. Буква ключа А дает сдвиг 0 и оставляет букву текста без изменений.
Формула шифра Виженера
где – номер буквы текста, – номер буквы ключа, – номер буквы шифра, – число букв в алфавите (33 или 26).
Пример шифрования шифром Виженера
Зашифруем слово «Привет» ключом «ключ»:
| Буква текста | Буква ключа | Расчет | Шифр |
|---|---|---|---|
| П (16) | К (11) | 16 + 11 = 27 | Ъ |
| Р (17) | Л (12) | 17 + 12 = 29 | Ь |
| И (9) | Ю (31) | (9 + 31) mod 33 = 7 | Ж |
| В (2) | Ч (24) | 2 + 24 = 26 | Щ |
| Е (5) | К (11) | 5 + 11 = 16 | П |
| Т (19) | Л (12) | 19 + 12 = 31 | Ю |
Получилось «Ъьжщпю». Одинаковые буквы текста шифруются по-разному, если на них приходятся разные буквы ключа.
Как расшифровать шифр Виженера
С известным ключом каждую букву шифра сдвигают назад на номер буквы ключа: Ъ (27) − К (11) = 16, это П. В калькуляторе выберите «Расшифровать», введите шифр и тот же ключ.
Без ключа шифр Виженера взламывают в два шага: сначала находят длину ключа по повторяющимся фрагментам шифра (метод Касиски), затем каждую группу букв, зашифрованную одной буквой ключа, разбирают как шифр Цезаря – по частоте букв.
Примеры шифра Виженера
| Текст | Ключ | Шифр |
|---|---|---|
| Привет | ключ | Ъьжщпю |
| Шифр Виженера | код | Гчшы Рмсуспяд |
| Яблоко | бвг | Агопмс |
| ATTACKATDAWN | LEMON | LXFOPVEFRNHR |
| Hello world | key | Rijvs uyvjn |
Шифр Виженера и шифр Цезаря
В шифре Цезаря все буквы сдвигаются на одно число, поэтому его взламывают перебором 32 вариантов. В шифре Виженера сдвиг меняется от буквы к букве, и частоты букв в шифре выравниваются. Шифр описал Блез де Виженер в XVI веке; его считали невзламываемым, пока в XIX веке Чарльз Бэббидж и Фридрих Касиски не нашли способ определить длину ключа.
Вопросы о шифре Виженера
Как работает шифр Виженера?
Каждая буква текста сдвигается по алфавиту на номер соответствующей буквы ключа, считая с нуля: А = 0, Б = 1. Ключ повторяется по длине текста.
Как расшифровать шифр Виженера?
Сдвиньте каждую букву шифра назад на номер буквы ключа. В калькуляторе выберите «Расшифровать», введите шифр и ключ, которым текст был зашифрован.
Можно ли расшифровать шифр Виженера без ключа?
Да, если текст достаточно длинный. Сначала по повторяющимся фрагментам находят длину ключа, затем каждую группу букв разбирают как шифр Цезаря по частоте букв.
Чем шифр Виженера отличается от шифра Цезаря?
В шифре Цезаря все буквы сдвигаются на одно число. В шифре Виженера сдвиг задает каждая буква ключа, поэтому одна и та же буква текста шифруется по-разному.
Учитываются ли пробелы и знаки в ключе и тексте?
Нет. Пробелы, цифры и знаки препинания в тексте остаются без изменений и не сдвигают ключ, а из ключа калькулятор берет только буквы выбранного алфавита.
Учитывается ли буква Ё?
Да. Русский алфавит калькулятора – 33 буквы вместе с Ё, поэтому Е имеет номер 5, Ё – 6, Ж – 7.
Какой ключ выбрать для шифра Виженера?
Чем длиннее ключ, тем сложнее взломать шифр. Если ключ из случайных букв длиной с сам текст используется только один раз, шифр Виженера становится невзламываемым шифром одноразового блокнота.