Перейти к содержимому
Шифр Цезаря: как работает, сдвиг, зашифровать и расшифровать
guideQRcode.website017 мин чтения

Шифр Цезаря: как работает, сдвиг, зашифровать и расшифровать

#шифр цезаря#шифрование#криптография#сдвиг#python

Шифр Цезаря — это шифр сдвига: каждая буква текста заменяется той, что стоит в алфавите на фиксированное число позиций дальше. Это число и есть ключ. При сдвиге 3 слово «ПРИВЕТ» превращается в «ТУЛЕЗХ», а чтобы вернуть его обратно, буквы сдвигают на три позиции назад.

Правило умещается в одну строку, но ответы в заданиях расходятся: по одной таблице получается «ТУЛЕЗХ», по другой — «ТУЛЕИХ». Виноват не калькулятор, а алфавит: в одном 33 буквы, в другом 32. Ниже — формула, ручной пример, расшифровка, два способа взлома, код на Python и разбор типовых заданий. Русский алфавит здесь везде из 33 букв, с «ё», а каждый пример пересчитан скриптом.

Что такое шифр Цезаря и откуда он взялся

Исходный текст в криптографии называют открытым текстом, результат — шифртекстом, а число сдвига — ключом. Каждая буква всегда заменяется одной и той же, поэтому метод относят к моноалфавитным подстановкам: при сдвиге 3 «О» везде станет «С», в любом слове и в любом месте текста.

Это именно шифрование, а не кодирование. У кодирования ключа нет, и запись читается по открытой таблице. У шифра ключ есть, и без него текст остаётся набором букв. Если граница между понятиями ещё размыта, посмотрите разбор того, чем кодирование отличается от шифрования.

Шифр Юлия Цезаря известен по описанию Светония. В «Жизни двенадцати цезарей» («Божественный Юлий», глава 56) он пишет, что в письмах к Цицерону и к близким друзьям по личным делам Юлий Цезарь, когда нужно было передать что-то тайно, расставлял буквы так, что слов не прочесть. Правило Светоний описывает коротко: вместо A ставится четвёртая буква алфавита, D, и так со всеми остальными. Это сдвиг на три.

Приёмный сын и наследник Цезаря, Август, пользовался упрощённым вариантом. В главе 88 «Божественного Августа» Светоний сообщает, что тот писал B вместо A, C вместо B и так далее, а последнюю букву, X, заменял двумя A: алфавит по кругу Август не замыкал. Светоний даёт правило одним предложением и ни одного шифртекста не приводит, так что о ключе мы знаем по его описанию.

Сегодня шифром Цезаря называют сдвиг на любое число, а не только на три. В школьных задачниках встречаются записи вроде «Цезарь 1» или «Цезарь, сдвиг 3»: число после названия и есть ключ.

Как работает сдвиг: алфавит, ключ и формула

Представьте алфавит не отрезком, а кольцом: после «Я» снова идёт «А». Шифрование — поворот этого кольца. Верхняя строка остаётся на месте, нижняя сдвигается на k позиций, и каждая буква сверху заменяется той, что оказалась под ней.

Схема: русский алфавит из 33 букв со сдвигом на 3, слово ПРИВЕТ превращается в ТУЛЕЗХ
Нижняя строка сдвинута на три позиции: под А стоит Г, а под Я — В.

Для расчётов буквы нумеруют с нуля: А = 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. Читайте её по столбцам: А → Г, Б → Д, Я → В. Дальше всё сводится к пяти действиям.

  1. Запишите слово и решите, как поступить с «ё»: здесь она полноправная буква алфавита.
  2. Найдите каждую букву слова в верхней строке.
  3. Выпишите букву, стоящую под ней в нижней строке.
  4. Пробелы и знаки препинания перенесите как есть.
  5. Проверьте результат обратным сдвигом: найдите буквы в нижней строке и прочитайте верхнюю.

Разберём «ПРИВЕТ»: П → Т, Р → У, И → Л, В → Е, Е → З, Т → Х, получается «ТУЛЕЗХ». Теперь фраза «Делу время потехе час»: Д → Ж, е → з, л → о, у → ц, и так до конца, итог — «Жзоц еузпв тсхзшз ъгф». С латиницей то же самое, только букв 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 цифр. А для сдвига он даёт ответ с одной попытки. Идея в том, что подстановка меняет буквы, но не меняет частоту, с которой они встречаются. Самая частая буква русского текста — «О», и самой частой в шифртексте станет та, в которую она превратилась.

Схема: частоты русских букв до и после сдвига на 3, О, Е и А превращаются в С, З и Г
Высоты столбцов не меняются, смещаются только подписи: пик на «О» переезжает на «С».

Самые ранние из сохранившихся описаний частотного анализа принадлежат Аль-Кинди, учёному 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).

Порядок действий:

  1. Посчитайте, сколько раз встречается каждая буква шифртекста.
  2. Предположите, что самая частая — «О». Тогда ключ равен номеру этой буквы минус 15 (номер «О»), по модулю 33.
  3. Расшифруйте начало. Если вышла бессмыслица, повторите с «Е», «А», «И» и «Н».

Проверим на первой строфе «Евгения Онегина» Пушкина (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 заменялась двумя AHello → Ifmmp
ROT13Сдвиг 13 на 26 латинских буквах. Шифрует и расшифровывает одна и та же операция, потому что 13 + 13 = 26. В начале 1980-х им прятали шутки и ответы на головоломки в телеконференциях Usenethello → 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-коде: любой сканер покажет записанный в нём текст.