0Pricing
Cryptology Academy · 课时

Beaufort 与滚动密钥密码

探索维吉尼亚密码的变体,包括 Beaufort 密码和理论上无法破解的滚动密钥密码

Beaufort 与滚动密钥密码 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

博福特密码

博福特密码是维吉尼亚密码的一种变体,其加密公式有所不同。维吉尼亚密码计算 C = (P + K) 模 26,而博福特密码计算 C = (K - P) 模 26。

这一微小变化赋予博福特密码一个非凡的特性:它是自身的逆变换。同一密钥下执行同一操作即可完成加密和解密,这种密码被称为互逆密码。

博福特密码的互逆特性

由于在博福特密码中,加密和解密是同一个操作,因此这种密码被称为“自互逆”或“对合”。解密时,只需完整执行与加密时相同的流程。

这一特性在计算机出现之前的时代非常实用:军事操作员只需学习一个流程,而不必分别学习加密和解密流程,从而减少了培训时间和人为错误。

自动密钥密码

自动密钥密码解决了维吉尼亚密码中密钥重复的弱点。密钥以一个较短的初始关键词开头,随后将明文本身追加为后续密钥。

这意味着密钥与消息等长且不会重复。不过,它容易受到一种巧妙的攻击:如果您猜到一个明文单词,就可以测试它是否作为密钥片段出现,并系统地确认或否定猜测。

运行密钥密码概念

运行密钥密码进一步发展了自动密钥的思想,使用一段很长的预先约定文本(例如某本特定的书)作为密钥。密钥与消息等长,并且来自一个看似随机的来源。

发送方和接收方必须拥有同一份密钥文本,并约定起始位置。之后的加密过程与维吉尼亚密码完全相同,只是使用了不会重复的密钥。

运行密钥为何在理论上不可破解

如果运行密钥文本真正随机(本质上就是一次一密),运行密钥密码在信息论意义上是安全的。仅凭密文中的信息,不足以在没有密钥的情况下确定明文。

克劳德·香农证明了这一点:要使密码达到完美保密,密钥熵至少必须与消息熵一样大。与消息等长的真正随机密钥满足这一条件。

运行密钥的实际弱点

在实际中,书籍文本并不随机。它是具有自然语言全部统计模式的英语散文。攻击者可以尝试不同的书籍和起始位置,测试由此得到的密钥和明文是否都呈现自然语言特征。

这种“双文本”特性意味着明文和密钥都必须是有效语言,反而使运行密钥密码在实际中比更短但真正随机的密钥更加脆弱。

贝拉索与他的密码

乔万·巴蒂斯塔·贝拉索在 16 世纪 50 年代发表了多种多表代换密码设计。他的成果后来被误归于布莱斯·德·维热纳,导致维吉尼亚密码在历史上被错误命名。

贝拉索的密码设计包括一种互逆变体,预示了博福特密码的出现。他对多表代换密码学的贡献十分重大,尽管直到现代历史研究纠正了这一记录后,他才获得应有的认可。

多表代换密码与重合指数

多表代换密码使用多个替换字母表,并根据密钥在这些字母表之间轮换。这会使密文字母的频率分布趋于平坦,从而使简单的频率分析失效。

重合指数(IC)用于衡量频率分布的平坦程度。英语文本的 IC 约为 0.065,完全随机的替换结果的 IC 约为 0.038。多表代换密码的数值介于二者之间,具体取决于密钥长度。

用于确定密钥长度的弗里德曼测试

威廉·弗里德曼设计了一种统计测试,仅根据密文确定多表代换密码的密钥长度。通过分析每隔 n 个字符形成的子集的 IC,他可以识别密钥周期。

知道周期后,密码就会简化为多个彼此独立的简单替换,每个替换都可以通过频率分析求解。这种方法使维吉尼亚密码和博福特密码在实践中变得可以破解。

经典密码时代的终结

到 20 世纪初,从凯撒密码到维吉尼亚密码再到博福特密码,所有经典密码都已经通过频率分析、卡西斯基测试或弗里德曼 IC 方法被系统地破解。

机械密码机(恩尼格玛密码机、SIGABA)的出现,以及后来计算机的诞生,从根本上改变了密码学。经典密码不再是实用的安全机制,而成为历史趣闻和教学工具。

一次一密:理论上完美的密码

正确使用时,一次一密是唯一得到严格证明的完美密码。它要求密钥真正随机、与消息等长、仅使用一次,并且始终完全保密。

运行密钥密码近似于这一理想,但由于自然语言密钥并不随机而失败。以书籍文本为密钥的真正一次一密仍然容易受到攻击,因为密钥和明文都必须是自然英语,从而为密码分析提供了统计优势。

博福特密码测验

请检验您对博福特密码及其特性的了解。

要点:博福特密码与运行密钥

博福特密码是维吉尼亚密码的一种自互逆变体,使用同一密钥和算法即可完成加密与解密。运行密钥密码使用长文本作为密钥;如果密钥是随机的,它在理论上可以实现完美保密。

在实际中,自然语言密钥容易被利用。弗里德曼 IC 测试和卡西斯基分析可以确定多表代换密码的密钥长度,并将其简化为可以求解的简单替换。

常见问题解答

「Beaufort 与滚动密钥密码」课时是免费的吗?

是的 — 「Beaufort 与滚动密钥密码」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「Beaufort 与滚动密钥密码」这节课中我会学到什么?

探索维吉尼亚密码的变体,包括 Beaufort 密码和理论上无法破解的滚动密钥密码 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「Beaufort 与滚动密钥密码」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Playfair 密码
  2. ADFGVX 与分 fraction
  3. Beaufort 与滚动密钥密码
  4. Feistel 网络:现代密码的构建模块
← 返回 Cryptology Academy