Перейти к содержимому
Объяснение · Лаборатория кодов и шифров

Классические шифры: Цезарь, ROT13, Атбаш и аффинный шифр

Как работают шифры Цезаря, ROT13, Атбаш, аффинный и с ключевым словом, как взламывать их с помощью подсчёта букв и почему сегодня ни один из них не является безопасным.

4 мин чтенияОпубликовано

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

Открытый текст, шифротекст и ключи

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

Полезное правило, появившееся в 1800-х, — считать, что противник знает метод шифра и секретен только ключ. Всё ниже следует оценивать именно так: если кто-то знает, что вы сделали, но не знает ваш ключ, сможет ли он прочитать ваше сообщение?

Шифр Цезаря: сдвигаем алфавит

Шифр Цезаря сдвигает каждую букву вперёд на фиксированное число позиций. При сдвиге на 3 A записывается как D, B — как E, а Z переходит по кругу в C. Римский писатель Светоний сообщает, что Юлий Цезарь использовал этот шифр в военных письмах.

Ключ — это число позиций. Тот, кто его знает, может выполнить обратный сдвиг. Проблема в том, что ключей очень мало: существует всего 25 полезных сдвигов. Взломщик может просто перебрать их все — это переборная атака, которая вручную занимает минуту, а на компьютере — вообще не занимает времени.

ROT13

ROT13 фиксирует сдвиг Цезаря на 13 позиций. Поскольку в алфавите 26 букв, два сдвига по 13 возвращают вас в начало. Шифрование и расшифровка выполняются одной и той же операцией. На форумах его использовали, чтобы прятать спойлеры: он защищает от случайного взгляда, а не от настоящего взлома.

Атбаш: зеркальный алфавит

Атбаш записывает алфавит в обратном порядке под обычным алфавитом: A соответствует Z, B — Y, C — X и так далее. Этот шифр происходит из еврейского алфавита и встречается в некоторых древних текстах.

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

Аффинный шифр: сначала умножаем, затем сдвигаем

Назначьте каждой букве число: A = 0, вплоть до Z = 25. Аффинный шифр берёт это число, умножает его на a, прибавляет b и выполняет циклический переход по кругу из 26 чисел:

E(x) = (a·x + b) mod 26

Если установить a = 1, получится обычный сдвиг Цезаря. Умножение сильно раздвигает соседние буквы, поэтому результат выглядит более запутанным.

Но есть одна сложность. Чтобы расшифровка работала, каждой букве шифртекста должна соответствовать ровно одна буква открытого текста. Это возможно только тогда, когда a не имеет общих делителей с 26. Поэтому a = 3 и a = 5 подходят, а a = 2 и a = 13 — нет: в этих случаях две разные буквы попадали бы в одно и то же место. Допустимы только 12 значений a, а вместе с 26 значениями b это даёт 312 ключей. Лучше, чем 25, но для компьютера всё ещё слишком мало.

Подстановка по ключевому слову: любая перестановка

Зачем сдвигать каждую букву по определённому правилу? Шифр подстановки позволяет использовать в качестве ключа любую перестановку алфавита. Чтобы такую перестановку было легко запомнить, сначала запишите ключевое слово, удалите повторяющиеся буквы, а затем добавьте неиспользованные буквы по порядку. Ключевое слово ZEBRAS даёт такой алфавит ключа: ZEBRASCDFGHIJKLMNOPQTUVWXY. Значит, A превращается в Z, B — в E, C — в B и так далее.

Число возможных перестановок равно 26 факториал — примерно 4 × 10²⁶. Перебрать их все невозможно, поэтому на протяжении веков шифр подстановки считался невзламываемым. Но это было не так.

Интерактивная лаборатория Интерактивная лаборатория шифров. Покрутите колесо, зашифруйте сообщение, а затем попробуйте его взломать. Открыть полную лабораторию Лаборатория кодов и шифров →

Почему сегодня ни один из них не обеспечивает безопасность

У шифров подстановки есть один роковой недостаток: буква всегда превращается в одну и ту же букву. Поэтому сохраняется характерный облик языка. В английском языке чаще всего встречается E, затем T, A и O, а Q и Z — редко. Учёные исламского мира описали частотный анализ примерно в IX веке: нужно посчитать буквы в шифртексте, сопоставить самую частую с E, а затем использовать закономерности слов (слово из одной буквы, скорее всего, — A или I), чтобы восстановить остальные буквы.

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

Как изучить это в лаборатории

The Codes & Ciphers Lab gives you a cipher wheel you can turn, plus tools to count letters and test guesses. A good order through the free first world:

  1. Start with The Caesar shift and try breaking one.
  2. See self-inverse behaviour in ROT13, then Atbash.
  3. Test which multipliers work in Affine: multiply, then shift.
  4. Build a shuffled key in Keyword substitution.

This is a simplified teaching model of historical ciphers. It is meant to build intuition about keys and attacks, not to protect real messages.

Главное
  • Ключ выбирает способ перемешивания; считай, что злоумышленники знают метод.
  • У шифра Цезаря всего 25 полезных ключей, а у ROT13 и Атбаша нет секретного ключа.
  • Множитель аффинного шифра не должен иметь общих делителей с 26, поэтому подходят 12 значений.
  • У подстановки по ключевому слову огромное пространство ключей, но её можно взломать с помощью анализа частоты букв.
Бесплатный урок · Лаборатория кодов и шифров

Шифр Цезаря

Каждая буква смещается на одинаковое число позиций. Около 6 минут. Бесплатно, без аккаунта, работает в браузере.

Начать бесплатный урок
ПоделитьсяXLinkedInFacebookRedditЭл. почта

Сообщить об ошибке

В чём ошибка?
0 / 2000 · минимум 10 символов
Отправлено вместе с сообщением
  • Страница
  • О чём Classic Ciphers: Caesar, ROT13, Atbash and Affine · caesar-cipher-rot13-atbash-affine-explained
А также тип вашего браузера. Отчёты отправляются в нашу систему поддержки; см. уведомление о конфиденциальности.

Симуляции на Novareka — это учебные модели, намеренно упрощённые. Они показывают, как ведёт себя идея, но не заменяют профессиональные, медицинские или инженерные рекомендации.

Продолжить чтение

Все материалы →
Объяснение
Лаборатория формРазрядные значения, дроби, развёртки и формула ЭйлераУзнайте, как блоки показывают разрядное значение, как дроби обозначают равные доли, как развёртки складываются в тела и почему грани − рёбра + вершины всегда равны 2.5 мин чтения
Объяснение
Лаборатория векторовВекторы: сумма, скалярное и векторное произведениеУзнайте, как складывать векторы от конца к началу, как скалярное произведение находит прямые углы, куда направлено векторное произведение и как проекция отбрасывает тень.4 мин чтения
Объяснение
Математический анализ и вероятностьЧто такое предел? Основы анализа: от наклона до скорости измененияФункции, пределы, непрерывность и мгновенная скорость изменения с нуля — и о том, как сжимающаяся секущая превращается в касательную. Попробуй в интерактивной лаборатории.5 мин чтения