Инструмент шифра Виженера
Шифруйте и расшифровывайте текст с помощью многоалфавитного шифра Виженера, используя заданное пользователем ключевое слово, которое сдвигает каждую букву на разную величину. Живой поток выравнивания ключа, визуализация tabula recta, варианты Autokey и Beaufort, проверка обратного преобразования и подсказка периода Касиски.
Ваш блокировщик рекламы мешает показывать объявления
MiniWebtool бесплатен благодаря рекламе. Если этот инструмент помог, поддержите нас через Premium (без рекламы + быстрее) или добавьте MiniWebtool.com в исключения и обновите страницу.
- Или перейдите на Premium (без рекламы)
- Разрешите показ рекламы на MiniWebtool.com, затем перезагрузите страницу.
О Инструмент шифра Виженера
Этот Инструмент Шифра Виженера шифрует и расшифровывает текст с помощью многоалфавитного шифра, который сопротивлялся криптоанализу почти 300 лет. Введите любое сообщение и ключевое слово, и вы мгновенно получите зашифрованный текст вместе с вертикально расположенным потоком выравнивания ключа, показывающим букву открытого текста, ключа и шифра вместе, благодаря чему вы сможете увидеть, почему изменилась каждая буква. Инструмент также раскрывает оригинальный вариант Autokey, взаимный вариант Beaufort, использовавшийся в Hagelin M-209 во время Второй мировой войны, сквозное подтверждение и tabula recta 26×26 для ручной проверки.
Пошаговая идея
Возьмем открытый текст ATTACKATDAWN и ключевое слово LEMON. Повторяйте ключевое слово снизу, пока оно не покроет открытый текст, а затем сложите две буквы посимвольно (A=0, B=1, …, Z=25) по модулю 26.
Чтение зеленой строки дает зашифрованный текст LXFOPVEFRNHR. Буква ключа L сдвигает A на 11 позиций (A→L), E сдвигает T на 4 позиции (T→X) и так далее. Одна и так же буква открытого текста A появляется трижды, но шифруется в три разные буквы (L, O, E) — в этом и заключается свойство многоалфавитности и причина, по которой Виженер побеждает частотный анализ отдельных букв.
Математика в одну строку
Пронумеруем алфавит от A=0 до Z=25. Пусть \( p_i \) — это i-я буква открытого текста, а \( k_i \) — соответствующая буква ключа (ключевое слово циклически повторяется, поэтому \( k_i = K_{i \bmod n} \), где \( n \) — длина ключа). Тогда:
Шифрование: \( c_i = (p_i + k_i) \bmod 26 \) · Дешифрование: \( p_i = (c_i - k_i) \bmod 26 \)
Для варианта Beaufort одна и та же формула \( c_i = (k_i - p_i) \bmod 26 \) подходит для обоих направлений. Для варианта Autokey ключ принимает вид \( k_1, k_2, \dots, k_n, p_1, p_2, \dots \) — сам открытый текст расширяет ключ, как только ключевое слово заканчивается.
Объяснение трех вариантов
Tabula Recta (Квадрат Виженера)
Классический способ применения Виженера заключается в поиске каждой буквы в таблице 26×26, где строка r представляет собой алфавит, повернутый на r позиций. Найдите строку буквы ключа, найдите столбец буквы открытого текста — ячейка на пересечении и будет буквой зашифрованного текста. Для дешифрования найдите строку ключа, просмотрите ее до буквы зашифрованного текста, а затем прочитайте заголовок столбца.
| · | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| B | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A |
| C | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B |
| D | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
| E | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D |
| F | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E |
| G | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F |
| H | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G |
| I | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H |
| J | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I |
| K | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J |
| L | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K |
| M | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L |
| N | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M |
| O | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N |
| P | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| Q | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
| R | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q |
| S | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R |
| T | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S |
| U | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T |
| V | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U |
| W | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V |
| X | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W |
| Y | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X |
| Z | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y |
Метка строки = буква ключа. Заголовок столбца = буква открытого текста. Содержимое ячейки = буква зашифрованного текста. Пример: строка L, столбец A → L. Строка E, столбец T → X.
Как использовать Инструмент Шифра Виженера
- Вставьте ваш открытый текст (для шифрования) или зашифрованный текст (для дешифрования) в поле ввода. Живой поток выравнивания ключа справа покажет открытый текст, букву ключа и результирующую букву шифра, расположенные вертикально, так что посимвольный сдвиг будет очевиден с первого взгляда.
- Введите ключевое слово в поле «Ключевое слово». Символы, не являющиеся буквами, удаляются автоматически. Наблюдайте, как оранжевая метка ключевого слова циклически меняется по мере обработки букв, а лупа «последней пары» увеличивает самую свежую тройку текст + ключ = шифр.
- Выберите Режим (Шифровать или Расшифровать) и Вариант (Виженер, Autokey или Beaufort). Вариант Beaufort является самообратным, поэтому режим не меняет его результат.
- Нажмите «Применить Виженера». Полный результат появится ниже с посимвольным следом сдвига, статистикой (длина ключа, период, покрытие), сквозным подтверждением и параллельной лабораторией шифров, сравнивающей все варианты на одном и том же вводе.
- Используйте кнопки «Скопировать», чтобы забрать зашифрованный текст, оригинал или ключевое слово. Для дешифрования вставьте зашифрованный текст, переключите Режим на «Расшифровать» с тем же ключевым словом и нажмите кнопку еще раз.
Виженер против Цезаря, Атбаш и ROT13 — Краткая справка
| Шифр | Тип | Ключ | Самообратный | «HELLO» с ключом LEMON |
|---|---|---|---|---|
| Виженер | Многоалфавитная подстановка | Ключевое слово (1+ букв) | Нет (используйте Расшифровать) | SIXZB |
| Цезарь (сдвиг 3) | Одноалфавитный сдвиг | Один сдвиг | Нет | KHOOR |
| ROT13 | Сдвиг (фиксированный на 13) | Нет (фиксированный) | Да | URYYB |
| Атбаш | Отражение | Нет (фиксированный) | Да | SVOOL |
| Beaufort | Многоалфавитный взаимный | Ключевое слово | Да | EABDZ |
Почему шифр Виженера называли «Le Chiffre Indéchiffrable»
На протяжении почти трех столетий после того, как Беллазо впервые опубликовал его в 1553 году, шифр Виженера считался невскрываемым. Одна буква открытого текста могла шифроваться в 26 различных букв зашифрованного текста в зависимости от ее позиции, поэтому предположение о плоской частотности, которое ломает шифр Цезаря (где английская E или русская О являются самыми частыми буквами), больше не работало. Чарльз Бэббидж взломал его в 1850-х годах, но не опубликовал результаты; Фридрих Казиски независимо опубликовал метод атаки в 1863 году. Ключевая идея: ключевое слово повторяется, поэтому одна и та же подстрока открытого текста в позициях, различающихся на число, кратное длине ключа, дает одинаковый зашифрованный текст. Найдите расстояние между повторяющимися триграммами, возьмите наибольший общий делитель, и вы получите главного кандидата на длину ключа. Как только длина ключа известна, шифр Виженера разлагается на n параллельных шифров Цезаря, каждый из которых поддается частотному анализу.
Метод Казиски — как сдается Виженер
- Просканируйте зашифрованный текст на наличие повторяющихся 3-буквенных или 4-буквенных последовательностей.
- Запишите расстояние между каждой парой повторений.
- Возьмите наибольший общий делитель этих расстояний — длина ключа почти всегда делит этот НОД.
- Разделите зашифрованный текст на n столбцов (каждая n-я буква). Каждый столбец представляет собой шифр Цезаря.
- Для каждого столбца найдите сдвиг букв, который максимизирует индекс совпадений или соответствует частоте букв языка. Этот сдвиг и есть одна буква ключа.
Попробуйте быстрый пример «Уязвимость к Казиски», чтобы увидеть это в действии: ввод повторяет «The quick brown fox», а ключ состоит всего из 3 букв, поэтому одни и те же слова оба раза шифруются одинаково — яркий неоновый знак для аналитика, использующего метод Казиски.
Семейство атак Бэббиджа / Казиски / Фридмана
- Бэббидж (1850-е, не опубликовано). Обнаружил, что повторяющиеся паттерны выдают длину ключа.
- Казиски (1863). Опубликовал ту же идею: расстояние между повторениями кратно длине ключа.
- Фридман (1922). Ввел индекс совпадений (Index of Coincidence) — статистическую меру, которая при правильном разделении столбцов достигает пика на уровне ~0.067 (для английского) вместо случайных ~0.038.
- Современные компьютеры. Проверяют все длины ключей от 1 до 30, вычисляют индекс совпадений для каждого разделения столбцов, выбирают длину, разделение которой имеет самый высокий средний индекс. Затем проводят частотную атаку на каждый столбец. Общее время: миллисекунды.
Уведомление о безопасности
Шифр Виженера — это не современное шифрование. Ключевое слово из 5 букв взламывается методом Казиски за миллисекунды, а ключевое слово из 20 букв сдается за несколько секунд автоматизированного анализа. Даже Autokey, устраняющий слабость периодичности, уязвим для атак на основе известного открытого текста и атак на префикс ключевого слова по вероятным словам. Никогда не используйте шифр Виженера для защиты паролей, персональных данных, финансовой информации или чего-либо, что должно оставаться конфиденциальным. Для реальной защиты используйте AES-256, ChaCha20, RSA или libsodium. Относитесь к Виженеру как к способу скрыть текст — для головоломок, CTF, обучения и исторических демонстраций — но не для его защиты.
Советы для достижения наилучших результатов
- Для дешифрования вставьте зашифрованный текст, введите то же ключевое слово и переключите Режим на «Расшифровать». Один и тот же инструмент как шифрует, так и расшифровывает.
- Для варианта Beaufort режим не имеет значения — применение Бофорта дважды с одним и тем же ключом возвращает оригинал.
- Если вас интересуют только буквы (без пробелов и знаков препинания в выводе), снимите флажок «Сохранять исходный регистр» — ввод будет нормализован к ВЕРХНЕМУ регистру перед шифрованием, а вывод будет состоять только из заглавных букв.
- Пробелы и знаки препинания во вводе проходят без изменений. Чтобы скрыть границы слов от случайного читателя, удалите их самостоятельно перед вставкой.
- Используйте Лабораторию шифров, чтобы увидеть, как один и тот же ключ ведет себя во всех трех вариантах — Autokey обычно выдает результат, сильно отличающийся от классического Виженера после первых n букв, поскольку поток ключа меняется.
FAQ
Что такое шифр Виженера?
Шифр Виженера — это метод многоалфавитной подстановки, который сдвигает каждую букву открытого текста на определенное количество позиций, зависящее от повторяющегося ключевого слова. Если буква ключа — K (11-я буква), буква открытого текста сдвигается вперед на 10 позиций. Шифр был описан Джованом Баттистой Беллазо в 1553 году и позже ошибочно приписан Блезу де Виженеру, чье имя в итоге и закрепилось.
Чем Виженер отличается от Цезаря или Атбаш?
Шифр Цезаря использует один фиксированный сдвиг для каждой буквы — ключ Виженера из одной буквы полностью эквивалентен Цезарю. Виженер использует разный сдвиг для каждой позиции, взятый из повторяющегося ключевого слова — именно поэтому одна и та же буква открытого текста может шифроваться в несколько разных букв зашифрованного текста. Атбаш — это фиксированное отражение (A↔Z, B↔Y) без ключа. Виженера гораздо сложнее взломать с помощью частотного анализа отдельных букв, потому что ключ сглаживает частоты букв.
Безопасен ли шифр Виженера для реального шифрования?
Нет. Фридрих Казиски взломал шифр Виженера в 1863 году, воспользовавшись периодичностью повторяющегося ключевого слова. Современные компьютеры взламывают Виженера мгновенно, используя тест Фридмана (индекс совпадений) и метод Казиски. Используйте AES-256, ChaCha20 или libsodium для реальной защиты; Виженер предназначен для головоломок, CTF и обучения.
Что такое вариант Autokey?
Вариант Autokey (самоключ) расширяет ключевое слово, добавляя к нему сам открытый текст, поэтому поток ключа никогда не повторяется. Виженер предложил это в 1586 году, чтобы устранить ту самую слабость, которую позже использовал Казиски. Autokey гораздо сложнее взломать, чем классического Виженера, но он все еще уязвим для атак на основе известного открытого текста и атак на префикс ключевого слова по вероятным словам.
Что такое вариант Beaufort?
Шифр Бофорта использует операцию зашифрованный текст = (ключ − открытый текст) mod 26, что делает его обратным самому себе — повторное шифрование с тем же ключом возвращает оригинал. Он был назван в честь сэра Фрэнсиса Бофорта и лежал в основе Hagelin M-209, портативной механической шифровальной машины, использовавшейся армией США во Второй мировой войне.
Какой длины должно быть мое ключевое слово?
Чем длиннее, тем лучше. Ключ из одной буквы сводит шифр Виженера к шифру Цезаря. Короткий ключ (3–5 букв) взламывается методом Казиски за секунды. Ключ той же длины, что и сообщение, используемый только один раз, представляет собой одноразовый блокнот — доказуемо абсолютную стойкость. Для головоломок и обучения обычно выбирают ключевое слово из 6–12 букв.
Ссылайтесь на этот контент, страницу или инструмент так:
"Инструмент шифра Виженера" на сайте https://ru.miniWebtool.com// от MiniWebtool, https://MiniWebtool.com/
от команды miniwebtool. Обновлено: 2026-05-26