密码破译 联系客服

发布时间 : 星期一 文章密码破译更新完毕开始阅读d6f5788ca26925c52dc5bf39

10.单表替代密码

替代是古典密码中用到的最基本的处理技巧之一 。

替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。

根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多表替代密码。

单表替代密码的密码算法加解密时使用一个固定的替换表。单表替代密码又可分为一般单表替代密码、移位密码、仿射密码、密钥短语密码。 这里讲单表替代密码的直接攻击。

对于自然语言,如果取一本非专业书籍,统计足够长的课文就会发现,字母(或字符)出现的频率会反映出相应语言的统计特性。统计大量的课文定会发现,相应语言中每个字母在相应语言中出现的概率。于是便得到该语言字母表上的一个概率分布。 一、英文字母

一由独立试验产生明文单码,Beker在1982年统计的样本总数为100 362,得到单码的概率分布见下表:

29

根据上表,英文字母出现的概率按大小排列如下:

E T A O I N S H R D L C U M W F G Y P B V K J X Q Z

在上表中,不少字母出现的概率近乎相等。为了应用方便,常将英文字母表按字母出现的概率大小分类,分类情况见下表:

-------------------------- 极高频 E

次高频 T A O I N S H R 中等频 D L

低频 C U M W F G Y P B 甚低频 V K J X Q Z --------------------------

其它语言和数据也有类似于英语语言的单字母统计特性。如果我们随意统计一段足够长的英文课文,只要内容不是太特殊,其结果一定和上表基本相同。这表明英文的一篇文章中各个字母出现的概率是基本可预测的,它将为密码分析提供一个方面的依据。

30

语言的单字母统计特性至少在以下两个方面没有反映出英文语言的特征: ⑴根据英文的单字母统计特性可以计算出双字母QE出现的概率为p(QE)=0.00095×0.12702≈1.21×10^(-4)

这就是说,在10^6个双字母的抽样中,QE出现的次数大约应为121次,但这不符合英文课文的实际。因为在英文课文中,QE根本不出现。

⑵四字母SEND和SEDN在单字母统计特性下出现的概率相等,这也不符合英文的实际。总之,自然语言的单字母统计特性只反映了单字母出现的概率,而没有反映该种语言文字的字母间的相关关系。为了体现自然语言的双字母统计特性,我们需要考察该语言的文字中相邻字母对出现的频数。

二由独立试验产生双字母。根据Beker在1982年统计的英文双字母的频数给出了双字母的频率。

统计出的英文双字母的概率最大的30对字母按概率大小排列为:

th he in er an re ed on es st en at to nt ha nd ou ea ng as or ti is et it ar te se hi of

只要我们随意统计足够长的英文课文,只要内容不是太特殊,其结果一定和上面的概率基本相同,这也表明双字母在英文课文中出现的概率是基本可预测的,它为密码分析提供了又一方面的依据。

类似的,我们还可以考察英文课文中三字母出现的频率。仍按Beker在1982年统计的结果(样本总数100 360)得到概率最大的20组三字母按概率大小排列为:

31

the ing and her ere ent tha nth was eth for dth hat she ion his sth ers ver

特别,the出现的频率几乎为ing的3倍。

应当强调指出,在利用统计分析法时,密文量要足够大,否则会加大密码攻击的难度。在实际通信中,除了字母外,还有诸如标点、数字等字符,它们的统计特性也必须考虑进去。数据格式、报头信息对于密码体制的安全有重要意义,在密码分析中也起着重要的作用。

在分析或攻击一份密报时利用英文的下述统计特性很有帮助。

⑴冠词the对英文的统计特性影响很大,它使t,h,th,he和the在单字母、双字母和三字母的统计中都为高概率的元素。 ⑵英文单词中以 E,S,D,T 为结尾的超过一半 ⑶英文单词中以 T,A,S,W 为起始字母的约占一半

⑷①在分析或攻击密文时应先找突破口,一般来说,先从the a i入手。(能一个字母独立作为单词的只有a、I,而且频率较高时优先考虑a)

②如果有“’”出现,“’”后的一个字母只能是t s l d v中的一个;如果是两个字母,则只能是re ll。(两个不同字母即是re,相同即是ll) ③其它规律:如果四字单词词末有两个相同字母,往往是ll; 以a开头的三字单词只能是and are中的一个;

两个字母的组合中如果出现q*,则*是u(q后几乎总是u); 如果一个单词的开头和结尾是同一个字母,最可能的是:s t d;

两个都是辅音的双字母组合,常含有n或t;io、ou和ea是最常见的双元

32