Кодировщик ROT13

Сдвиг латинского алфавита на 13 позиций: A↔N, B↔O. Одна и та же операция кодирует и раскодирует — отдельный декодер не нужен.

26
Букв латиницы
13
Сдвиг
EN
Алфавит

Онлайн-конвертер

ROT13

Латинские буквы сдвигаются на 13 позиций. Шифрование и расшифровка — один и тот же алгоритм. Кириллица не изменяется.

Скопировано
Таблица ROT13 (латиница)

Как работает ROT13

Сдвиг 13

Правило

Каждая латинская буква сдвигается на 13 позиций по кругу. Первая половина алфавита обменивается со второй: A↔N, B↔O, C↔P. Регистр сохраняется, остальные символы не меняются.

A↔N · B↔O · Hello → Uryyb
26 ÷ 2 = 13

Почему в обе стороны

Сдвиг ровно на половину алфавита возвращает букву на место при повторном применении. Поэтому кодировщик и декодер здесь — одна и та же операция.

ROT13(ROT13(x)) = x
Usenet, 1980-е

Зачем придумали

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

Спойлер: Fabjonyy vf n fyrq

ROT13 подробно: математика, история, применение

ROT13 — частный случай шифра Цезаря с жёстко заданным сдвигом 13. Формально буква с номером i переходит в букву с номером (i + 13) mod 26. Ключа как такового нет: он публичный и всегда один и тот же, поэтому ROT13 правильнее называть не шифром, а способом кодирования текста — примерно как Base64 или URL-кодирование, только для человеческого чтения, а не для машин.

Почему именно 13. Число выбрано не случайно: это ровно половина 26-буквенного алфавита. Из-за этого преобразование становится инволюцией — функцией, обратной самой себе. Практическая польза очевидна: не нужно помнить, кодировали вы текст или раскодировали, и не нужны две кнопки. Тот же трюк работает для цифр (ROT5, потому что 10 ÷ 2 = 5) и для печатных символов ASCII (ROT47, где набор из 94 символов делится на 47).

История. Массовое применение ROT13 началось в конференциях Usenet начала 1980-х. Там сложилось правило: текст, который может испортить впечатление или задеть читателя, публикуется в ROT13, чтобы прочитать его можно было только осознанно. Программы для чтения новостей быстро получили встроенную команду раскодирования, и приём закрепился в интернет-культуре. Отсюда же шутка про «двойной ROT13 для повышенной секретности» — она обыгрывает как раз самообратимость алгоритма.

Кириллица. Прямого аналога ROT13 для русского языка не существует. В алфавите 33 буквы, и половины у нечётного числа нет: ни сдвиг 16, ни 17 не вернут текст в исходное состояние при повторном применении. Если нужна такая же симметрия для русского, берите Атбаш — он самообратим при любом размере алфавита. Если нужен именно сдвиг — шифр Цезаря, где величину можно задать от 1 до 32.

Где полезен сейчас. Спойлеры и ответы на задачи в блогах и чатах. Учебные задания: ROT13 — самый наглядный пример модульной арифметики, на нём удобно объяснять операцию «остаток от деления». Лёгкая обфускация строк в коде и текстовых файлах, чтобы простой поиск по слову их не находил. Квесты и головоломки, где участник должен догадаться, что перед ним не бессмыслица, а закодированный текст: характерный признак — сохранённые пробелы и правдоподобные длины слов при полностью нечитаемых буквах.

Чего ROT13 не делает. Не защищает данные, не скрывает информацию от того, кто её ищет, и не годится для паролей, ключей и персональных данных. Любой текст раскрывается одним нажатием — в том числе на этой странице. Это инструмент вежливости и удобства, а не безопасности.

Частые вопросы

Что такое ROT13?

ROT13 (от английского rotate by 13 places) — это шифр Цезаря с фиксированным сдвигом на 13 позиций для латинского алфавита. A становится N, B — O, и так далее. Никакого ключа выбирать не нужно: сдвиг всегда 13, поэтому алгоритм одинаково работает у всех и не требует договорённостей.

Почему для раскодирования не нужна отдельная кнопка?

В латинице 26 букв, а 26 ÷ 2 = 13. Сдвинув алфавит на 13 позиций дважды, вы возвращаетесь к началу: ROT13(ROT13(текст)) = текст. Именно из-за этой симметрии ROT13 удобен — одна и та же функция и кодирует, и раскодирует.

Почему ROT13 не работает с русским алфавитом?

В русском алфавите 33 буквы — нечётное число, и ровно половины у него нет. Сдвиг на 16 или 17 позиций не будет самообратимым: применив его дважды, вы не получите исходный текст. Поэтому стандарт ROT13 определён только для латиницы. Для кириллицы используйте шифр Цезаря с любым сдвигом или Атбаш — он самообратим при любом числе букв.

Это шифрование? Можно ли им что-то защитить?

Нет. ROT13 не даёт никакой защиты: сдвиг известен всем, а расшифровка занимает одно действие. Задача у него другая — «скрыть на виду», чтобы текст нельзя было прочитать случайным взглядом, но любой желающий мог его раскрыть без пароля. Для реальной защиты нужны AES, RSA, а для паролей — bcrypt.

Где ROT13 применяли исторически?

В конференциях Usenet 1980-х ROT13 стал негласным стандартом для спойлеров, ответов на загадки, анекдотов «на грани» и любых сообщений, которые не стоило читать мимоходом. Многие тогдашние программы для чтения новостей имели встроенную кнопку раскодирования — до сих пор в некоторых почтовых клиентах есть команда «применить ROT13».

Что такое ROT5 и ROT47?

Это родственники ROT13 для других наборов символов. ROT5 сдвигает цифры 0–9 на пять позиций и тоже самообратим (10 ÷ 2 = 5); часто применяется вместе с ROT13 под названием ROT18, чтобы скрывать текст с числами. ROT47 работает с 94 печатными символами ASCII, включая знаки препинания, — тоже сдвиг ровно на половину набора.

Сохраняются ли пробелы, цифры и знаки препинания?

Да. ROT13 меняет только латинские буквы, регистр при этом сохраняется: A→N, a→n. Цифры, пробелы, переводы строк и пунктуация остаются на своих местах, поэтому структура текста и длины слов после кодирования узнаваемы.