破解维吉尼亚密码的复杂性

Complexity of breaking Vigenère cipher

所以我想知道破译一段由维吉尼亚比特币加密的n字文本的时间复杂度是多少。

Vigenère 只是对每个字母应用了不同的凯撒变换。 我知道对于凯撒密码它只是 O(n) 因为我们只是尝试所有不同的 25 班。但是 Vigenère 呢?

打破 Ceasar 的转变是 O(1),而不是 O(n)。字母表的大小是恒定的。您只需要在给定的密钥下解码一小段密文就可以知道您是否在正确的轨道上。

对于 Vigenere 的密码,你有一系列重复的移位。无需统计分析的暴力破解方法取决于密钥 space,对于长度为 k 的密钥,它是 O(26^k)。因为统计分析对 Vigenere 密码非常有效,它的实际强度比这个时间限制建议的要低得多。