- 论坛徽章:
- 8
|
即便是按1940年代的密码学水平来说,破解起来也没什么难度。
拿难度最大的、仅知道密文其他一无所知的情况来举例。
首先,收集大量密文,观察有无规律——比如如果信件抬头总是两个空格的话,那么密文前两个字符就必然是固定的;于是就可以知道你用的是简单的循环替换算法。
即使没有这种低级错误,按简单循环替换算法尝试破解也是必然手续,只是可能需要多花一点时间而已。
然后,如果你用的是简单的循环替换算法,那么这个循环节(也就是密码)的长度是多少?
这可以通过相同字符组合的出现规律大致揣摩出来。
比如,英文中ing出现的频率较高,假设它某次被加密为xyx,那么通过查找所有的xyx,它们之间的距离就暴露了密钥串的长度(xyx间的距离一定会是这个长度的整倍数)。
得到可能密钥串的长度n后,将密文的第i+n*x (i,x,n都是正整数n> i > 0, x = 0, 1, 2)个字符取出,得到m1,m2.。。。mi等n个子集;然后统计每个子集中各个字符的出现频率,因为英文中各个字母的出现频率并不相等,那么就可以根据这个统计知识很快猜出原文内容。
于是,这个加密就在除了密文外不知道任何信息的情况下被轻松破解了。
如果稍微多知道一点点东西,那么也许就可以立刻写出密码。
[ 本帖最后由 shan_ghost 于 2009-2-26 16:06 编辑 ] |
|