自动密钥密码编码器

自动密钥密码是维吉尼亚密码的自密钥变体,明文本身会扩展加密密钥。每个明文字母成为后续字符的密钥一部分,从而消除使标准维吉尼亚密码容易受到 Kasiski 检验攻击的周期性模式。使用此免费工具可即时对自动密钥密码消息进行编码和解码,并自动扩展密钥。

结果
0 个字符

设置

关于自动密钥密码的常见问题

什么是自动密钥密码?

自动密钥密码是一种多表替换密码,使用明文消息本身来扩展加密密钥。与标准维吉尼亚密码重复一个短关键词不同,自动密钥密码将明文附加到关键词后,创建与消息等长的密钥。这消除了使维吉尼亚密码容易受到 Kasiski 检验的重复密钥模式。

自动密钥密码如何扩展其密钥?

密钥通过在初始关键词之后附加明文字母来扩展。例如,如果关键词是「KEY」,明文是「HELLO WORLD」,则完整密钥变为「KEYHELLOW」。每个明文字母加密后就成为后续字母的密钥一部分。这种自引用机制确保密钥永远不会以可预测的周期重复。

自动密钥密码与维吉尼亚密码有何不同?

自动密钥密码与维吉尼亚密码的区别在于密钥的生成方式。维吉尼亚密码反复重复固定的关键词,形成攻击者可以通过 Kasiski 检验或重合指数分析利用的周期性模式。自动密钥密码通过使用明文本身扩展密钥来消除这种周期性,产生不重复的密钥流,能够抵御标准维吉尼亚密码攻击。

如何使用自动密钥密码加密?

加密时,首先在明文之前写入关键词以形成完整密钥。然后,对每个明文字母,将其位置值与对应密钥字母的位置值相加取模 26,得到密文字母。例如,使用关键词「KEY」和明文「ATTACK」,密钥变为「KEYATT」。第一个字母 A(0)加 K(10)得到 K(10),以此类推。

如何破解自动密钥密码?

破解自动密钥密码需要猜测关键词长度,然后测试可能的关键词值。由于密钥不重复,标准的 Kasiski 检验失效。密码分析师转而尝试假定的关键词长度,并利用自引用属性来恢复明文片段。如果猜测的关键词段产生可读的明文,该明文会进一步扩展已知密钥,从而逐步解密整条消息。

谁发明了自动密钥密码?

自动密钥密码最早由 Giovan Battista Bellaso 于 1553 年描述,后来由 Blaise de Vigenere 在其 1586 年的著作《密码论》中加以改进。Vigenere 的版本使用明文本身来扩展密钥,这是对简单重复关键词的重大改进。讽刺的是,更简单的重复密钥密码如今被普遍称为「维吉尼亚密码」,而 Vigenere 真正更安全的发明则被称为自动密钥密码。

自动密钥密码比维吉尼亚密码更安全吗?

是的,自动密钥密码比标准维吉尼亚密码更安全。由于密钥不以固定周期重复,它不受 Kasiski 检验和重合指数攻击的影响,这些攻击方法很容易破解维吉尼亚密码。然而,自动密钥密码仍然容易受到已知明文攻击和其他高级密码分析方法的影响。它不适合现代安全应用,但代表了多表密码设计历史上的重要进步。

什么是自动密钥密码?

自动密钥密码(Autokey Cipher,有时也搜索为"auto cipher")是一种多表替换密码,解决了标准维吉尼亚密码的最大弱点:重复密钥问题。与其反复循环一个短关键词不同,自动密钥密码使用明文本身来扩展加密密钥,产生一个永远不会以可预测模式重复的密钥流。

这一概念由乔万·巴蒂斯塔·贝拉索(Giovan Battista Bellaso)于 1553 年首次描述,后由布莱兹·德·维吉尼亚(Blaise de Vigenere)在其 1586 年著作《密码论》(Traicte des Chiffres)中进一步完善。具有讽刺意味的是,今天通常被称为"维吉尼亚密码"的是更简单的重复密钥版本,而维吉尼亚真正更安全的发明却被称为自动密钥密码。

自动密钥密码的工作原理

加密过程将一个短种子关键词与明文结合,构建一个不重复的密钥流:

  1. 写下种子关键词作为密钥流的开头
  2. 在种子后追加明文字母以填充剩余的密钥
  3. 加密每个字母:将明文字母的值与对应密钥字母的值相加,模 26

示例演练

下面每个结果都与本页编码器的输出一致。只有字母参与加密;编码器默认会去掉输出中的空格(打开"保留空格"即可保留)。

示例 1:用种子 KEY 加密 ATTACK

使用种子关键词"KEY"和明文"ATTACK":

位置123456
明文ATTACK
密钥流KEYATT
密文KXRAVD

注意密钥流的第 4-6 位如何使用来自第 1-3 位的明文字母 A、T、T。这种自引用机制意味着每条消息都生成一个唯一的、不重复的密钥。

示例 2:用种子 CIPHER 加密更长的消息
明文:    A T T A C K A T D A W N
密钥流:  C I P H E R A T T A C K
密文:    C B I H G B A M W A Y X

密钥流由种子 CIPHER 加上明文的前六个字母 ATTACK 组成,ATTACKATDAWN 加密后是 CBIHGBAMWAYX。

示例 3:解密——密钥边解边长

用种子 CIPHER 解密 CBIHGBAMWAYX 时,逐位减去密钥字母(结果为负就加 26)。前六个字母用种子解出 ATTACK,例如 B(1) − I(8) = −7,−7 + 26 = 19,对应 T。解出的每个字母随即成为后面的密钥字母,所以后半段用 ATTACK 来解:M(12) − T(19) = −7 → T,W(22) − T(19) = 3 → D,依此类推,最终得到 ATTACKATDAWN。没有种子,开头几个字母就解不出来,而后面的一切又都依赖它们。

示例 4:同一个密钥,自动密钥与维吉尼亚对比

明文 ATTACKATDAWN,密钥 KEY:

密码密钥流密文
维吉尼亚KEYKEYKEYKEYKXRKGIKXBKAL
自动密钥KEYATTACKATDKXRAVDAVNAPQ

维吉尼亚密文中,KX 在第 1–2 位出现后,又在第 7–8 位重复出现,因为明文 AT 在六个字母之后再次出现(恰好是密钥长度的整数倍)。自动密钥的密钥流从不循环,这种暴露线索的重复也就消失了。

示例 5:错一个字母,错误会一路传下去

把 CBIHGBAMWAYX 的第三个字母从 I 改成 J,再用 CIPHER 解密,结果是 ATUACKATCAWN:第 3 个字母错了,而这个错字母随后又被当作密钥字母使用,于是六位之后(正好是种子长度)的第 9 个字母也跟着出错。消息更长的话,这个错误会每隔六个字母重复出现一次。

明文自动密钥与密文自动密钥

这种密码有两个历史变体:

  • 明文自动密钥(标准形式):密钥流使用明文字符扩展。这是维吉尼亚的原始设计,也是本工具实现的版本。
  • 密文自动密钥:密钥流改用密文字符扩展。这个变体具有不同的安全特性和错误传播行为。

两者都消除了重复密钥模式,但明文自动密钥在密码学课程中更被广泛研究和讲授。

自动密钥密码与维吉尼亚密码的比较

特性自动密钥密码维吉尼亚密码博福特密码
密钥机制种子 + 明文扩展重复关键词重复关键词(互反)
密钥是否重复?否是是
Kasiski 检验无效有效攻击有效攻击
基于重合指数的密钥长度分析无效有效攻击有效攻击
已知明文攻击的脆弱性高(级联揭示密钥)中中
字典攻击的脆弱性高(明文在密钥流中)低低

自动密钥密码的关键优势是对 Kasiski 检验和重合指数分析的免疫性——这是攻击标准维吉尼亚密码的两种主要方法。然而,密钥流中自然语言的存在产生了不同的脆弱性:对密钥流各位置测试常见词汇的字典攻击。

如何使用本工具

  1. 在密钥字段输入种子关键词。即使是短种子(3-6 个字符)也能很好地工作,因为明文会自动扩展它。
  2. 在输入字段输入或粘贴消息。工具会实时显示密钥流的构建过程。
  3. 观察可视化,了解每个明文字母是如何成为后续字符的密钥的一部分。
  4. 使用复制按钮复制结果。

用模式选择器在加密和解密之间切换。本工具只实现明文自动密钥:种子关键词用完后,密钥流接着使用明文字母。上文的密文自动密钥仅作对比介绍,工具中没有这个选项。

常见问题

自动密钥密码与维吉尼亚密码有什么区别?

维吉尼亚密码在整个消息中重复一个固定的关键词(如"KEYKEYKEYKEY"),产生周期性模式。自动密钥密码使用明文本身来扩展种子密钥(如"KEYATTACK…"),消除了重复。这使自动密钥密码对 Kasiski 检验——攻击维吉尼亚密码的主要方法——具有免疫性。

如何破解自动密钥密码?

由于密钥不重复,标准维吉尼亚密码攻击方法无效。相反,密码分析师使用字典攻击,在密钥流的各个位置测试常见词汇。当一个猜测的词产生可读的明文时,该明文会进一步扩展已知密钥,级联揭示整条消息。我们的自动密钥解码器可自动化这一过程。

自动密钥密码比维吉尼亚密码更安全吗?

是的,针对破解维吉尼亚密码的特定攻击(Kasiski 检验、重合指数分析)而言。然而,自动密钥密码容易受到利用密钥流中自然语言模式的已知明文攻击和字典攻击。两种密码都不适合现代安全应用。

什么样的种子关键词比较好?

选择一个 6-10 个随机字符、避免字典词汇的种子。种子在明文字符接管密钥流之前提供初始保护。较长的种子会略微增加安全性,但并非严格必要,因为自动密钥机制会自动处理扩展。

自动密钥密码实际上是谁发明的?

乔万·巴蒂斯塔·贝拉索于 1553 年首次描述了这一概念。布莱兹·德·维吉尼亚在其 1586 年《密码论》中进一步完善,特别提出明文本身应该扩展密钥。"自动密钥"这个名称(意为"自扩展")反映了这种自我延伸的特性。

相关工具与资源