Как работает шифр Цезаря
Каждая буква заменяется буквой, которая стоит в алфавите на k позиций дальше. Число k — сдвиг, он же ключ. Алфавит замкнут в кольцо: после Я снова идёт А. Пробелы, цифры и знаки препинания не меняются.
Расшифровка: x = (y − k) mod n
Здесь x — номер буквы открытого текста (А = 0), y — номер буквы шифровки, n — число букв в алфавите: 33 для русского с Ё, 32 без Ё, 26 для английского. Сдвиг 35 в русском алфавите работает так же, как сдвиг 2.
Пример
Зашифруем слово «шифр» со сдвигом 3
Ш → Ы, И → Л, Ф → Ч, Р → У. Получаем «ылчу». Чтобы расшифровать, сдвигаем каждую букву на 3 назад: Ы → Ш, Л → И, Ч → Ф, У → Р.
Алфавит со сдвигом 3
Номер буквы в русском алфавите и буква, которая её заменяет при сдвиге 3:
Шифр Цезаря со сдвигом от 1 до 5
Верхняя строка — исходная буква, ниже — чем она заменяется при каждом сдвиге. Для расшифровки ищут букву в строке своего сдвига и поднимаются к заголовку.
| Сдвиг | А | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Б | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А |
| 2 | В | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б |
| 3 | Г | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В |
| 4 | Д | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г |
| 5 | Е | Ё | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д |
Как взломать шифр без ключа
У шифра Цезаря всего 32 возможных ключа для русского алфавита и 25 для английского, поэтому его вскрывают перебором: пробуют все сдвиги и ищут осмысленный текст. Для длинной шифровки помогает частотный анализ: самая частая буква русского текста — О (около 11 %), за ней Е, А и И. Если в шифровке чаще всего встречается С, скорее всего сдвиг равен 3.
Надёжнее шифр, где сдвиг меняется от буквы к букве по ключевому слову, — шифр Виженера. Другой простой шифр замены — Атбаш, где алфавит переворачивается задом наперёд. Если, наоборот, есть запись из точек и тире, переведите её в текст — азбука Морзе на русский.
ROT13 и история
Римский историк Светоний пишет, что Юлий Цезарь в секретных письмах заменял каждую букву третьей по счёту после неё, а император Август — следующей. ROT13 — тот же шифр со сдвигом 13 для латиницы: применённый дважды, он возвращает исходный текст, поэтому им прячут спойлеры и ответы на загадки.