T

Text Machine

Мощные текстовые инструменты прямо в браузере

Шифр Цезаря

Шифруйте, расшифровывайте и взламывайте классический шифр Цезаря со сдвигом. Выберите любой сдвиг от 1 до 25, перейдите к ROT13, ROT5 или ROT47 либо позвольте режиму взлома перебрать все 25 сдвигов и автоматически определить наиболее вероятный. Всё работает прямо в вашем браузере.

Сдвиг

3
Открытый текст
Шифртекст

Введите текст выше, чтобы увидеть здесь результат.

Соответствие алфавита

Открытый

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z

Шифр

D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C

Как пользоваться Шифр Цезаря

  1. 1

    Выберите шифрование, дешифрование или взлом

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

  2. 2

    Выберите сдвиг или готовый шифр

    Задайте любой сдвиг от 1 до 25 кнопками «плюс» и «минус» или нажмите готовый шифр: ROT13 для классического сдвига букв на 13, ROT5 для цифр или ROT47 для всех печатаемых символов.

  3. 3

    Введите текст

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

  4. 4

    Взломайте сообщение без ключа

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

  5. 5

    Скопируйте, скачайте или поделитесь

    Скопируйте результат в буфер обмена, скачайте его в виде текстового файла или поделитесь ссылкой, которая снова откроет инструмент с вашим текстом и настройками, готовыми к работе.

Как устроен шифр Цезаря

Что такое шифр Цезаря?

Шифр Цезаря — это шифр замены, который шифрует сообщение, сдвигая каждую букву на фиксированное число позиций по алфавиту. Он назван в честь римского полководца Юлия Цезаря, который, согласно историческим свидетельствам, использовал сдвиг на три, чтобы защитить свою личную и военную переписку. Поскольку каждая буква всегда заменяется одной и той же заменой, шифр Цезаря является самым простым и наиболее часто изучаемым примером классической криптографии и остаётся идеальной отправной точкой для знакомства с тем, как работает шифрование.

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

Как работает шифрование в шифре Цезаря

Чтобы зашифровать сообщение, вы выбираете величину сдвига, называемую ключом, в диапазоне от 1 до 25. Затем каждая буква вашего сообщения смещается вперёд по алфавиту на это число позиций, переходя от Z обратно к A, когда выходит за его конец. Дешифрование выполняет обратное действие, сдвигая каждую букву назад на ту же величину. Пробелы, цифры и знаки препинания обычно остаются нетронутыми, и именно поэтому форма и длина исходного сообщения остаются видимыми в шифртексте.

Например, при сдвиге на три буква A становится D, B становится E, а слово HELLO превращается в KHOOR. Чтобы прочитать сообщение, получателю достаточно знать единственную величину сдвига и сместить каждую букву на три позиции назад.

Разбор примера: сдвиг на три

Возьмём классическую фразу ATTACK AT DAWN и применим к ней собственный сдвиг Цезаря на три. A переходит в D, T переходит в W, C переходит в F, K переходит в N и так далее, давая в результате шифртекст DWWDFN DW GDZQ. Обратите внимание, что пробелы остаются на месте, а повторяющиеся буквы всегда шифруются одним и тем же символом, поэтому двойная T в ATTACK становится двойной W. Обратный сдвиг превращает DWWDFN DW GDZQ прямо обратно в ATTACK AT DAWN.

Формула шифра Цезаря

Математически каждая буква рассматривается как число от 0 до 25, где A — это 0, а Z — это 25. Шифрование записывается как E(x) = (x + n) mod 26, а дешифрование как D(x) = (x - n) mod 26, где x — позиция буквы, а n — величина сдвига. Именно операция mod 26 заставляет алфавит зацикливаться, поэтому сдвиг Y на три приводит к B, а не уходит за конец алфавита.

Что такое ROT13, ROT5 и ROT47

