资源描述:
《2.5_多表代替密码的分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章第二章古典密码学古典密码学第五节多表代替密码的分析1第二章第二章古典密码学古典密码学在多表代替密码中,相同的明文字母也许加在多表代替密码中,相同的明文字母也许加单表代替密码之所以容易被攻击,是因为除密成不同的密文字母,而相同的密文字母也密成不同的密文字母,而相同的密文字母也了字母的名称改变以外,特性没有发生变化。许是不同的明文字母加密得到的。许是不同的明文字母加密得到的。明文的统计特性通过多个表的作用而被隐蔽起来对于周期多表代替密码,假如对于周期多表代替密码,假如我们已知其密钥字长为我们已知其密钥字长为dd,则,则可将密文
2、按列写成可将密文按列写成dd行。行。2第二章第二章古典密码学古典密码学ccc,,,......11dd++21ccc,,,......22dd++22(2.21)..............................ccc,,,.........ddd23这样,(2.21)中每一行又都是单表代替密码。由于单表代替密码是可破译的,所以在具有一定量的密文的条件下,周期多表代替密码也是可破译的,其方法就是将周期多表代替密码转换成单表代替密码进行破译。3第二章第二章古典密码学古典密码学这么简单就解决了吗???经过这种转换后的单表代
3、替密码的破译比破译一般的单表代替密码要难得多!这是因为每一行虽然是由同一个代替表加密而成的,但其明文却不是有意义的明文,其文字跟随规律被打乱。下面,我们首先要给出识别周期多表代替密码和确定密钥字长度d(即确定密钥数)的方法。4第二章第二章古典密码学古典密码学识别周期多表代替密码的参数统计一个周期多表代替密码加密的密文中各密文字母出现的频率就会发现,密文字母出现的频率分布的峰值和谷值(即最大的频率和最小的频率)没有明文字母的概率分布那样凸现,而且密钥字越长,分布就越平坦。5第二章第二章古典密码学古典密码学多表代替密码的密文字母出现
4、的频率之所以有较平坦的分布是因为在d个代替表中,明文字母表中每个字母将根据它在明文字母序列中的位置而有d种不同的代替字母。这就是说,一个密文字母出现的频率将由与之对应的六个不同的明文字母的概率之和的均值来决定。6第二章第二章古典密码学古典密码学因此,所用密表的数量越大,密文字母的频率分布就越趋平坦。如果把所有26个密表都用上,则可期望所有密文字母的频率近似于相等。为了定量地分析周期多表代替密码的频率分布与单表代替密码的概率分布的区别,我们引进两个参数—-粗糙度和重合指数。7第二章第二章古典密码学古典密码学粗糙度粗糙度也可简记为M
5、.R,定义它为每个密文字母出现的频率与均匀分布时每个字母出现的概率的离差的平方和。8第二章第二章古典密码学古典密码学若研究的对象是英文报文,则q=26。在均匀分布下,每个英文字母出现的概率为1/26。若各密文字母出现的频率记为p,i=0,1,2,...,25;则i25∑pi=1(2.22)i=09第二章第二章古典密码学古典密码学于是2512MR.()=−∑pi(2.23)i=026将上式展开并利用(2.22)式,得到2512522MR.=−∑∑pii=−p0.0385(2.24)ii==002610第二章第二章古典密码学古典密码
6、学均匀分布是指对所有的i,p=1/26,故其粗i糙度为0。由表2.1(P12)可以算出252∑pi=0.0655i=0由此可知,明文或单表代替密码的粗糙度为0.027。11第二章第二章古典密码学古典密码学一般密文的粗糙度将在0~0.027之间变化。如果我们统计出密文字母的频率分布,我们就可以计算出它的粗糙度,并由此可以初步确定所研究的密文是单表代替密码还是多表代替密码,但还不能确切地知道该多表代替密码所使用的密表的个数。12第二章第二章古典密码学古典密码学例2.9假定我们要破译的密文为APWVCDKPAKBCECYWXBBKCY
7、VSEFVTLVMXGRGKKGFDLRLXKTFVKHSAGUKYEXSRSIQTWJXVFLLALUIKYABZXGRKLBAFSJCCMJTZDGSTAHBJMMLGFZRPZIJXPVGUOJXHLPUMVMCKYEXSRSIQKCWMCKFLQJFWJRHSWLOXYPVKMHYCTAWEJVQDPAVVKFLKGFDLRLZKIWTIBSXGRTPLLAMHFROMEMVZQZGKMSDFHATXSEELVWKOCJFQFLHRJSMVMVIMBOZHIKROMUHIERYG13第二章第二章古典密码学古典密码学密文的
8、频率分布是:字母012345678频率0.0410.030.0410.0220.0370.0490.0440.0370.034字母91011121314151617频率0.0410.0740.0670.0600.0220.030.0220.049字母181920