Jump to content

РОТ13

(Перенаправлено с ROT47 )

ROT13 ( Rotate13 , « повернуть на 13 мест », иногда пишется через дефис ROT-13 ) — простой шифр замены букв , который заменяет букву 13-й буквой после нее в латинском алфавите . ROT13 — это особый случай шифра Цезаря , разработанного в Древнем Риме.

26 букв (2×13) Поскольку в базовом латинском алфавите , ROT13 является его собственной инверсией ; то есть для отмены ROT13 применяется тот же алгоритм , поэтому для кодирования и декодирования можно использовать одно и то же действие. Алгоритм практически не обеспечивает никакой криптографической безопасности и часто упоминается как канонический пример слабого шифрования . [1]

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

Описание

[ редактировать ]

Применение ROT13 к фрагменту текста просто требует изучения его буквенных символов и замены каждого из них на букву 13 дальше в алфавите , при необходимости возвращаясь к началу. [2] A становится N, B становится Oи так далее до M, который становится Z, то последовательность продолжается в начале алфавита: N становится A, O становится Bи так далее Z, который становится M. только те буквы, которые встречаются в английском алфавите Затрагиваются ; цифры, символы, знаки препинания, пробелы и все остальные символы остаются без изменений. Поскольку в английском алфавите 26 букв и 26 = 2 × 13, функция ROT13 является своей обратной : [2]

для любого базового текста на латинице x .

Другими словами, два последовательных применения ROT13 восстанавливают исходный текст (в математике это иногда называют инволюцией ; в криптографии — обратным шифром ).

Преобразование можно выполнить с помощью таблицы поиска , например следующей:

Вход ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Выход NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm

Например, в следующей шутке изюминка скрыта ROT13:

Почему курица перешла дорогу?
Gb trg gb гур bgure fvqr!

Преобразуя весь текст через форму ROT13, раскрывается ответ на шутку:

Июль qvq gur puvpxra pebff gur ebnq?
Чтобы попасть на другую сторону!

Второе применение ROT13 восстановит оригинал.

Использование

[ редактировать ]

ROT13 — это особый случай алгоритма шифрования , известного как шифр Цезаря , который использовал Юлий Цезарь в I веке до нашей эры. [3]

Иоганн Эрнст Элиас Бесслер , часовщик XVIII века и конструктор вечных двигателей , отметил, что ROT13 кодирует его фамилию как Орфир . он использовал латинизированную форму Орфиреус . В качестве псевдонима [4]

ROT13 использовался в группе новостей net.jokes в начале 1980-х годов. [а] Он используется, чтобы скрыть потенциально оскорбительные шутки или скрыть ответ на загадку или другой спойлер . [2] [7] [ ненадежный источник? ] Сдвиг тринадцать был выбран вместо других значений, таких как три, как в исходном шифре Цезаря , поскольку тринадцать — это значение, для которого кодирование и декодирование эквивалентны, что обеспечивает удобство использования одной команды для обоих. [7] ROT13 обычно поддерживается как встроенная функция программного обеспечения для чтения новостей. [7] Адреса электронной почты также иногда кодируются с помощью ROT13, чтобы скрыть их от менее сложных спам-ботов . [8] [ сомнительно обсудить ] Он также используется для обхода проверки электронной почты и фильтрации спама. Скрывая содержимое электронного письма, алгоритм проверки не может идентифицировать электронное письмо, например, как угрозу безопасности, и пропускает его в почтовый ящик получателя.

В зашифрованном обычном англоязычном тексте любого значительного размера ROT13 можно распознать по некоторым шаблонам букв/слов. Примерами могут служить слова «n», «V» (только с заглавной буквы), «gur» (ROT13 для «a», «I» и «the»), а также слова, оканчивающиеся на «yl» («ly»).

ROT13 не предназначен для использования там, где секретность имеет какое-либо значение — использование постоянного сдвига означает, что шифрование фактически не имеет ключа , а для дешифрования не требуется больше знаний, чем тот факт, что используется ROT13. Даже без этих знаний алгоритм легко взломать с помощью частотного анализа . [2] Из-за своей полной непригодности для обеспечения реальной секретности ROT13 стал крылатым выражением для обозначения любой явно слабой шифрования схемы ; критик может заявить, что «в наши дни 56-битный DES немногим лучше, чем ROT13». Кроме того, в игре с реальными терминами, такими как «двойной DES», термины «двойной ROT13», «ROT26» или «2ROT13» возникают с юмористическим намерением (из-за того, что, поскольку применение ROT13 к уже зашифрованному ROT13 text восстанавливает исходный открытый текст , ROT26 эквивалентен полному отсутствию шифрования), включая поддельную научную статью под названием «Об алгоритме шифрования 2ROT13». [9] В более широком смысле тройной ROT13 (используемый в шутливой аналогии с 3DES) эквивалентен обычному ROT13.