ROT13 — это шифр Цезаря, жёстко зафиксированный на сдвиге в тринадцать. Поскольку тринадцать — это ровно половина двадцати шести, двойное применение ROT13 возвращает исходный текст, поэтому одна операция и кодирует, и декодирует. ROT5 применяет ту же идею к десяти цифрам от 0 до 9, что делает его удобным для маскировки чисел, тогда как ROT47 поворачивает все 94 печатаемых символа ASCII вместе, перемешивая буквы, цифры и знаки препинания за один раз. Каждый из них обратен сам себе, и именно это делает их такими удобными для быстрого сокрытия и раскрытия коротких фрагментов текста.

Как взломать шифр Цезаря

У шифра Цезаря всего 25 возможных ключей, что делает его до смешного лёгким для взлома. Самый прямой метод — атака перебором: расшифровать сообщение каждым сдвигом от 1 до 25 и прочитать тот результат, который имеет смысл. Более умный подход — частотный анализ, который сравнивает распределение букв каждого варианта с типичными частотами английского языка, где E, T и A являются самыми частыми буквами, и автоматически выбирает ближайшее совпадение. Режим взлома в этом инструменте делает и то и другое за вас, перечисляя все 25 расшифровок и выделяя наиболее вероятный ответ с помощью оценки по критерию хи-квадрат.

Краткая история шифра Цезаря

Шифр получил своё название от Юлия Цезаря, который, согласно историку Светонию, сдвигал каждую букву на три позиции, чтобы сохранять свои сообщения в тайне, примерно в 50 году до нашей эры. Считается, что его преемник Август использовал похожую схему со сдвигом на один. На протяжении столетий простого сдвига букв было достаточно для безопасности, главным образом потому, что мало кто умел читать, не говоря уже о том, чтобы анализировать зашифрованное сообщение. Слабость шифра стала понятна уже к девятому веку, когда арабский математик аль-Кинди описал частотный анализ — тот самый метод, который сегодня взламывает шифр за считаные секунды.

Надёжен ли шифр Цезаря?

Нет. Всего с 25 ключами шифр Цезаря можно взломать вручную за пару минут, а компьютером — мгновенно, поэтому он не обеспечивает никакой защиты для того, что действительно должно оставаться в тайне. Его ценность сегодня учебная и развлекательная: это идеальный способ освоить словарь криптографии, такой как открытый текст, шифртекст, ключ, шифрование и криптоанализ, и увлекательный строительный блок для головоломок, игр и программных проектов. Для настоящей безопасности вместо него используются современные алгоритмы, такие как AES.

Таблица шифра Цезаря: все 25 сдвигов

Эта справочная таблица показывает алфавит шифртекста для каждого сдвига Цезаря от 1 до 25. Найдите свой сдвиг в левом столбце и прочитайте строку слева направо: она показывает, во что превращаются открытые буквы от A до Z. Выделенная строка — это ROT13, сдвиг на 13, который одновременно и шифрует, и расшифровывает.

СдвигАлфавит шифра (A to Z)
1BCDEFGHIJKLMNOPQRSTUVWXYZA
2CDEFGHIJKLMNOPQRSTUVWXYZAB
3DEFGHIJKLMNOPQRSTUVWXYZABC
4EFGHIJKLMNOPQRSTUVWXYZABCD
5FGHIJKLMNOPQRSTUVWXYZABCDE
6GHIJKLMNOPQRSTUVWXYZABCDEF
7HIJKLMNOPQRSTUVWXYZABCDEFG
8IJKLMNOPQRSTUVWXYZABCDEFGH
9JKLMNOPQRSTUVWXYZABCDEFGHI
10KLMNOPQRSTUVWXYZABCDEFGHIJ
11LMNOPQRSTUVWXYZABCDEFGHIJK
12MNOPQRSTUVWXYZABCDEFGHIJKL
13 · ROT13NOPQRSTUVWXYZABCDEFGHIJKLM
14OPQRSTUVWXYZABCDEFGHIJKLMN
15PQRSTUVWXYZABCDEFGHIJKLMNO
16QRSTUVWXYZABCDEFGHIJKLMNOP
17RSTUVWXYZABCDEFGHIJKLMNOPQ
18STUVWXYZABCDEFGHIJKLMNOPQR
19TUVWXYZABCDEFGHIJKLMNOPQRS
20UVWXYZABCDEFGHIJKLMNOPQRST
21VWXYZABCDEFGHIJKLMNOPQRSTU
22WXYZABCDEFGHIJKLMNOPQRSTUV
23XYZABCDEFGHIJKLMNOPQRSTUVW
24YZABCDEFGHIJKLMNOPQRSTUVWX
25ZABCDEFGHIJKLMNOPQRSTUVWXY

