
Шифр Цезаря: как работает, сдвиг, зашифровать и расшифровать
Шифр Цезаря — это шифр сдвига: каждая буква текста заменяется той, что стоит в алфавите на фиксированное число позиций дальше. Это число и есть ключ. При сдвиге 3 слово «ПРИВЕТ» превращается в «ТУЛЕЗХ», а чтобы вернуть его обратно, буквы сдвигают на три позиции назад.
Правило умещается в одну строку, но ответы в заданиях расходятся: по одной таблице получается «ТУЛЕЗХ», по другой — «ТУЛЕИХ». Виноват не калькулятор, а алфавит: в одном 33 буквы, в другом 32. Ниже — формула, ручной пример, расшифровка, два способа взлома, код на Python и разбор типовых заданий. Русский алфавит здесь везде из 33 букв, с «ё», а каждый пример пересчитан скриптом.
Что такое шифр Цезаря и откуда он взялся
Исходный текст в криптографии называют открытым текстом, результат — шифртекстом, а число сдвига — ключом. Каждая буква всегда заменяется одной и той же, поэтому метод относят к моноалфавитным подстановкам: при сдвиге 3 «О» везде станет «С», в любом слове и в любом месте текста.
Это именно шифрование, а не кодирование. У кодирования ключа нет, и запись читается по открытой таблице. У шифра ключ есть, и без него текст остаётся набором букв. Если граница между понятиями ещё размыта, посмотрите разбор того, чем кодирование отличается от шифрования.
Шифр Юлия Цезаря известен по описанию Светония. В «Жизни двенадцати цезарей» («Божественный Юлий», глава 56) он пишет, что в письмах к Цицерону и к близким друзьям по личным делам Юлий Цезарь, когда нужно было передать что-то тайно, расставлял буквы так, что слов не прочесть. Правило Светоний описывает коротко: вместо A ставится четвёртая буква алфавита, D, и так со всеми остальными. Это сдвиг на три.
Приёмный сын и наследник Цезаря, Август, пользовался упрощённым вариантом. В главе 88 «Божественного Августа» Светоний сообщает, что тот писал B вместо A, C вместо B и так далее, а последнюю букву, X, заменял двумя A: алфавит по кругу Август не замыкал. Светоний даёт правило одним предложением и ни одного шифртекста не приводит, так что о ключе мы знаем по его описанию.
Сегодня шифром Цезаря называют сдвиг на любое число, а не только на три. В школьных задачниках встречаются записи вроде «Цезарь 1» или «Цезарь, сдвиг 3»: число после названия и есть ключ.
Как работает сдвиг: алфавит, ключ и формула
Представьте алфавит не отрезком, а кольцом: после «Я» снова идёт «А». Шифрование — поворот этого кольца. Верхняя строка остаётся на месте, нижняя сдвигается на k позиций, и каждая буква сверху заменяется той, что оказалась под ней.