В декабре 1999 года было обнаружено, что Netscape Communicator использовал ROT13 как часть небезопасной схемы хранения паролей электронной почты. [10] В 2001 году российский программист Дмитрий Скляров продемонстрировал, что поставщик электронных книг New Paradigm Research Group (NPRG) использовал ROT13 для шифрования своих документов; Было высказано предположение, что NPRG могла принять игрушечный пример ROT13, поставляемый с Adobe eBook комплектом разработки программного обеспечения , за серьезную схему шифрования. [11] Windows XP использует ROT13 в некоторых разделах реестра. [12] ROT13 также используется в программе Fortune Unix для сокрытия потенциально оскорбительных высказываний .

Письменные игры и сетевая культура

[ редактировать ]
abcdefghijklmnopqrstuvwxyz
NOPQRSTUVWXYZABCDEFGHIJKLM
ahanunantnag
balkonyxbarone
barfonesbeor
binovaebbsroof
envyrailerre
errsreefflapsync
furshegeltry
gnattangirkvex
clerkpyrexpurelycheryl
PNGcatSHAfun
furbysheolterragreen
whatJungURLhey
purpuraChechenshoneFUBAR
AresNerfabjurernowhere

ROT13 предоставляет возможность игры с буквами. Некоторые слова при преобразовании с помощью ROT13 дадут другое слово. Примеры семибуквенных пар в английском языке : отрекающийся и нигде , а также чеченский и пурпурура . Другие примеры подобных слов приведены в таблице. [13] Пара комар и запах является примером слов, которые являются как обратными, так и обратными значениями ROT13.

В 1989 году на Международном конкурсе запутанного кода C (IOCCC) была представлена ​​работа Брайана Уэстли. Уэстли Компьютерная программа может быть закодирована в ROT13 или перевернута и при этом компилироваться правильно. Его операция при выполнении заключается либо в выполнении кодирования ROT13, либо в обратном направлении ввода. [14]

Группа новостей alt.folklore.urban придумала слово — фуррфу — которое было кодировкой ROT13 часто кодируемого высказывания « шиш ». " Furrfu«развился в середине 1992 года как ответ на сообщения, повторяющие городские мифы на alt.folklore.urban, после того, как некоторые плакаты жаловались, что «Боже!» в качестве ответа новичкам злоупотребляют. [15]

Варианты

[ редактировать ]

ROT5 — это практика, аналогичная ROT13, которая применяется к числовым цифрам (от 0 до 9). ROT13 и ROT5 могут использоваться вместе в одном сообщении, иногда называемом ROT18 (18 = 13 + 5) или ROT13.5.

ROT47 является производным от ROT13, который, помимо шифрования основных букв, обрабатывает цифры и общие символы. Вместо использования последовательности A–Z В качестве алфавита ROT47 использует больший набор символов из общей кодировки символов, известной как ASCII . В частности, 7-битные печатные символы, исключая пробел, из десятичных 33'. !'через 126' ~', всего 94, взятых в порядке числовых значений их кодов ASCII, повернуты на 47 позиций без специального учета регистра. Например, персонаж A отображается на p, пока a отображается на 2. Использование более крупного алфавита приводит к более тщательному запутыванию, чем в ROT13; например, номер телефона, например +1-415-839-6885 не очевидно на первый взгляд по зашифрованному результату Z'\c`d\gbh\eggd. С другой стороны, поскольку ROT47 вводит в смесь цифры и символы без различия, становится более очевидным, что текст был закодирован.

Пример:

The Quick Brown Fox Jumps Over The Lazy Dog.

шифрует в

%96 "F:4< qC@H? u@I yF>AD ~G6C %96 {2KJ s@8]

Библиотека GNU C , набор стандартных процедур, доступных для использования в компьютерном программировании , содержит функцию memfrob()[16] — который имеет то же назначение, что и ROT13, хотя предназначен для использования с произвольными двоичными данными. Функция работает путем объединения каждого байта с двоичным шаблоном 00101010 ( 42 ) с использованием исключающей операции или (XOR). Это приводит к простому шифру XOR . Как и ROT13, XOR (и, следовательно, memfrob()) является взаимообратным и обеспечивает аналогичный, практически отсутствующий, уровень безопасности.

Выполнение

[ редактировать ]

ROT13 и ROT47 довольно легко реализовать с помощью терминального приложения Unix. tr; чтобы зашифровать строку «Быстрая коричневая лиса прыгает через ленивую собаку» в ROT13:

$ # Map upper case A-Z to N-ZA-M and lower case a-z to n-za-m$ tr 'A-Za-z' 'N-ZA-Mn-za-m' <<< "The Quick Brown Fox Jumps Over The Lazy Dog"Gur Dhvpx Oebja Sbk Whzcf Bire Gur Ynml Qbt

и та же строка для ROT47:

$ echo "The Quick Brown Fox Jumps Over The Lazy Dog" | tr '\!-~' 'P-~\!-O'%96 "F:4< qC@H? u@I yF>AD ~G6C %96 {2KJ s@8

Эмакс и Вим

[ редактировать ]

В Emacs можно ROT13 буфера или выделения с помощью команд [17] M-x toggle-rot13-mode, M-x rot13-other-window, или M-x rot13-region.

В текстовом редакторе Vim можно повернуть буфер с помощью команды [18] ggg?G.

