博福特密码

博福特密码是一种自互反的多表替换密码,加密和解密使用同一操作。它由弗朗西斯·博福特海军上将创建,采用公式 C = (K - P) mod 26,并配合重复关键词使用,因此用相同密钥再次加密就能恢复原文。你可以用这个免费在线工具使用任意关键词加密和解密博福特密码消息。

自互反- 加密和解密使用相同操作
结果
0 字符
中等

适合一般学习和练习使用

关于博福特密码的常见问题

什么是博福特密码?

一种自互反的多表替换密码。博福特密码由弗朗西斯·博福特海军上将创建,是维吉尼亚密码的一个变体。它的核心特点是使用公式 C = (K - P) mod 26,既能加密也能解密,因此无需分别实现编码和解码流程,特别适合海军通信。

博福特密码与维吉尼亚密码有什么不同?

博福特是从密钥中减去明文,而不是相加。维吉尼亚加密使用 C = (P + K) mod 26,解密使用 P = (C - K) mod 26,因此需要两种不同操作。博福特则对加密和解密都使用 C = (K - P) mod 26,因此具有自互反性。同样的明文和密钥会产生不同的密文,并形成镜像式的表格。

为什么博福特密码叫做“互反”密码?

因为再次对密文应用同一算法就能恢复明文。使用相同关键词对已加密文本再执行博福特运算,就会得到原始消息。从数学上讲,公式 C = (K - P) mod 26 连续应用两次会回到原值。这意味着不存在单独的解密步骤,单一算法会自动反向。

是谁发明了博福特密码?

弗朗西斯·博福特海军上将(1774-1857),英国皇家海军军官。他最著名的是博福特风力等级。博福特在服役期间为安全海军通信开发了这种密码,也担任过海军水文学家,并在航海和测绘方面做出了重要贡献。

如何使用博福特密码加密?

对每个明文字母减去对应的密钥字母,再对 26 取模。先选择一个关键词并重复到和消息一样长。对每个位置,将两个字母转成数字(A=0, B=1, … Z=25),计算 (key - plaintext) mod 26,再转回字母。例如,密钥字母 K(10) 与明文字母 H(7):(10 - 7) mod 26 = 3 = D。

博福特密码安全吗?

不安全,它和维吉尼亚密码一样容易受到攻击。Kasiski 检验可以通过查找重复密文片段来确定关键词长度。一旦知道密钥长度,就可以对每一列做频率分析,恢复各个密钥字母。现代计算机几秒钟就能自动完成这些步骤。博福特密码只适合教学或谜题,不适合保护敏感数据。

博福特密码的公式是什么?

加密和解密都使用公式 C = (K - P) mod 26。C 表示密文字母,K 表示密钥字母,P 表示明文字母,都会先转换为 0-25 的数字。这个公式之所以能同时处理两个方向,是因为“从密钥中相减”本身就是逆操作。相比之下,维吉尼亚需要两个公式:C = (P + K) mod 26 用于加密,P = (C - K) mod 26 用于解密。

什么是博福特密码?

博福特密码(Beaufort Cipher)是由海军上将弗朗西斯·博福特爵士(1774-1857)创造的多表替换密码,他是皇家海军军官,以博福特风力等级而闻名。与大多数古典密码不同,它具有自反性——相同的操作同时执行加密和解密,使其在野战通信中具有独特的实用价值。

博福特密码与维吉尼亚密码密切相关,但有一个关键区别:博福特密码从密钥中减去明文,而非将明文加上密钥。这种反转产生了一种自逆变换,消除了对独立编解码程序的需求。

博福特密码公式

核心公式简单直接:

加密与解密: C = (K - P) mod 26

其中:

  • P 是明文字母值(A=0,B=1,……,Z=25)
  • K 是密钥字母值
  • C 是密文字母值

由于 (K - (K - P)) mod 26 = P,用相同密钥对公式应用两次可以恢复原始消息。这种数学对称性正是密码自反性的来源。

如何使用本博福特密码工具

  1. 输入消息
  2. 选择关键词,它将在消息长度上重复
  3. 实时查看结果——加密即时进行
  4. 一键复制输出

要解密,只需用相同的密钥将密文输入同一工具。自反性意味着无需独立的解码器,尽管我们专用的博福特密码解码器提供了额外的分析功能(如置信度评分)。

博福特密码与维吉尼亚密码的比较

两种密码共享相同的表格结构(tabula recta),但遍历方式不同:

特性博福特密码维吉尼亚密码
加密公式C = (K - P) mod 26C = (P + K) mod 26
解密公式P = (K - C) mod 26(与加密相同)P = (C - K) mod 26
自反性
是否需要独立解密程序不需要需要
tabula recta 遍历列到行行到列
命名来源弗朗西斯·博福特爵士布莱兹·德·维吉尼亚

两种密码都容易受到相同的密码分析攻击——Kasiski 检验和频率分析——因为它们共享相同的底层多表替换结构。

数学基础

自反性来源于直接的代数恒等式。若 C = (K - P) mod 26,则对 C 应用相同操作得到:

(K - C) mod 26 = (K - (K - P)) mod 26 = P

这意味着加密是其自身的逆运算。相比之下,维吉尼亚密码加密时需要加法,解密时需要减法——两种不同的操作。

博福特密码也可以通过其与变体博福特密码的关系来理解,后者使用 C = (P - K) mod 26。标准博福特密码保持自反性,而变体则不具备此特性。

博福特密码的历史

弗朗西斯·博福特海军上将爵士从 1829 年到 1855 年担任皇家海军水文学家。虽然他最出名的是创建了今天气象学中仍在使用的博福特风力等级,但他也为安全海军通信开发了这种密码。

在军事环境中,这种密码因为操作员只需学习一种程序而具有实用价值。在电子加密出现之前的时代,这种简洁性减少了野战中的错误。波尔塔密码具有类似的自反性,表明 19 世纪的密码学家在安全性之外也重视操作简便性。

安全性分析

按现代标准,博福特密码不安全。它与维吉尼亚密码共享所有漏洞:

  • Kasiski 检验通过寻找重复密文序列揭示密钥长度
  • 频率分析(在已知密钥长度后对每列进行)暴露各个密钥字母
  • 重合指数提供统计方法确定密钥长度
  • 现代计算机可在数秒内自动化完成整个攻击过程

这种密码只应用于教育、谜题或历史研究——绝不用于保护敏感数据。

常见问题

如何用博福特密码加密?

将每个明文字母从对应的密钥字母中减去(模 26)。选择一个关键词并重复以匹配消息长度。对每个位置,将两个字母转换为数字(A=0 到 Z=25),计算(密钥 - 明文)mod 26,然后转换回字母。例如,密钥字母 K(10)和明文 H(7):(10 - 7) mod 26 = 3 = D。

为什么叫互反密码?

因为用相同的密钥加密密文可以恢复明文。两次应用 C = (K - P) mod 26 是一个恒等操作——密码在没有独立解密算法的情况下自我逆转。

博福特密码与变体博福特有何不同?

标准博福特使用 C = (K - P) mod 26,具有自反性。变体博福特使用 C = (P - K) mod 26,不具备自反性,需要不同的解密公式,其行为更像反向维吉尼亚密码。

博福特密码能被自动破解吗?

是的。破解维吉尼亚密码的相同技术——Kasiski 检验、频率分析和重合指数——对博福特密码同样有效。有了足够的密文,自动化工具可以确定密钥长度和密钥本身。

相关工具与资源