2009-10-19 6 views
7

Rozumiem powody zarzutów i przeciw ROT13, ale zastanawiam się, dlaczego ludzie wybrali 13 miejsc do zmiany alfabetu? Rozumiem, że jest w połowie drogi, ale czy istnieje elegancki powód, by iść dalej, ale nie 12 lub 14 miejsc?Dlaczego 13 miejsc w ROT13?

Wydaje mi się, że sprawienie, by każda litera "tak daleko", jak to tylko możliwe, z pozycji początkowej ma znaczenie tylko dla człowieka, który może rozpoznać "bliskie" charaktery (choć wątpię, aby było to możliwe/prawdopodobne).

Ktoś zna odpowiedź na to pytanie?

+0

Dobre odpowiedzi; Musiałem wybrać tylko jedną. Dzięki! –

Odpowiedz

38

Ponieważ ma on dobrą właściwość bycia involutive, to znaczy ROT13 (ROT13 (alphaOnlyString)) = alphaOnlyString.

+4

13 to nie jedyny obrót z tą właściwością. ROT-26 również go ma. :-) –

12

Według Wikipedia:

Przesunięcie trzynastu został wybrany w stosunku do innych wartości, na przykład trzy, jak w pierwotnej Caesar szyfru, ponieważ trzynaście jest wartość, dla której kodowania i dekodowania są równoważne, w ten sposób pozwalając wygoda jednego polecenia dla obu.

7

Prawdopodobnie powoduje, że jest on odwrotny. Ten sam algorytm może być użyty do "szyfrowania", jak również "odszyfrowywania".

7

Ponieważ przesunięcie o 13 przesuwa znaki w połowie alfabetu (co daje 26 miejsc). Aby wrócić do zwykłego tekstu, wystarczy ponownie przesunąć 13 ruchów. W ten sposób nie musisz mieć oddzielnych funkcji do kodowania lub dekodowania, ponieważ ta sama operacja będzie kodowana lub dekodowana.

Powiązane problemy