自动密钥密码解码器
使用已知密钥解密自动密钥密码消息,或使用密码分析工具破解未知密钥。包括字典攻击和暴力破解功能。
自动密钥解密的工作原理
使用已知种子密钥解密自动密钥密码很直接,但有一个重要特性:每个恢复的明文字母会立即成为解密下一个字符的密钥流的一部分。这产生了一种级联效应——单个错误会传播到整条剩余消息中。
使用种子"KEY"和密文"KXRAVD":
| 位置 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| 密文 | K | X | R | A | V | D |
| 密钥流 | K | E | Y | A* | T* | T* |
| 明文 | A | T | T | A | C | K |
标有 * 的位置显示恢复的明文字母被反馈到密钥流中。若第 1 位解密错误,所有后续位置也将出错。
在没有密钥的情况下解密
破解自动密钥密码需要与标准维吉尼亚密码分析不同的技术,因为密钥永远不会重复。Kasiski 检验和重合指数分析在这里无效。
字典攻击
最强大的方法利用了一个独特的漏洞:自然语言明文在种子之后直接出现在密钥流中。在各个位置测试常见英文词汇通常会产生可读的文本,每个正确的猜测都会级联揭示更多内容。
例如,若"THE"出现在明文的第 5 位,它也会出现在密钥流的第 5-7 位。对密文测试这个假设要么在后续位置产生合理的输出(确认猜测),要么产生乱码(排除它)。
可能词分析
若你怀疑消息包含特定词汇(名称、日期、技术术语),在各个位置测试它们。每个匹配都会揭示相邻的密钥流字符,可以进一步测试。即使是 3 个字符的匹配,通常也能级联揭示 8-10 个额外字符。
统计适合度评分
现代自动化分析根据预期的英文字母频率、双字母频率和常见词汇模式对候选解密进行评分。长度超过 100-150 个字符的消息能提供足够的统计依据,支持可靠的自动化破解。
使用估计密钥长度的暴力破解
若知道或能估计种子长度,系统地测试所有可能的种子值。解码器按语言适合度分数对结果排序,优先展示最可能的解答。对于最长约 6-8 个字符的种子,这种方法是可行的。
使用本解码器
- 在输入框输入密文
- 选择模式:已知密钥解密、字典攻击或暴力破解
- 设置参数,如估计的种子长度或可能的词汇
- 查看按置信度排序的结果
解码器在解密过程中可视化级联效应,显示每个恢复的明文字母如何反馈到后续位置的密钥流中。这个教育功能帮助你理解为什么自动密钥解密错误会传播,以及为什么自扩展机制同时产生优势和弱点。
常见问题
破解自动密钥密码需要多长的密文?
对于可靠的自动化解密,目标是至少 100-150 个字符。超过 200 个字符的消息通过字典攻击具有很高的成功率。非常短的消息(少于 50 个字符)通常需要额外的提示或上下文才能破解。
为什么自动密钥解密时错误会级联?
每个解密的字符成为下一个字符的密钥流的一部分。一个错误的解密产生一个错误的密钥字母,产生另一个错误的明文字母,再产生另一个错误的密钥字母,如此循环。这与维吉尼亚密码解密根本不同,后者的错误只影响单个位置。
什么使自动密钥密码容易受到字典攻击?
在种子关键词之后,密钥流完全由明文组成。由于明文是自然语言,它包含可预测的词汇和模式。在各个密钥流位置测试常见词汇直接利用了这一点,使自动密钥密码对这类攻击具有独特的脆弱性。
已知明文能破解自动密钥密码吗?
是的,而且非常有效。知道任何部分明文可以让你从那一点起重建密钥流,级联揭示消息的其余部分,甚至原始种子关键词。这使自动密钥密码对已知明文攻击特别脆弱。