Шифротекст появится здесь
Крутите внутреннее кольцо мышью или тяните ползунок — ключей всего 32
Как считается сдвиг
Буквы алфавита нумеруются с нуля, и шифрование — это сложение номера буквы с ключом по кругу. «По кругу» здесь не метафора: после последней буквы счёт начинается заново с первой, поэтому в инструменте нарисован именно диск, а не линейка.
x — номер буквы в алфавите, k — сдвиг (ключ), n — длина алфавита: 26 для латиницы, 33 для русского алфавита с Ё
Отсюда два следствия, которые видно на диске. Первое: сдвиг всегда можно привести к диапазону от 0 до n−1 — сдвиг 30 по латинице это то же самое, что сдвиг 4, диск просто провернулся на лишний оборот. Второе: нулевой сдвиг оставляет текст как есть, поэтому осмысленных ключей на один меньше, чем букв.
Как расшифровать текст без ключа
Самый прямой способ — перебор: включите «перебор ключей», и все 25 (латиница) или 32 (кириллица) варианта появятся списком под инструментом. Осмысленная строка находится глазами за несколько секунд, никакой математики не нужно.
Длинный текст вскрывается ещё быстрее — частотным анализом, вообще без перебора. Буквы встречаются в языке с устойчивой частотой, а сдвиг её не меняет: он только переставляет буквы по кругу. Найдите самую частую букву шифротекста, вычтите из её номера номер самой частой буквы языка — получите ключ.
| Место | Русский | Английский |
|---|---|---|
| 1 | О — 11,0% | E — 12,7% |
| 2 | Е — 8,5% | T — 9,1% |
| 3 | А — 8,0% | A — 8,2% |
| 4 | И — 7,4% | O — 7,5% |
| 5 | Н — 6,7% | I — 7,0% |
| 6 | Т — 6,3% | N — 6,7% |
Русские частоты — по Национальному корпусу русского языка, английские — по таблице из «Cryptological Mathematics» Роберта Лиуанда. Цифры округлены и заметно плывут на коротких текстах: на одной фразе частотный анализ не работает, там надёжнее перебор.
ROT13 и другие родственники
Почти всё, что называется «ROT-чем-то», — это шифр Цезаря с закреплённым ключом. Общая идея одна: взять упорядоченный набор символов и провернуть его ровно на половину длины, чтобы шифрование и расшифровка стали одной и той же операцией.
| Название | Что сдвигает | Пример |
|---|---|---|
| ROT13 | 26 латинских букв на 13 | Hello → Uryyb |
| ROT5 | 10 цифр на 5 | 2026 → 7571 |
| ROT18 | буквы и цифры разом (ROT13 + ROT5) | A1 → N6 |
| ROT47 | 94 печатных символа ASCII на 47 | Hello → w6==@ |
Для русского алфавита такого самообратного ключа нет: 33 буквы на два нацело не делятся. Ни один из этих вариантов не защищает данные — это способ спрятать спойлер от случайного взгляда, а не от того, кто захочет прочитать. Если нужно не скрыть текст, а безопасно передать его по текстовому каналу, это другая задача и другой инструмент — кодировщик Base64. Если нужен по-настоящему стойкий секрет — генератор паролей.
Откуда взялся шифровальный диск
Два кольца букв в инструменте — не украшение, а копия настоящего устройства. Первым его описал Леон Баттиста Альберти в 1467 году: два соосных медных круга с алфавитами, которые проворачиваются относительно друг друга. Идея оказалась живучей — в 1922 году армия США приняла на вооружение шифратор M-94 из 25 алюминиевых дисков на общей оси, и служил он до Второй мировой.
Сам Цезарь, по «Жизни двенадцати цезарей» Светония, сдвигал буквы на три позиции: вместо A писал D. А его преемник Август пользовался сдвигом на единицу и, дойдя до конца алфавита, писал вместо X две буквы AA — правило «завернуть в начало» тогда ещё не придумали, и диск такой шифр нарисовать бы не смог.
Шифр Цезаря — обычная остановка в школьной программе и в квестах. Рядом с ним чаще всего оказывается азбука Морзе: она тоже заменяет буквы, но решает ровно обратную задачу — не спрятать сообщение, а передать его как можно надёжнее.