Формула
Шифрование: C = (P + n) mod 26, расшифровка: P = (C − n) mod 26, где n — сдвиг (0–25), P — позиция исходной буквы (A=0, B=1, …).
При сдвиге 3: A→D, B→E, …, X→A, Y→B, Z→C. ROT13 (сдвиг 13) — самоинверсный: применить дважды = исходный текст.
Атака по частотам
В английском языке буква E встречается в ~12.7% случаев. Найди самую частую букву в шифртексте — скорее всего это E. Разница в позициях — сдвиг. Метод chi-square: для каждого из 26 вариантов считаем расхождение частот с эталоном, минимум — лучший вариант.
Почему Цезарь — не защита
Всего 25 ненулевых ключей. Можно перебрать вручную за минуту или автоматически за миллисекунды. Шифр полезен только для понимания принципа модульной арифметики и основ криптографии.
Вариации
ROT13 — сдвиг 13, часто используется в форумах для скрытия спойлеров. ROT47 — то же, но для 94 печатных ASCII-символов. Atbash — отражение (A↔Z, B↔Y), не сдвиг, а замена.