为什么ROT13有13个位置?

7
我理解 ROT13 的利弊,但我想知道为什么人们选择将字母表向后移动 13 位?我知道这是一半的位置,但是有没有更优雅的原因选择这么远,而不是 12 或 14 个位置?
在我看来,让每个字母与其起始位置“尽可能远”似乎只对可能认出“相似”字符的人有意义(虽然我怀疑这是可能/可行的)。
有人知道答案吗?

好的回答很多,我只能挑选一个。谢谢! - Alex Mcp
4个回答

38

因为它具有漂亮的属性,即自反性,也就是说,ROT13(ROT13(alphaOnlyString)) = alphaOnlyString。


4
有这种特性的旋转并不仅限于 ROT-13,ROT-26 也有。 :-) - R.. GitHub STOP HELPING ICE

12
根据维基百科的说法:
选择十三位移而不是其他值,例如最初的凯撒密码中的三位移,因为十三是编码和解码等价的值,从而允许使用单个命令同时完成两者,这样更加方便。

7

可能是因为它本身就是自反的。同样的算法既可以用于“加密”也可以用于“解密”。


7

将字符移动13个位置,相当于在26个字母的字母表中向后移动一半。因此,只需再次移动13个位置即可回到纯文本。这样,你就不必为编码或解码编写单独的函数,因为同一操作既可以是编码也可以是解码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接