Часто задаваемые вопросы

Что такое шифр Цезаря?
Шифр Цезаря — один из старейших известных методов шифрования, названный в честь Юлия Цезаря, который использовал его для защиты военных сообщений. Каждая буква заменяется другой, расположенной на фиксированное число позиций дальше по алфавиту. Например, при сдвиге на 3 буква A превращается в D, а B — в E, при этом после Z отсчёт продолжается снова с A.
Что такое ROT13?
ROT13 — это шифр Цезаря со сдвигом на 13. Поскольку в алфавите 26 букв, двойной сдвиг на 13 возвращает исходный текст, поэтому одна и та же операция и шифрует, и расшифровывает. В интернете его обычно используют, чтобы скрыть спойлеры, концовки шуток и ответы к головоломкам, а не для реальной защиты.
Что такое ROT5 и ROT47?
ROT5 сдвигает цифры от 0 до 9 на пять позиций и не трогает буквы, поэтому он удобен для маскировки чисел. ROT47 сдвигает все 94 печатаемых символа ASCII, включая буквы, цифры и знаки препинания, на 47 позиций. Оба обратны сами себе, то есть одно и то же действие и шифрует, и расшифровывает, как и ROT13.
Как расшифровать сообщение, не зная сдвига?
Переключитесь в режим взлома и вставьте шифртекст. Инструмент расшифрует его каждым сдвигом от 1 до 25 и ранжирует результаты, используя частотный анализ букв, чтобы выделить наиболее вероятный открытый текст. Поскольку возможных сдвигов всего 25, шифр Цезаря взламывается этим способом быстро и легко.
Как работает автоматический решатель?
Для каждого из 25 возможных сдвигов решатель расшифровывает текст и с помощью критерия хи-квадрат оценивает, насколько распределение букв близко к обычному английскому. Сдвиг, расшифровка которого больше всего похожа на английский текст, показывается как наилучшее предположение. Чем больше текста вы предоставите, тем надёжнее становится определение.
Изменяет ли он цифры, пробелы или знаки препинания?
В стандартном режиме Цезаря и в ROT13 сдвигаются только буквы от A до Z, и каждая сохраняет свой регистр — прописной или строчный, тогда как цифры, пробелы и знаки препинания остаются без изменений. ROT5 сдвигает только цифры, а ROT47 намеренно сдвигает буквы, цифры и символы вместе.
Какова формула шифра Цезаря?
Шифрование задаётся формулой E(x) = (x + n) mod 26, а дешифрование — D(x) = (x - n) mod 26, где x — позиция буквы от 0 до 25, а n — величина сдвига. Операция mod 26 удерживает результат в пределах алфавита, благодаря чему буквы после Z снова переходят к A.
Сколько возможно сдвигов и насколько это надёжно?
Полезных сдвигов всего 25, поскольку сдвиг на 0 или 26 оставляет текст без изменений. Такое крошечное пространство ключей означает, что любой может перебрать их все за считаные секунды, поэтому сегодня шифр Цезаря не обеспечивает реальной защиты и его лучше воспринимать как развлекательный, учебный инструмент или средство для головоломок.
Почему Юлий Цезарь использовал сдвиг на три?
По свидетельству римского историка Светония, Цезарь сдвигал каждую букву на три позиции, чтобы скрыть содержание своей переписки. Фиксированного сдвига на 3 хватало в эпоху, когда большинство врагов вообще не умели читать, не говоря уже о криптоанализе, — именно поэтому эта простая схема и спустя две тысячи лет носит его имя.
Загружается ли мой текст на сервер?
Нет. Всё шифрование, дешифрование и взлом происходят полностью в вашем браузере, поэтому ваш текст никогда не загружается, не записывается в журналы и не сохраняется. Даже ссылка для обмена хранит ваш текст в части URL после знака решётки, которую браузеры никогда не отправляют на сервер, поэтому он остаётся конфиденциальным, пока вы сами не решите им поделиться.
Как понять, что перед вами шифр Цезаря?
Шифр Цезаря сохраняет длину слов, пробелы и знаки препинания оригинала, поэтому текст выглядит как настоящий язык, в котором буквы заменены другими. Сильная подсказка — характер частот букв: поскольку каждая буква сдвигается на одну и ту же величину, обычная частотная кривая английского языка просто скользит вдоль алфавита, и одна буква начинает преобладать так, как обычно это делает E. Если переключиться в режим взлома и перебрать все 25 сдвигов, и читаемый текст получается ровно при одном сдвиге, это почти наверняка был шифр Цезаря. Если ни один сдвиг не подходит, сообщение может использовать другой метод, например шифр Vigenère или смешанный шифр замены.
В чём разница между шифром Цезаря и ROT13?
ROT13 — это просто шифр Цезаря с фиксированным сдвигом на 13. Общий шифр Цезаря позволяет выбрать любой сдвиг от 1 до 25, тогда как ROT13 всегда использует 13. Поскольку 13 — это ровно половина 26, ROT13 обратен сам себе: двойной прогон текста через него возвращает оригинал, поэтому одна операция и кодирует, и декодирует. Шифру Цезаря с любым другим сдвигом для расшифровки нужен противоположный сдвиг.
В чём разница между шифром Цезаря и шифром Vigenère?
Шифр Цезаря использует один фиксированный сдвиг для всего сообщения, поэтому у него всего 25 возможных ключей и его легко взломать. Шифр Vigenère использует ключевое слово, чтобы применять разный сдвиг к каждой букве по очереди, что скрывает частотный рисунок букв и значительно усложняет взлом. По сути, Vigenère — это последовательность шифров Цезаря, циклически перебирающая буквы ключа, и именно поэтому его долго называли le chiffre indéchiffrable, нераскрываемым шифром.
Можете показать примеры шифра Цезаря с ответами?
При сдвиге на 3 HELLO превращается в KHOOR, а сообщение ATTACK AT DAWN становится DWWDFN DW GDZQ. Девиз Цезаря VENI VIDI VICI шифруется как YHQL YLGL YLFL, а фраза ET TU BRUTE становится HW WX EUXWH. Чтобы расшифровать любой из них, примените противоположный сдвиг на 3 в режиме расшифровки или вставьте шифртекст в режим взлома и позвольте решателю самому найти сдвиг.
Какие ещё названия есть у шифра Цезаря?
Шифр Цезаря также известен как шифр сдвига, сдвиг Цезаря, код Цезаря или просто шифр Цезаря, потому что каждая буква сдвигается на фиксированную величину. У отдельных сдвигов есть собственные названия: сдвиг на 13 — это ROT13, сдвиг на 1 иногда называют August cipher в честь преемника Цезаря Augustus, а более широкое семейство шифров с фиксированным поворотом записывают как ROT-N. Все они работают одинаково и расшифровываются этим инструментом.
Как написать шифр Цезаря в коде?
Алгоритм короток на любом языке. Пройдите по каждому символу и проверьте, буква ли это; если да, вычтите код буквы A, чтобы получить число от 0 до 25, прибавьте сдвиг, возьмите остаток от деления на 26, чтобы алфавит зацикливался, затем снова прибавьте код буквы A и превратите число обратно в символ. Не-буквы копируются без изменений. В Python функции ord и chr выполняют преобразования, а в JavaScript то же самое делают charCodeAt и fromCharCode — именно так и работает этот браузерный инструмент.

Похожие инструменты

Продолжайте работу с этими удобными инструментами

Шифр Виженера

Шифр Атбаш

Шифр Рейл-Фенс

Шифр Плейфера

Аффинный шифр

Шифр Бэкона