跳转到内容

密码学/置换密码

来自维基教科书,自由的教科书,为自由的世界

在古典密码学中,置换密码是一种换位密码,其密钥为一个排列。

要应用密码,需要生成一个大小为 e 的随机排列(e 值越大,密码越安全)。然后将明文分成大小为 e 的段,并根据密钥对该段内的字母进行排列。

理论上,任何换位密码都可以看作一个置换密码,其中 e 等于明文的长度。然而,这种过于笼统的概括在实际应用中难以使用。

识别密码

[编辑 | 编辑源代码]

由于密码不会改变任何字符,因此密文的字母频率与底层明文完全相同。这意味着在许多情况下,可以通过密文的字母统计数据与底层语言的字母频率高度相似来识别该密码为换位密码。

破解密码

[编辑 | 编辑源代码]

(将本节移动到 "密码学/破解置换密码" ?)

由于密码对大小为 e 的块进行操作,因此明文和密文必须具有长度为e的倍数。这导致系统出现两个弱点:首先,明文可能需要填充(如果填充是可识别的,则密钥的一部分将被泄露);其次,密文的长度会泄露与密钥长度相关的信息。为此,请注意,如果密文的长度为 i,则 e 必须是 i 的除数之一。对于不同的可能的密钥大小,尝试不同的可能的排列,以找到导致底层语言的明文中出现最多的频繁双字母组和三字母组的排列。尝试找到这种排列本质上与分析列式换位密码时遇到的问题相同:多个字母重排.

进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书