2009-10-19 20 views
7

Capisco le ragioni a favore e contro ROT13, ma mi chiedo perché in particolare le persone hanno scelto 13 posti per spostare l'alfabeto? Capisco che è a metà strada, ma c'è un'elegante ragione per andare in un posto lontano, ma non in 12 o 14 spot?Perché 13 posti in ROT13?

Mi sembra che rendere ogni lettera "il più lontano possibile" dalla sua posizione di partenza sia significativa per un essere umano che potrebbe riconoscere i caratteri "vicini" (anche se dubito che ciò sia possibile/probabile).

Qualcuno sa la risposta a questo?

+0

Buone risposte a tutti; Dovevo sceglierne solo uno. Grazie! –

risposta

38

Perché ha la bella proprietà di essere involutive, vale a dire, ROT13 (ROT13 (alphaOnlyString)) = alphaOnlyString.

+4

13 non è l'unica rotazione con questa proprietà. ROT-26 ce l'ha anche. :-) –

12

Secondo Wikipedia:

Uno spostamento di tredici è stata scelta tra altri valori, come tre come nel cifrario originale Cesare, perché tredici è il valore per il quale la codifica e decodifica sono equivalenti, consentendo in tal modo la convenienza di un singolo comando per entrambi.

7

Probabilmente causa è il suo proprio inverso. Lo stesso algoritmo può essere utilizzato per "crittografia" e "decrittografia".

7

Perché lo spostamento di 13 sposta i caratteri a metà dell'alfabeto (che ha 26 posizioni). Quindi, per tornare al testo in chiaro, devi solo spostarlo di nuovo 13 volte. In questo modo, non è necessario disporre di funzioni separate per la codifica o la decodifica in quanto la stessa operazione verrà codificata o decodificata.