- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现代密码学理论与实践02 - 古典密码
* 下面以维吉尼亚密码为例来说明多表代换密码的分析方法。 维吉尼亚密码的特点: 用给定的m个字母表周期性地对明文字母加密; 当两个相同的明文段间隔的字母数为m的整数倍时,将加密成相同的密文段; 假设密文中出现两个相同的段落,对应的明文段不一定相同,但相同的可能性很大。 * 考虑下面一个维吉尼亚密码的简单例子: 明文:uests addit ional testq 密钥:EXTEL EXTEL EXTEL EXTEL 密文:KTBLT EUQWS WJGEA LTBLV 距离为15,正好是m=5的整数倍 出现这种情况反映了如下事实: 两个相同的明文段间隔距离是m的整数倍时,将被加密成相同的密文段 * Kasiski测试法 Kasiski的测试过程如下: 搜索长度至少为3的相同的密文段,记下它们距离最前面密文段的距离。 m可能就是这些距离的最大公约数的因子。 * 重合指数法 假设一个含有n个字母的串,从中任取两个字母,共有多少种方法? 假设f0,f1,…,f25分别表示A,B,…,Z在串中出现的次数。从该串中任取两个字母,如果它俩都等于第i个字母的话,共有多少种方法? C 2 fi * 那么,从该串中任取两个字母,它俩相等的概率是多少? Ic(x)就称作重合指数(x表示该字符串) * 字母 出现频率 字母 出现频率 a 0.082 n 0.067 b 0.015 o 0.075 c 0.028 p 0.019 d 0.043 q 0.001 e 0.127 r 0.060 f 0.022 s 0.063 g 0.020 t 0.091 h 0.061 u 0.028 i 0.070 v 0.010 j 0.002 w 0.023 k 0.008 x 0.001 l 0.040 y 0.020 m 0.024 z 0.001 表中字母出现频率为字母出现次数除以文本字母总数 * 假设x是有意义的英语文本串,a,b,…,c在上表中的“出现概率”分别为p0,p1,…,p25,那么其重合指数为 * 假设我们得到一个维吉尼亚密文串y=y1y2…yn。将y分割成m行。 如果Kasiski测试法猜测的m就是密钥长度的话,每一行的重合指数将大约是0.065。若与0.065差的较大,那说明猜测错误。 因为:每一行的密文字符都是用同一个密钥字符加密的,因此它们的统计频率与明文的相同 * 举例 * Kasiski测试法: CHR出现位置为1、166、236、276和286 相对于第一个CHR的距离分别为 165、235、275、285 它们的最大公约数是5,所以猜测m=5 重合指数法: 将密文串分成5行,分别统计各字母出现的次数,然后计算各行的重合指数为 0.063、0.068、0.069、0.061、0.072 都与0.065接近,因此密钥长度是5的可能性极大。 * 本章需要掌握和了解的内容 掌握周期置换密码、移位密码、单表代换密码、维吉尼亚密码的工作原理和密钥空间大小 理解单表代换密码的破译原理 了解Kasiski测试法、重合指数法的原理 * * * * * Enigma的工作原理(续) 这些转轮被称作转子。 为了实现复杂的多表代换,打破明文与密文之间固定的代换关系,在每次击键输出密文字母后,转子都要发生转动。 以此改变相邻转子之间的对应关系,从而实现复杂的多表代换功能。 实际上,转子的初始设置就是密钥 * Enigma的工作原理(续) 对于3个转子的情况(德国国防军版),根据每个轮子转动快慢不同,分为慢转子、中转子和快转子 快转子转动26次后,中转子就转动一个位置;中转子转动26次后,慢转子就转动一个位置。 在加密(或解密)263 =17,576个字母后,所有转子就会恢复到初始状态。 有n个转轮的转轮机是一个周期长度为26n 的多表代换密码。 另外,还利用键盘和第一个转子之间的连接板实现的简单代换,以增加输出的复杂性来对抗穷举攻击。 ABCDEFGHIJKLMNOPQRSTUVWXYZ 2425260102030405060708091011121314151617181920212223 2103150119101426200816072204110517091223180225062413 2601020304050607080910111213141516171819202122232425 2001060415031412230516022219111825241307100821092617 2601020304050607080910111213141516171819202122232425 1408182617202210031311042305240912251619
文档评论(0)