Для расчётов буквы нумеруют с нуля: А = 0, Б = 1, … Я = 32. Тогда шифрование записывается так: y = (x + k) mod 33, а расшифровка — x = (y − k) mod 33. Здесь x — номер буквы открытого текста, y — номер буквы шифртекста, k — ключ, 33 — число букв, mod — остаток от деления. Это и есть модульная арифметика: результат «заворачивается» через ноль, как стрелка часов после двенадцати.
Пример с заворотом. У «Я» номер 32, при k = 3 получаем 35, а 35 mod 33 = 2 — это «В». Проверка по строке: после «Я» идут А, Б, В, ровно три шага.
О ключе стоит запомнить три вещи.
- Ключи 0 и 33 ничего не меняют, текст остаётся открытым. Содержательных ключей на 33 буквах — 32, от 1 до 32.
- Сдвиг вправо на k отменяется сдвигом влево на k, а тот равен сдвигу вправо на 33 − k. Поэтому текст, зашифрованный ключом 3, расшифровывается этим же алгоритмом с ключом 30.
- Шифруются только буквы алфавита. Пробелы, цифры и знаки препинания обычно остаются на месте — это упрощает работу и шифровальщику, и взломщику.
Как зашифровать текст вручную: пошаговый пример
Для ручной работы хватит листа бумаги. Выпишите алфавит в строку, а под ним — тот же алфавит, начатый с буквы, в которую должна превратиться «А». Для сдвига 3 нижняя строка начинается с «Г»:
Открытый: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Шифртекст: ГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВЭто таблица шифра Цезаря для сдвига 3. Читайте её по столбцам: А → Г, Б → Д, Я → В. Дальше всё сводится к пяти действиям.
- Запишите слово и решите, как поступить с «ё»: здесь она полноправная буква алфавита.
- Найдите каждую букву слова в верхней строке.
- Выпишите букву, стоящую под ней в нижней строке.
- Пробелы и знаки препинания перенесите как есть.
- Проверьте результат обратным сдвигом: найдите буквы в нижней строке и прочитайте верхнюю.
Разберём «ПРИВЕТ»: П → Т, Р → У, И → Л, В → Е, Е → З, Т → Х, получается «ТУЛЕЗХ». Теперь фраза «Делу время потехе час»: Д → Ж, е → з, л → о, у → ц, и так до конца, итог — «Жзоц еузпв тсхзшз ъгф». С латиницей то же самое, только букв 26: «Hello, World» при сдвиге 3 превращается в «Khoor, Zruog».
Если нужна не одна таблица, а любой ключ, сделайте две бумажные полоски с алфавитом и двигайте нижнюю относительно верхней. На этом же принципе устроены детские шифровальные диски: два круга, один из которых вращается.
Русский алфавит: 32 или 33 буквы — и почему ответы не совпадают
Расхождения в заданиях начинаются с буквы «ё». В алфавите она стоит сразу после «е», но в обычном тексте её пишут как «е»: в таблице частот Национального корпуса русского языка «ё» занимает 0,04% против 8,45% у «е». Поэтому в одних источниках алфавит считают из 33 букв, в других — из 32, без «ё». От этого зависят и модуль в формуле (33 или 32), и порядок букв после «Е».
Сравните одни и те же слова при сдвиге 3.
| Слово | 33 буквы (с «ё») | 32 буквы (без «ё») |
|---|---|---|
| ПРИВЕТ | ТУЛЕЗХ | ТУЛЕИХ |
| КОМПЬЮТЕР | НСПТЯБХЗУ | НСПТЯБХИУ |
| СЕКРЕТ | ФЗНУЗХ | ФИНУИХ |
| Делу время потехе час | Жзоц еузпв тсхзшз ъгф | Зиоц еуипв тсхиши ъгф |
| ШИФР | ЫЛЧУ | ЫЛЧУ |
Расходятся не все слова, а только те, где есть буква, чей сдвиг проходит через «ё». При сдвиге 3 это Г, Д и Е: в 33-буквенном алфавите Г → Ё, Д → Ж, Е → З, а в 32-буквенном Г → Ж, Д → З, Е → И. Вообще при сдвиге k расходятся ровно k букв из 32 (проверено перебором всех ключей от 1 до 32): при сдвиге 1 — только «Е», при сдвиге 8 — восемь букв. В слове «ШИФР» таких букв нет, поэтому ответ один.
Это не единственная причина разных ответов. Если ваш результат не сходится с ключом к заданию, проверьте ещё четыре вещи.
- Направление. Шифруют сдвигом вправо, к концу алфавита. Если в условии «влево», это тот же алгоритм с ключом −k.
- Ключ-буква. Вместо числа иногда дают букву, в которую превращается «А»: ключ «Г» означает сдвиг 3.
- Нумерация с единицы. Если А = 1, формулу приходится править: вместо остатка 0 нужна последняя буква алфавита. Проще считать с нуля.
- Регистр и знаки. Заглавные и строчные шифруются одинаково, а пробелы и запятые остаются на месте, если условие не требует иного.
Показательный случай — шифртекст «нултхсеугчлв», который встречается в поисковых запросах как задание на расшифровку. При сдвиге 3 он расшифровывается в «криптоврафия» — такого слова нет, седьмая буква должна быть «г». Дело в «ё»: слово «криптография» при сдвиге 3 даёт «нултхсёугчлв», а если точки над «ё» потерялись при наборе, получается «нултхсеугчлв». В 32-буквенном алфавите то же слово дало бы «нултхсжугчлв». Ни при 33, ни при 32 буквах условие из этого шифртекста не получается, и ошибку легко начать искать у себя.
Договорённость этого разбора: 33 буквы с «ё», шифрование — сдвиг вправо. Если задание выписывает алфавит или приводит ответ, сверяйтесь с ним: он главнее любого общего правила.
Как расшифровать шифр Цезаря, если ключ известен
Расшифровка — те же действия с обратным знаком: каждую букву шифртекста сдвигают на k позиций назад, x = (y − k) mod 33. Берём «Жзоц еузпв тсхзшз ъгф» и ключ 3: Ж → Д, З → Е, О → Л, Ц → У, получилось «Делу». Дальше «время потехе час». Второй пример: «лмбттоьк шбт» при ключе 1 даёт «классный час»: л → к, м → л, б → а, т → с.
Есть приём, который избавляет от слова «назад»: расшифровка ключом k равна шифрованию ключом 33 − k. «ТУЛЕЗХ» с ключом 30 снова превращается в «ПРИВЕТ». Поэтому в программе хватает одной функции на оба направления: ей можно передать и −k, и 33 − k.
Расшифровать можно только потому, что шифр обратим: по шифртексту и ключу исходник восстанавливается однозначно. С хеш-функцией так не получится: она превращает данные в короткий отпечаток, из которого исходный текст не вернуть ни с каким ключом.
Если ключа нет, но известна хотя бы одна пара «буква — её шифр», ключ находят вычитанием номеров. Допустим, «П» превратилась в «Т». У «Т» номер 19, у «П» — 16, значит, k = 19 − 16 = 3. Если такой пары нет, ключ подбирают — этому посвящены следующие два раздела.
Взлом перебором: до 32 вариантов за минуту
Ключей у такого шифра мало. На 33 буквах содержательных сдвигов 32, на 32 буквах — 31, на латинице — 25. Поэтому перебор сводится к тому, чтобы выписать все варианты расшифровки и найти среди них осмысленный. Для короткого слова вручную это занимает около минуты, программа справляется мгновенно.
Возьмём «ТУЛЕЗХ» и будем сдвигать назад.
| Сдвиг назад | Результат |
|---|---|
| 1 | СТКДЖФ |
| 2 | РСЙГЁУ |
| 3 | ПРИВЕТ |
| 4 | ОПЗБДС |
| 5 | НОЖАГР |
На третьей строке появилось слово, и можно остановиться. Из 32 вариантов осмысленным оказывается один, остальные выглядят как «ОПЗБДС», «МНЁЯВП» или «УФМЁИЦ».
Короткие шифртексты бывают двусмысленными. Слово «дед» при сдвиге 15 превращается в «тут»: увидев «тут», вы вправе назвать оба варианта, пока не появится контекст. На фразе из нескольких слов случайно получить два осмысленных варианта куда труднее.
Перебор работает на любом шифре с малым числом ключей: чем меньше пространство ключей, тем слабее защита, и хитрость взломщика тут ни при чём.
Бывало это и на практике. По данным Дэвида Кана («The Codebreakers», 1967), ещё в 1915 году русская армия применяла этот шифр вместо более сложных систем, которые войскам было трудно освоить, а немецкие и австрийские криптоаналитики вскрывали такие сообщения без труда. А в апреле 2006 года, по сообщению The Register, у сицилийского мафиози Бернардо Провенцано, арестованного на ферме близ Корлеоне, в записках нашли вариант этого шифра: буквам итальянского алфавита присваивали номера и прибавляли три, так что A превращалась в 4, а B — в 5. По тому же сообщению, расшифровка записок помогла следователям выйти на его сообщников.
Частотный анализ: как вскрыть длинный текст без перебора
Перебор хорош, пока ключей мало. Частотный анализ работает и там, где ключей не 32, а неимоверно много: у произвольной подстановки на 33 буквах их 33! — число из 37 цифр. А для сдвига он даёт ответ с одной попытки. Идея в том, что подстановка меняет буквы, но не меняет частоту, с которой они встречаются. Самая частая буква русского текста — «О», и самой частой в шифртексте станет та, в которую она превратилась.

