Кодировщик шифра Виженера

Шифр Виженера, впервые описанный Джованом Баттистой Белласо в 1553 году и позже ошибочно приписанный Блезу де Виженеру, сдвигает каждую букву на разную величину в зависимости от повторяющегося ключевого слова. Хотя 300 лет его называли «le chiffre indéchiffrable», в 1863 году он всё же пал под статистической атакой Фридриха Касиски. Этот кодировщик позволяет шифровать и дешифровать для головоломок, задач CTF и обучения криптографии в классе.

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

  1. 1

    Введите сообщение

    Буквы от A до Z сдвигаются; цифры, пробелы, знаки препинания и любые нелатинские символы проходят без изменений.

  2. 2

    Задайте ключевое слово

    Выберите любое слово или фразу. Учитываются только его буквы, а длинные ключи труднее взломать.

  3. 3

    Выберите шифрование или дешифрование

    Один и тот же инструмент работает в обе стороны по квадрату Виженера.

  4. 4

    Прочитайте результат

    Каждая буква сдвигается на соответствующую букву ключа (A=0, B=1 и т. д.); регистр сохраняется.

Разобранный пример

Инструмент начинается с Hello World и ключа KEY. Шифрование даёт:

Текст: Hello World
Ключ:  KEYKE YKEYK
Шифр:  Rijvs Uyvjn

Обратите внимание: регистр сохраняется (H остаётся заглавной и становится R), пробел не трогается, а указатель ключа продвигается только на буквах. Переключитесь на дешифрование с тем же ключом, и Rijvs Uyvjn снова станет Hello World.

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

Каждая буква текста и каждая буква ключа выбирают строку и столбец в сетке 26x26 сдвигов Цезаря. Если буква текста H, а буква ключа K, на выходе получается R, потому что H (7) + K (10) = 17 = R. Классический учебный пример использует повторяющийся ключ:

Текст: ATTACKATDAWN
Ключ:  LEMONLEMONLE
Шифр:  LXFOPVEFRNHR

Почему он превзошёл прежние шифры

Моноалфавитные шифры вроде Цезаря и Атбаша всегда шифруют E одинаково, поэтому самая частая буква шифротекста выдаёт самую частую букву открытого текста. Виженер вращает сдвиг, так что E может стать X один раз и K в следующий, сглаживая частоты букв и разрушая простой анализ.

Атака Касиски в одном абзаце

Повторяющиеся группы букв в шифротексте, отстоящие на фиксированное расстояние, намекают, что длина ключа делит это расстояние. Соберите несколько таких расстояний, возьмите их наибольший общий делитель, и вы получите вероятную длину ключа. Разбейте шифротекст на столько потоков Цезаря и примените частотный анализ к каждому.

Замечание о безопасности

Виженер является классическим шифром, имеющим лишь образовательную ценность. Он не защищён ни от одной современной атаки: короткий английский текст с шестибуквенным ключом взламывается за секунды. Для настоящей конфиденциальности используйте AES-GCM или ChaCha20-Poly1305 из проверенной библиотеки, а не ручной шифр.

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

Нет. Сдвигаются только 26 латинских букв A-Z, поэтому кириллица, цифры, знаки препинания и любые другие нелатинские символы копируются без изменений. Чтобы зашифровать текст, вводите его латиницей.

Да. Строчный текст даёт строчный результат, а заглавные остаются заглавными. Само ключевое слово регистронезависимо.

Конечно. Это классика начальных CTF. Подсказки часто дают длину ключа в условии задачи или оставляют повторяющуюся группу букв в шифротексте.

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

Сопутствующие инструменты

Генератор ключей PGP

Создайте пару ключей OpenPGP в текстовом формате ASCII и сертификат отзыва с Curve25519, RSA 2048 или RSA 4096.

Генератор ключей API случайного типа

Создавайте на сервере ключи API длиной 8–128 символов в формате hex, base64url или алфавитно-цифровом формате либо UUIDv4.

Генератор SSL-сертификатов

Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.

Генератор MD5

Создайте хеш MD5 для любого текста или файла. Результат, 128-битное значение в шестнадцатеричном формате, вычисляемое полностью в вашем браузере.

Шифр из числа в букву

Преобразуйте числа в буквы и обратно по шифру A=1, B=2 (A1Z26) для головоломок, загадок и подсказок в квест-комнатах.

Генератор JWT

Создавайте подписанные токены JWT с пользовательским заголовком, полями полезной нагрузки, подписью HMAC или RSA, а также ограничениями по сроку действия и аудитории для тестирования.

Инструмент доступен на других языках