2009-10-19 3 views
7

Я понимаю причины и против ROT13, но мне интересно, почему именно люди выбрали 13 мест для смены алфавита? Я понимаю, что это на полпути, но есть ли изящная причина - да, но не 12 или 14 пятен?Почему 13 мест в ROT13?

Мне кажется, что каждое письмо «как можно дальше» от его исходного положения имеет смысл только для человека, который может распознать «близких» персонажей (хотя я сомневаюсь, что это возможно/вероятно).

Кто-нибудь знает ответ на этот вопрос?

+0

Хорошие ответы на все; Я должен был выбрать только один. Благодаря! –

ответ

38

Потому что он обладает хорошим свойством быть involutive, то есть ROT13 (ROT13 (alphaOnlyString)) = alphaOnlyString.

+4

13 - это не единственное вращение с этим свойством. ROT-26 также имеет его. :-) –

12

Согласно Википедии:

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

7

Возможно, это его собственный инверсный. Один и тот же алгоритм может использоваться для «шифрования», а также «дешифрования».

7

Поскольку сдвиг на 13 перемещает символы наполовину вокруг алфавита (который имеет 26 мест). Итак, чтобы вернуться к открытому тексту, вам нужно только сдвинуть его на 13 ходов. Таким образом, вам не нужно иметь отдельные функции для кодирования или декодирования, потому что одна и та же операция будет кодироваться или декодироваться.

Смежные вопросы