【问题标题】:Why 13 places in ROT13?为什么ROT13中有13个地方?
【发布时间】:2009-10-19 15:54:43
【问题描述】:

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

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

有人知道答案吗?

【问题讨论】:

  • 好答案;我只得选一个。谢谢!

标签: language-agnostic rot13


【解决方案1】:

因为它有involutive的好属性,也就是说,ROT13(ROT13(alphaOnlyString)) = alphaOnlyString。

【讨论】:

  • 13 不是具有此属性的唯一轮换。 ROT-26 也有。 :-)
【解决方案2】:

根据*:

选择了 13 的移位而不是其他值,例如原始凯撒密码中的 3,因为 13 是编码和解码等价的值,因此可以方便地使用单个命令。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】: