破解维吉尼亚密码的复杂性
Posted
技术标签:
【中文标题】破解维吉尼亚密码的复杂性【英文标题】:Complexity of breaking Vigenère cipher 【发布时间】:2015-04-10 03:55:45 【问题描述】:所以我想知道解密由 n 个单词加密的 bt Vigenère 文本的时间复杂度是多少。
Vigenère 只是对每个字母应用不同的凯撒位移。 我知道对于凯撒密码来说它只是 O(n) 因为我们只是尝试所有不同的 25 班次。但是维吉尼亚呢?
【问题讨论】:
【参考方案1】:打破凯撒的转变是O(1)
,而不是O(n)
。字母的大小是恒定的。您只需要在给定密钥下对一小段密文进行解码,就可以知道您是否在正确的轨道上。
对于 Vigenere 的密码,您有重复移位的序列。在没有统计分析的情况下破解它的蛮力方法取决于密钥空间,对于长度为 k
的密钥,它是 O(26^k)
。由于统计分析对 Vigenere 密码非常有效,因此其实际强度远低于此时间限制所建议的强度。
【讨论】:
这里的凯撒密码的实现怎么样 --> github.com/a-p-jo/C5/blob/master/C5.c以上是关于破解维吉尼亚密码的复杂性的主要内容,如果未能解决你的问题,请参考以下文章