Шифр Цезаря: кодировщик / декодировщик (с ROT13)
Введите текст и выберите величину сдвига. Буквы сдвигаются на указанное количество позиций в алфавите (A-Z, a-z); остальные символы проходят без изменений. Сдвиг 13 — ROT13, сдвиг 3 — оригинальный шифр Цезаря.
Khoor, Zruog!
Как это работает
Как работает шифр Цезаря
Каждая буква входного текста заменяется буквой, стоящей на фиксированное число позиций позже в алфавите. При сдвиге +3: A становится D, B — E, …, X — A (с переносом по кругу). Небуквенные символы проходят без изменений. Декодирование — тот же процесс с противоположным знаком.
Назван в честь Юлия Цезаря, который, по преданию, использовал сдвиг +3 для военных сообщений. Величина сдвига — единственный секрет. При всего 26 возможных сдвигах шифр тривиально взламывается перебором — но это отличный учебный пример шифра замены.
ROT13 — наиболее распространённый вариант
ROT13 использует сдвиг 13. Поскольку 13 — половина 26, двойное применение ROT13 возвращает исходный текст: кодирование и декодирование — одна и та же операция. Это сделало его популярным в Usenet и на форумах для скрытия спойлеров и нежелательных шуток; читатели могут декодировать, нажав кнопку «показать», без отдельного декодировщика.
ROT13 не является шифрованием в каком-либо значимом смысле. Это обфускация — эквивалент надписи «спойлер ниже», чтобы те, кто не хочет знать, могли пропустить.
Почему это занятно, но не безопасно
Современные злоумышленники взламывают шифр Цезаря за микросекунды с помощью частотного анализа (E — самая частая буква в английском языке; то, что в шифротексте встречается чаще всего, — вероятно, E). Не используйте его ни для чего важного.
Подходит для: учебных примеров, головоломок, ARG (альтернативных реальностей), сокрытия текста на виду, тегов ROT13 для спойлеров. Не подходит для: паролей, финансовых данных, всего с реальными последствиями.
Частые вопросы
›В чём разница между Цезарем +3 и ROT13?
Только в величине сдвига. +3 — оригинальный выбор Цезаря; 13 — ровно половина алфавита (кодирование и декодирование — одна операция). Математически это одно семейство шифров.
›Почему сдвиг +26 возвращает исходный текст?
26 букв в алфавите — сдвиг ровно на 26 возвращает на исходную букву. То же для любого кратного 26.
›Почему ROT13 используется для спойлеров?
Потому что двойное применение ROT13 возвращает оригинал. Форумы и читалки Usenet имели встроенные кнопки «ROT13 этот текст», работавшие в обоих направлениях. Удобно для скрытия и последующего раскрытия текста.
›Работает ли с нелатинскими алфавитами?
Нет — только A-Z и a-z. Кириллица, греческий, CJK и арабский проходят без изменений. Шифр Цезаря по своей природе специфичен для латинского алфавита.
›Можно ли использовать для реальной безопасности?
Ни в коем случае. При 25 возможных сдвигах компьютер взламывает его мгновенно. Используйте AES, RSA или проверенные криптографические библиотеки для реальной безопасности.
›Что насчёт шифра Виженера?
Более продвинутый классический шифр, использующий ключевое слово для изменения сдвига с каждой буквой. Всё ещё взламывается вручную при достаточном объёме текста, но намного сложнее Цезаря. Пока не включён в инструмент.
›Зачем нужны отрицательные сдвиги?
Для удобства. Кодировать с +3 и декодировать с +3 — неправильно; для декодирования нужен -3. Отрицательные сдвиги позволяют декодировать без смены режима (или переключатель сделает это за вас).
›Данные покидают браузер?
Нет. Кодирование и декодирование выполняются локально; ничего не передаётся на сервер.
Похожие инструменты
Обновлено: