Шифр Цезаря: шифрование, расшифровка и автоматический взлом
Зашифруйте или расшифруйте текст шифром Цезаря на русском (33 или 32 буквы) и латинском алфавите с любым сдвигом, включая ROT13. Режим взлома переберёт все сдвиги и по частотам букв автоматически найдёт наиболее вероятный ключ.
Все сдвиги (по убыванию правдоподобия)
Таблица замены
Как работает шифр Цезаря
Шифр Цезаря — один из самых древних шифров. Каждая буква заменяется буквой, стоящей на k позиций дальше по алфавиту; после последней буквы счёт продолжается с начала. По свидетельству Светония, Юлий Цезарь использовал сдвиг 3: А → Г, Б → Д, … Я → В.
шифрование: y = (x + k) mod n; расшифровка: x = (y − k) mod n
где x — номер буквы открытого текста, y — номер буквы шифротекста, n — число букв в алфавите (33 для русского с Ё, 26 для латинского). Знаки препинания, цифры и пробелы не меняются, регистр букв сохраняется.
ROT13
ROT13 — шифр Цезаря со сдвигом 13 по латинскому алфавиту. Поскольку 13 — половина от 26, шифрование и расшифровка совпадают: повторное применение возвращает исходный текст. ROT13 используют не для защиты, а чтобы скрыть спойлеры или ответы к загадкам.
Как взломать шифр Цезаря
Ключей всего n − 1, поэтому шифр вскрывается простым перебором. Калькулятор расшифровывает текст всеми сдвигами и для каждого варианта сравнивает частоты букв со средними частотами языка по критерию χ². У осмысленного текста распределение букв близко к языковому — буквы О, Е, А, И, Н встречаются чаще всего, — и правильный сдвиг получает наименьшее значение χ². Для надёжного результата нужно хотя бы 20–30 букв.
Пример
Слово «шифр» со сдвигом 3 по русскому алфавиту из 33 букв: Ш (26-я буква) → Ы (29-я), И (10) → Л (13), Ф (22) → Ч (25), Р (18) → У (21). Получается «ылчу».
Насколько надёжен
Никак: шифр Цезаря вскрывается вручную за минуты. Он интересен как учебный пример и как составная часть более сложных шифров — например, шифр Виженера — это несколько шифров Цезаря с разными сдвигами.
Комментарии и вопросы