Самые ранние из сохранившихся описаний частотного анализа принадлежат Аль-Кинди, учёному IX века (около 801–873 годов); его трактат называется «О дешифровке криптографических сообщений». Для русского языка опорная таблица такая.
| Буква | Частота, % | Станет при сдвиге 3 |
|---|---|---|
| О | 10,97 | С |
| Е | 8,45 | З |
| А | 8,01 | Г |
| И | 7,35 | Л |
| Н | 6,70 | Р |
| Т | 6,26 | Х |
| С | 5,47 | Ф |
| Р | 4,73 | У |
| В | 4,54 | Е |
| Л | 4,40 | О |
Частоты взяты из таблицы на материале Национального корпуса русского языка (О. Н. Ляшевская, С. А. Шаров, «Частотный словарь современного русского языка», 2009; около 505 млн букв). Редкие буквы там — «ё» и «ъ» (по 0,04%), «ф» (0,26%) и «э» (0,32%). В английском самая частая буква — E, около 12,7% (Robert Lewand, «Cryptological Mathematics», 2000).
Порядок действий:
- Посчитайте, сколько раз встречается каждая буква шифртекста.
- Предположите, что самая частая — «О». Тогда ключ равен номеру этой буквы минус 15 (номер «О»), по модулю 33.
- Расшифруйте начало. Если вышла бессмыслица, повторите с «Е», «А», «И» и «Н».
Проверим на первой строфе «Евгения Онегина» Пушкина (296 букв; слова «чёрт» и «возьмёт» написаны с «ё»). Зашифруем её ключом 10 и забудем, что он был. Начало шифртекста — «Цшу нини ыйцея боыьчея». Самые частые буквы: Ш — 30, Й — 25, О — 20, Ь — 17, Ч — 15. Номер Ш — 25, номер «О» — 15. Если Ш — это «О», то k = 25 − 15 = 10. Проверяем: Ц − 10 = М, Ш − 10 = О, У − 10 = Й, то есть «Мой». Дальше текст читается сам: «Мой дядя самых честных правил».
Метод ломается на коротких текстах. В двух первых строках той же строфы (45 букв) чаще всего встречается «А» (4 раза), а «О» — только 3 раза, наравне с «М», «Д» и «Е». Рабочий ориентир — несколько сотен букв.
Ещё два практических совета. Пробелы сохраняются, значит, видны длины слов, а однобуквенные слова — «в», «и», «с», «к», «у», «о», «а», «я» — выдают сразу несколько букв. И второе: программа сравнивает не одну букву, а всё распределение целиком с эталонным, например по критерию хи-квадрат, и подбирает ключ без человека.
Код на Python: шифр за двенадцать строк, взлом — за три и четыре
Вот алгоритм целиком. Алфавит передаётся строкой, поэтому функция работает с 26, 32 или 33 буквами. Регистр сохраняется, а всё, чего нет в алфавите, переносится без изменений.
ALPHABET = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
def caesar(text, k, alphabet=ALPHABET):
out = []
for ch in text:
pos = alphabet.find(ch.lower())
if pos == -1:
out.append(ch)
continue
new = alphabet[(pos + k) % len(alphabet)]
out.append(new.upper() if ch.isupper() else new)
return ''.join(out)
print(caesar('Привет', 3))Запуск выведет «Тулезх». Расшифровка — тот же вызов с минусом: caesar('Тулезх', -3) вернёт «Привет». Для латиницы третьим аргументом передают строку 'abcdefghijklmnopqrstuvwxyz', тогда «Hello, World» при ключе 3 даст «Khoor, Zruog».
Перебор занимает три строки.
cipher = 'Тулезх'
for k in range(1, 33):
print(k, caesar(cipher, -k))Частотный анализ — четыре строки. Возьмите любой русский текст в несколько сотен букв, зашифруйте его функцией выше и сохраните шифртекст в файле cipher.txt.
cipher = open('cipher.txt', encoding='utf-8').read()
top = max(ALPHABET, key=cipher.lower().count)
k = (ALPHABET.index(top) - ALPHABET.index('о')) % len(ALPHABET)
print(k, caesar(cipher, -k))Скрипт выведет найденный ключ и расшифрованный текст. Для строфы из предыдущего раздела это 10 и четырнадцать строк Пушкина в открытом виде.
В сети ходят и короткие версии на ord и chr. Ловушка в них такая: коды букв «а» … «я» идут подряд (1072–1103), а у «ё» код 1105, и в диапазон она не попадает. Поэтому такая программа молча работает с 32 буквами и оставляет «ё» нетронутой. Именно из неё получается «ТУЛЕИХ» вместо «ТУЛЕЗХ».
Задания с ответами: сдвиг 1, 3, 5 и 8
Типовое задание звучит так: «Зашифруйте слово шифром Цезаря с ключом N = 3». N здесь — сдвиг, то есть число позиций, на которое буква уходит вправо. Ответы ниже посчитаны скриптом для 33 букв; в третьем столбце — что получится, если алфавит из 32 букв.
| Задание | Ответ (33 буквы) | Алфавит из 32 букв |
|---|---|---|
| Зашифруйте «ИНФОРМАТИКА», N = 1 | ЙОХПСНБУЙЛБ | то же |
| Зашифруйте «КОМПЬЮТЕР», N = 3 | НСПТЯБХЗУ | НСПТЯБХИУ |
| Зашифруйте «ШКОЛА», N = 5 | ЭПУРЕ | то же |
| Зашифруйте «АЛГОРИТМ», N = 8 | ЗУКЦШРЪФ | ИУЛЦШРЪФ |
| Зашифруйте «ЯБЛОКО», N = 3 (перенос через конец алфавита) | ВДОСНС | то же |
| Расшифруйте «лмбттоьк шбт», N = 1 | классный час | то же |
| Расшифруйте «Жзоц еузпв тсхзшз ъгф», N = 3 | Делу время потехе час | Гдлу врдмя потдхд час |
| Расшифруйте «нултхсёугчлв», N = 3 | криптография | криптоёрафия |
| Найдите N: «ПРИВЕТ» → «ТУЛЕЗХ» | 3 | для 32 букв: «ТУЛЕЗХ» не получится ни при каком N |
| Зашифруйте «Hello, World», N = 3 (латиница, 26 букв) | Khoor, Zruog | — |
Сдвиг на единицу — это вариант Августа: «ДОМ» превращается в «ЕПН». Свой ответ всегда проверяйте обратным сдвигом: если расшифровка вернула исходное слово, ключ применён правильно. Чем больше N, тем больше букв, ответ по которым зависит от выбранного алфавита: при N = 1 такая буква одна, при N = 8 — восемь.
Родственные шифры: Август, ROT13, Атбаш и Виженер
У Цезаря много родственников. Таблица, чтобы их не путать.
| Шифр | Правило | Пример |
|---|---|---|
| Цезарь | Сдвиг на k, у самого Цезаря k = 3 | ПРИВЕТ → ТУЛЕЗХ |
| Август | Сдвиг на 1 без замыкания алфавита, последняя буква X заменялась двумя A | Hello → Ifmmp |
| ROT13 | Сдвиг 13 на 26 латинских буквах. Шифрует и расшифровывает одна и та же операция, потому что 13 + 13 = 26. В начале 1980-х им прятали шутки и ответы на головоломки в телеконференциях Usenet | hello → uryyb |
| Атбаш | Зеркало: первая буква заменяется последней, вторая — предпоследней | ПРИВЕТ → ПОЦЭЪМ |
| Шифр Виженера | Тот же сдвиг, но он меняется от буквы к букве по ключевому слову | зависит от слова-ключа |
| Цезарь с ключевым словом | Алфавит замены начинается со слова-ключа без повторов, дальше остальные буквы по порядку | при ключе «шифр»: ПРИВЕТ → МНЕФБП |
К таблице две оговорки. Первая: когда алфавит замены собран по ключевому слову, это уже произвольная подстановка, перебор 32 сдвигов её не берёт, зато частотный анализ по-прежнему применим. Вторая: ROT13 определён только для латиницы. В русском алфавите из 33 букв нет сдвига, который сам себя отменяет: он должен равняться половине длины алфавита, а 33 нечётно. При 32 буквах таким был бы сдвиг 16.
Что похоже на шифр, но шифром не считается
Два понятия принимают за шифр, потому что результат выглядит как абракадабра, хотя ключа у них нет.
- Азбука Морзе — запись букв точками и тире по открытой таблице. Это кодировка: азбука Морзе разобрана отдельно.
- Base64 записывает двоичные данные печатными символами, а кодирование Base64 снимается любой программой без пароля.
Чем шифруют всерьёз
Современные шифры устроены иначе. AES описан в стандарте FIPS 197 американского института NIST (опубликован в 2001 году, обновлён в 2023-м) и шифрует блоки по 128 бит ключами в 128, 192 или 256 бит. У AES-128 возможных ключей 2128, число из 39 цифр, против 32 у сдвига Цезаря. В России блочные шифры «Кузнечик» (блок 128 бит, ключ 256 бит) и «Магма» описаны в ГОСТ Р 34.12-2015; на его основе принят межгосударственный ГОСТ 34.12-2018, введённый в России с 1 июня 2019 года. Шифр сдвига к ним отношения не имеет: он остаётся учебным примером.
Открытка-квест: зашифрованная фраза в QR-коде
Зашифрованная фраза хорошо ложится в открытку, квестовую карточку или точку геокэшинга. Схема простая: шифруете текст по таблице выше, шифртекст записываете в QR-код, а ключ сообщаете отдельно — подсказкой на открытке, в соседнем задании или лично. Допустим, в QR-код на карточке записана фраза «Льл тсж нсеулнсп», а в подсказке сказано «ключ — число букв в слове КОТ». Гость сканирует код, видит набор букв и сдвигает их назад на три: «Ищи под ковриком».
Оговорка о защите: QR-код тайну не хранит. Любой сканер покажет записанный текст сразу и целиком, поэтому фразу защищает только шифр, а он слабый. Сервис ничего не шифрует и не расшифровывает, а онлайн-калькулятора шифра Цезаря на сайте нет: зашифровать текст нужно заранее, вручную или кодом из этой статьи. Перед печатью проверьте готовый код собственным телефоном.
Чтобы собрать такую открытку, зашифруйте фразу шифром Цезаря и создайте QR-код с текстом: вставьте шифртекст, при желании подберите цвета и рамку и скачайте PNG или SVG. Сдвиг начните с 3, фразу берите из пяти-шести слов, а ключ запишите на открытке намёком.
Частые вопросы
Как зашифровать слово шифром Цезаря?
Выберите сдвиг k и запишите алфавит дважды, начав вторую строку с буквы, в которую превращается «А». Для каждой буквы слова найдите её в верхней строке и выпишите букву из нижней. При k = 3 слово «ПРИВЕТ» превращается в «ТУЛЕЗХ» (русский алфавит из 33 букв, с «ё»). Алфавит замыкается в кольцо: после «Я» идёт «А». При сдвиге 3 слова с буквами «Г», «Д» и «Е» чувствительны к числу букв в алфавите: проверьте, 32 их или 33, иначе ответ разойдётся с тем, что выдаёт другой сайт.
Как расшифровать шифр Цезаря, если ключ неизвестен?
Есть два пути. Перебор: выпишите все варианты сдвига назад (32 для русского алфавита) и найдите тот, где получилось слово; вручную это минута. Частотный анализ: найдите самую частую букву длинного шифртекста, примите её за «О» и вычислите ключ как разность номеров букв; если не вышло, пробуйте «Е», «А» и «И». Короткие тексты двусмысленны: «дед» при сдвиге 15 превращается в «тут», и без контекста не определить, какой вариант исходный.
Что такое сдвиг в шифре Цезаря и какой сдвиг использовал Цезарь?
Сдвиг — это ключ, число позиций, на которое каждая буква смещается по алфавиту: при сдвиге 3 «А» становится «Г». По Светонию («Божественный Юлий», глава 56), Цезарь ставил D вместо A, то есть использовал сдвиг 3. Август, по главе 88 «Божественного Августа», сдвигал на одну букву. В школьных заданиях запись «ключ N = 5» означает просто сдвиг на пять позиций вправо.
Сколько вариантов ключа у шифра Цезаря на русском алфавите?
Если алфавит из 33 букв (с «ё»), значений ключа 33, но сдвиг 0 ничего не шифрует, так что содержательных — 32. Если «ё» не учитывают и букв 32, содержательных ключей 31. Для латиницы из 26 букв их 25. Это очень мало: вручную перебор занимает минуту, программе нужны доли секунды. Для сравнения, у шифра AES-128 возможных ключей 2128, число из 39 цифр.
Чем шифр Цезаря отличается от шифра Виженера?
В шифре Цезаря один сдвиг на весь текст, поэтому буква «О» всегда превращается в одну и ту же букву, и частотный анализ работает. В шифре Виженера сдвиг задаёт ключевое слово: каждая его буква даёт свой сдвиг, и они повторяются по кругу. Одна и та же буква открытого текста шифруется по-разному, а частоты букв размываются. Виженера можно представить как несколько шифров Цезаря, которые чередуются по позициям.
Что значит «шифр Цезаря с ключевым словом»?
Единого значения нет, в заданиях встречаются два толкования. Первое: алфавит замены собирают из ключевого слова без повторяющихся букв и остальных букв по порядку; при слове «шифр» «ПРИВЕТ» превращается в «МНЕФБП». Это уже произвольная подстановка, а не сдвиг, поэтому перебор из 32 вариантов не поможет, а частотный анализ сработает. Второе: иногда так называют шифр Виженера, где сдвиг задаёт слово. Какой вариант имеется в виду, видно из условия.
Есть ли шифр Цезаря онлайн и как проверить себя вручную?
Онлайн-калькуляторы и «переводчики» шифра есть на сторонних сайтах, но правила у них разные: одни считают русский алфавит из 33 букв, другие из 32, и ответы расходятся. На нашем сайте калькулятора нет. Проверить себя можно без него: расшифруйте свой шифртекст обратным сдвигом, он должен вернуть исходное слово, или запустите двенадцать строк кода из этой статьи. Если результат совпал с ответом в задании, алфавит выбран верно.
Можно ли защитить данные шифром Цезаря?
Нет. Ключей всего 32, перебор занимает минуту, а на длинном тексте частотный анализ находит ключ с первой попытки. Шифр годится для игры, учебной задачи, открытки или квеста. Данные защищают современными алгоритмами: AES (стандарт FIPS 197 американского NIST) или российскими «Кузнечиком» и «Магмой» (ГОСТ Р 34.12-2015 и основанный на нём ГОСТ 34.12-2018). Прятать им пароли и документы не стоит, в том числе и в QR-коде: любой сканер покажет записанный в нём текст.