7

我理解支持和反对 ROT13 的原因,但我想知道为什么人们特别选择了 13 个地方来改变字母表?我知道它已经完成了一半,但是有一个优雅的理由去 - 那 - 远,但不是 12 或 14 个点?

在我看来,让每个字母从其起始位置“尽可能远”仅对可能识别“接近”字符的人有意义(尽管我怀疑这是可能的/可能的)。

有人知道这个问题的答案吗?

4

4 回答 4

38

因为它具有内合性的好特性,也就是说,ROT13(ROT13(alphaOnlyString)) = alphaOnlyString。

于 2009-10-19T15:56:51.153 回答
12

根据维基百科:

选择了 13 的移位而不是其他值,例如原始凯撒密码中的 3,因为 13 是编码和解码等效的值,从而允许对两者使用单个命令的便利。

于 2009-10-19T15:57:30.907 回答
7

可能是因为它是它自己的倒数。相同的算法可用于“加密”和“解密”。

于 2009-10-19T15:58:10.027 回答
7

因为移动 13 位会将字符移动到字母表的一半(有 26 个位置)。因此,要回到明文,您只需再次移动 13 步即可。这样,您不必有单独的编码或解码函数,因为相同的操作将是编码或解码。

于 2009-10-19T15:59:30.193 回答