Модуль кодеки обеспечивают Преобразование текста «rot13» . [19]

>>> import codecs>>> print(codecs.encode('The Quick Brown Fox Jumps Over The Lazy Dog', 'rot13'))Gur Dhvpx Oebja Sbk Whzcf Bire Gur Ynml Qbt

Без импорта каких-либо библиотек это можно сделать в виде двухстрочного списка :

string = "Quartz glyph job vext cwm porshrop finks?!"for abcd in ["abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"]:	string = ''.join([abcd[(abcd.index(char) + 13) % 26] if char in abcd else char for char in string])print(string)# Dhnegm tylcu wbo irkg pjz cbefuebc svaxf?!

См. также

[ редактировать ]
  1. ^ Раннее использование ROT13, обнаруженное в архиве Google USENET, датируется 8 октября 1982 года и опубликовано на сайте net.jokes группа новостей. [5] [6]
  1. ^ Кристофер Свенсон (17 марта 2008 г.). Современный криптоанализ: методы расширенного взлома кода . Джон Уайли и сыновья. п. 5. ISBN  978-0-470-13593-8 . Архивировано из оригинала 24 июня 2016 года . Проверено 5 октября 2015 г.
  2. ^ Перейти обратно: а б с д Шнайер, Брюс (1996). Прикладная криптография (второе изд.). Джон Уайли и сыновья. стр. 11 . ISBN  0-471-11709-9 .
  3. ^ Кан, Дэвид . Взломщики кодов: история тайного письма . Нью-Йорк: Макмиллан. ISBN  0-684-83130-9 .
  4. ^ Симанек, Дональд Э. (2012). «Вечная тщетность: Краткая история поиска вечного двигателя» . Музей неисправных устройств . Архивировано из оригинала 10 октября 2020 года . Проверено 28 октября 2020 г.
  5. ^ desoto!gog (8 октября 1982 г.). "очень мягкая непристойная шутка, сдвиг=13" . Группа новостей : net.jokes .
  6. ^ utcsrgv!dave (8 октября 1982 г.). «зашифрованные шутки» . Группа новостей : net.jokes .
  7. ^ Перейти обратно: а б с Раймонд, Эрик С. , изд. (29 декабря 2003 г.). «РОТ13» . Файл жаргона, 4.4.7 . Архивировано из оригинала 13 января 2012 года . Проверено 19 сентября 2007 г.
  8. ^ Фернер, Мэтт (9 декабря 2010 г.). «Как скрыть адреса электронной почты от спам-ботов» . Практическая электронная коммерция. Архивировано из оригинала 8 мая 2016 года . Проверено 12 июня 2014 г.
  9. ^ «Об алгоритме шифрования 2ROT13» (PDF) . Prüfziffernberechnung in der Praxis. 25 сентября 2004 г. Архивировано (PDF) из оригинала 15 апреля 2012 г. . Проверено 20 сентября 2007 г.
  10. ^ Холлебек, Тим; Виега, Джон . «Плохая криптография в браузере Netscape: пример». CiteSeerX   10.1.1.15.9271 .
  11. ^ Перенс, Брюс (1 сентября 2001 г.). «Дмитрий Скляров: враг или друг?» . Новости ЗДНет . Архивировано из оригинала 17 октября 2014 года . Проверено 3 февраля 2011 г.
  12. ^ «ROT13 используется в Windows» . 24 июля 2006 г. Архивировано из оригинала 20 декабря 2016 г. Проверено 15 декабря 2016 г. .
  13. ^ Де Малдер, Том. «Слова ROT13» . Фуррфу! . Архивировано из оригинала 2 апреля 2012 года . Проверено 19 сентября 2007 г.
  14. ^ Уэстли, Брайан (1989). "Уэстли.с" . МОККЦ . Архивировано из оригинала 9 июня 2012 года . Проверено 13 августа 2007 г.
  15. ^ «Фуррфу» . Фолдок . 25 октября 1995 года. Архивировано из оригинала 14 июля 2014 года . Проверено 3 октября 2016 г.
  16. ^ «5.13 Запутывание данных» . Справочное руководство по библиотеке GNU C. Фонд свободного программного обеспечения . 3 декабря 2006 г. Архивировано из оригинала 2 августа 2019 г. Проверено 2 августа 2019 г.
  17. ^ «Rmail Rot13 - Руководство по GNU Emacs». Архивировано 24 марта 2016 г. на Wayback Machine . www.gnu.org .
  18. ^ «Лучшие советы по VIM, ключевые особенности gVIM zzapper» . www.rayninfo.co.uk . 3 марта 2016 г. Архивировано из оригинала 3 марта 2016 г.
  19. ^ «кодеки — реестр кодеков и базовые классы — документация Python 3.9.6» . www6.python.org . 2 ноября 2023 г. Архивировано из оригинала 6 октября 2020 г. Проверено 7 октября 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3cb186a875e2b4176833fdd1e68fe8f0__1720186740
URL1:https://arc.ask3.ru/arc/aa/3c/f0/3cb186a875e2b4176833fdd1e68fe8f0.html
Заголовок, (Title) документа по адресу, URL1:
ROT13 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)