《古典密码体制教学文案.ppt》由会员分享,可在线阅读,更多相关《古典密码体制教学文案.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、古典密码体制古典密码体制22.1 替代密码替代密码 替代密码又可分为替代密码又可分为单一字母替代密码单一字母替代密码和和多字母替代密码多字母替代密码。替替代代密密码码可可以以用用字字母母来来替替代代字字母母,也也可可以以用用图图形形符符号号来来替替代代字字母母,或或者者用用字字母母来来替替代代图图形形符符号号。每每个个符符号号都都用用其其他他符符号号替换,并且替换,并且替换始终不变的密码被称为单一字母替代密码替换始终不变的密码被称为单一字母替代密码。一一般般的的单单一一字字母母替替代代密密码码以以26个个英英文文字字母母的的集集合合上上的的一一个个代代换换 为为密密钥钥对对明明文文消消息息中中
2、的的每每个个字字母母依依次次进进行行变变换换,如如K=:Z26Z26|是是代代换换,变变换换的的方方法法是是把把明明文文中中的的每每个个字字母母用用它它在在 下的像去替换。解密时用下的像去替换。解密时用 的逆代换的逆代换-1进行替换。进行替换。2.1.1 单一字母替代密码单一字母替代密码3【例例2-1】设代换设代换 的对应关系如下:的对应关系如下:a b c d e f g h i j k l m n o p q r s t u v w x y zi d m e f z o a p h x b s c q r l t u y j v n w g k从代换从代换 的对应关系可知的对应关系可知su
3、,ef,yg因此以代换因此以代换 为密钥对为密钥对security加密得到密文加密得到密文ufmjtpyg4棋盘密码棋盘密码abcdefghijklmnopqrstuvwxyz12345123455 1.Caesar1.Caesar密码密码 Caesar Caesar密码是由密码是由Julins CaesarJulins Caesar发明的,它非常简单,发明的,它非常简单,就是对字母表中的每个字母,用它之后的第就是对字母表中的每个字母,用它之后的第3 3个字母来代换个字母来代换成密文,这里的密钥成密文,这里的密钥k k=3=3。如果密钥空间。如果密钥空间K K=0,1,2,25=0,1,2,2
4、5,即即k kZZ2626,就成为移位密码,就成为移位密码,CaesarCaesar密码是移位密码的一个密码是移位密码的一个特例。特例。移位密码的加密和解密算法如下:移位密码的加密和解密算法如下:加密算法加密算法E Ek k(m m)m m+k k(mod26)(mod26)解密算法解密算法D Dk k(c c)c c-k k(mod26)(mod26)6 【例例2-22-2】设明文为:设明文为:securitysecurity,试用,试用CaesarCaesar密码对其进密码对其进行加密,然后再进行解密。行加密,然后再进行解密。(1)(1)加密过程加密过程如字母如字母s s对应的数字为对应的
5、数字为1818,将,将1818使用加密算法进行加密使用加密算法进行加密E E3 3(18)18+3(mod26)21(18)18+3(mod26)21数字数字2121对应的字母为对应的字母为v v,所以,所以securitysecurity的密文为的密文为vhfxulwbvhfxulwb(2)(2)解密过程解密过程D D3 3(21)21-3(mod26)18(21)21-3(mod26)187CAP will encipher/decipher using a simple shift systemEnter the plaintextSelect Simple Shift under th
6、e Ciphers MenuEnter shift valueSelect EncipherThis is a sampleymnxnxfxfruqj 8 2.2.仿射密码仿射密码仿射密码就是将加法密码和乘法密码组合而成的一种密码。仿射密码就是将加法密码和乘法密码组合而成的一种密码。它的密钥空间为它的密钥空间为K K=(=(k k1 1,k k2 2)|)|k k1 1,k k2 2 Z Z2626 加密算法加密算法c ck k1 1m m+k k2 2(mod26)(mod26)解密算法解密算法m m(c c-k2)k k1 1-1-1(mod26)(mod26)其中:其中:k k1 1k1
7、-11(mod26)1(mod26)9 【例例2-32-3】假设假设k k1 1 9,9,k k2 2 2 2,明文字母为,明文字母为w w,用仿射密码,用仿射密码对其加密和解密。对其加密和解密。加密时,先把明文字母加密时,先把明文字母w w转换为数字转换为数字2222,由加密算法得,由加密算法得c c k k1 1m m+k k2 2(mod26)(mod26)(922(9222)(mod26)2)(mod26)1818再把数字再把数字1818转换为字母得到密文转换为字母得到密文s s。解密时,先计算解密时,先计算k k1 1-1-1。有。有931(mod26)931(mod26)可以得出可
8、以得出k k1 1-1-13(mod26)3(mod26)。再由解密算法得再由解密算法得m m(c c-k k2 2)k k1 1-1-1(mod26)(mod26)(18-2)3(mod26)(18-2)3(mod26)22 22数字数字2222对应的明文字母为对应的明文字母为w w。10补充例子补充例子 加密:加密:“China”“China”经仿射加密变换成经仿射加密变换成“RAHQD”RAHQD”11解密:解密:原始消息原始消息“China”China”得到恢复得到恢复 12 3.3.PlayfairPlayfair密码密码 Playfair Playfair密码密码基于一个基于一个5
9、555的字母矩阵的字母矩阵。字母矩阵构造。字母矩阵构造方法:方法:选用一个英文短语或单词串作为密钥,去掉其中重复的选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无重复字母的字符串,然后再将字母表中剩下字母得到一个无重复字母的字符串,然后再将字母表中剩下的字母依次从左到右、从上往下填入矩阵中,字母的字母依次从左到右、从上往下填入矩阵中,字母i i,j j占同占同一个位置。一个位置。【例例2-42-4】设密钥设密钥K K=information security=information security,去除重复字母,去除重复字母后后K K=informatsecuy=informa
10、tsecuy13 i/jnformatsecuybdghklpqvwxz图图2-1 Playfair2-1 Playfair密码字母矩阵示例密码字母矩阵示例14 对每一明文字母对对每一明文字母对m m1 1、m m2 2的加密方法如下:的加密方法如下:m m1 1和和m m2 2在同一行,则密文在同一行,则密文c c1 1和和c c2 2分别紧靠分别紧靠m m1 1、m m2 2右端的字右端的字母,其中第一列看做是最后一列的右方。母,其中第一列看做是最后一列的右方。若若m m1 1和和m2在同一列,则密文在同一列,则密文c c1 1和和c c2 2分别紧靠分别紧靠m m1 1、m m2 2下方
11、的下方的字母,其中第一行看做是最后一行的下方。字母,其中第一行看做是最后一行的下方。若若m m1 1和和m m2 2不在同一行,也不在同一列,则密文不在同一行,也不在同一列,则密文c c1 1和和c c2 2是由是由m m1 1、m m2 2确定的矩形的其他两角的字母,并且确定的矩形的其他两角的字母,并且c c1 1和和m m1 1,c c2 2和和m m2 2同行。同行。若若m m1 1m m2 2,则插入空字母于重复字母之间。,则插入空字母于重复字母之间。明文字母数为奇数,将空字母加在明文的末端。明文字母数为奇数,将空字母加在明文的末端。15Rule OneUsing the keywor
12、d array formed from“software”TFOSWBERACIHGDKPNMLQYXVUZQERLEBLM16Rule TwoAgain using the keyword array formed from“software”TFOSWBERACIHGDKPNMLQYXVUZALTUDYBT17Rule ThreeUsing the keyword array formed from“software”TFOSWBERACIHGDKPNMLQYXVUZPOTM18 【例例2-52-5】用图用图2-12-1所示的所示的PlayfairPlayfair密码字母矩阵加密明文密码字
13、母矩阵加密明文computercomputer。先将先将computercomputer中的字母两两分组为中的字母两两分组为co mp ut erco mp ut er再按照再按照PlayfairPlayfair密码的加密规则,得到的密文为密码的加密规则,得到的密文为bi eg ya debi eg ya de19 多多字字母母替替代代密密码码在在加加解解密密时时,所所使使用用的的密密钥钥是是是是明明文文字字母母到到密密文文字字母母的的多多个个映映射射,每每个个映映射射又又是是一一对对一一的的简简单单替换。替换。多多表表替替代代密密码码将将明明文文字字母母划划分分为为长长度度相相同同的的消消息
14、息单单元元,称称为为明明文文分分组组,对对明明文文成成组组地地进进行行替替代代,同同一一个个字字母母有有不不同的密文,同的密文,2.1.2 多字母替代密码多字母替代密码20 1.Vigenere1.Vigenere密码密码 该密码体制有一个参数该密码体制有一个参数n n。在加解密时,把英文字母映射。在加解密时,把英文字母映射为为0 02525的数字再进行运算,并按的数字再进行运算,并按n n个字母一组进行变换。明文个字母一组进行变换。明文空间、密文空间及密钥空间都是长度为空间、密文空间及密钥空间都是长度为n n的英文字母串的集合。的英文字母串的集合。设密钥设密钥 k=(k1,k2,kn),明文
15、,明文m=(m1,m2,mn),则,则加密算法为加密算法为Ek(m)=(c1,c2,cn)其中:其中:ci(mi+ki)(mod26),i=1,2,n对密文对密文 c=(c1,c2,cn),解密算法为解密算法为Dk(c)=(m1,m2,mn)其中:其中:mi(ci-ki)(mod26),i=1,2,n21 【例例2-62-6】设密钥设密钥KEYSKEYS,明文消息为,明文消息为GOODCRYPTOSYSTEMGOODCRYPTOSYSTEM,试用,试用VigenereVigenere密码对其进行加密,然后再进行解密。密码对其进行加密,然后再进行解密。由密钥由密钥KEYSKEYS,得,得n n=
16、4=4,密钥对应的数字序列为,密钥对应的数字序列为 (10,4,24,18)(10,4,24,18)。然后将明文按每。然后将明文按每4 4个字母进行分组,并转换这些个字母进行分组,并转换这些明文字母为相应的数字,再用模明文字母为相应的数字,再用模2626加上对应密钥数字,其加密加上对应密钥数字,其加密过程如表过程如表2-22-2所示。所示。得到的密文为:得到的密文为:qsmvmvwhdsqqcxceqsmvmvwhdsqqcxce。22明明文文GOODCRYPTOSYSTE M614 143217 24 15 19 14 18 24 18 194 12密密钥钥KEYSKEYSKEYSKEYS1
17、0424 18 10424 18 10424 18 10424 18密密文文16 18 12 21 12 21 227318 16 1622324qsmvmvwhdsqqcxce表表2-2 Vigenere2-2 Vigenere密码加密示例密码加密示例23Vigenere Cipher TableThe table lists the keycharacters ontop and theplaintextcharacters onthe side a b c d e f g h i j k l m n o p q r s t u v w x y za a b c d e f g h i j
18、 k l m n o p q r s t u v w x y zb b c d e f g h i j k l m n o p q r s t u v w x y z ac c d e f g h i j k l m n o p q r s t u v w x y z a bd d e f g h i j k l m n o p q r s t u v w x y z a b ce e f g h i j k l m n o p q r s t u v w x y z a b c df f g h i j k l m n o p q r s t u v w x y z a b c d e g
19、g h i j k l m n o p q r s t u v w x y z a b c d e f h h i j k l m n o p q r s t u v w x y z a b c d e f g i i j k l m n o p q r s t u v w x y z a b c d e f g h j j k l m n o p q r s t u v w x y z a b c d e f g h i k k l m n o p q r s t u v w x y z a b c d e f g h i j l l m n o p q r s t u v w x y z
20、a b c d e f g h i j k m m n o p q r s t u v w x y z a b c d e f g h i j k l n n o p q r s t u v w x y z a b c d e f g h i j k l m o o p q r s t u v w x y z a b c d e f g h i j k l m n p p q r s t u v w x y z a b c d e f g h i j k l m n o q q r s t u v w x y z a b c d e f g h i j k l m n o p r r s t
21、u v w x y z a b c d e f g h i j k l m n o p q s s t u v w x y z a b c d e f g h i j k l m n o p q r t t u v w x y z a b c d e f g h i j k l m n o p q r s u u v w x y z a b c d e f g h i j k l m n o p q r s t v v w x y z a b c d e f g h i j k l m n o p q r s t u w w x y z a b c d e f g h i j k l m n
22、o p q r s t u v x x y z a b c d e f g h i j k l m n o p q r s t u v w y y z a b c d e f g h i j k l m n o p q r s t u v w x z z a b c d e f g h i j k l m n o p q r s t u v w x y 24OperationA keyword is selected and it is repeatedly written above the plaintextEXAMPLE:using the keyword“hold”HOLDHOLDHO
23、LDHOLDHOKEYKEYplaintextplaintextI STHELPIATNXETSTHI a b c d e f g h i.a a b c d e f g h ib b c d e f g h i j.n c d e f g h i j k.d d e f g h i j k l.e e f g h i j k l m.f f g h i j k l m n.g g h i j k l m n o.h h i j k l m n o p.i i j k l m n o p q.j j k l m n o p q r.k k l m n o p q r s.l l m n o p
24、 q r s t.m m n o p q r s t u.n n o p q r s t u v.o o p q r s t u v w.p p q r s t u v w x.q q r s t u v w x y.r r s t u v w x y z.s s t u v w x y z a.t t u v w x y z a b.u u v w x y z a b c.AciphertextciphertextVTVHKEGQHEBQDWDLE252.Hill2.Hill密码密码 Hill Hill密码算法的基本思想是将明文字母通过线性变换,将密码算法的基本思想是将明文字母通过线性变换,
25、将它们转换为个数相同的密文字母。它们转换为个数相同的密文字母。给定一个具有给定一个具有m m个字母的明文,选定一个个字母的明文,选定一个n n值,值,n n m m,将密钥,将密钥K K构造为一个构造为一个n nn n的矩阵。将的矩阵。将m m个字母的明文划分为个字母的明文划分为n n个字母的多个字母的多个组,个组,n n个字母转换为整数列向量个字母转换为整数列向量M M,通过矩阵乘法,通过矩阵乘法C CK KM Mmodmodp p得到向量得到向量C C,随后将向量,随后将向量C C中的整数转换为密文。中的整数转换为密文。Hill Hill密码使用的密钥是一个密码使用的密钥是一个n nn n
26、的整数矩阵,的整数矩阵,加密算法加密算法是是C CK KM Mmod mod p p,解密时只需做一次逆变换即可。,解密时只需做一次逆变换即可。26 【例例2-72-7】设明文消息为设明文消息为seedseed,试用,试用n n2 2,密钥为,密钥为的的HillHill密码对其进行加密,然后再进行解密。密码对其进行加密,然后再进行解密。加密过程如下:加密过程如下:执行矩阵运算执行矩阵运算MK-1Cmod p可以完成解密操作,本例中可以完成解密操作,本例中K K的逆的逆矩阵解密过程如下:矩阵解密过程如下:27 HillHill密码的安全性密码的安全性在于:在于:可以较好地抑制自然语言的统计特性,
27、不再有单字母替换的可以较好地抑制自然语言的统计特性,不再有单字母替换的一一对应关系,对抗一一对应关系,对抗“唯密文攻击唯密文攻击”有较高安全强度。有较高安全强度。l密钥空间较大,在忽略密钥矩阵密钥空间较大,在忽略密钥矩阵K K可逆限制条件下,可逆限制条件下,|K K|=|=2626n nn n。HillHill密码的脆弱性密码的脆弱性在于:在于:若提供的矩阵若提供的矩阵M M是可逆的,则能计算出是可逆的,则能计算出K KM-1Cmod p,从而破从而破译该密码体制。译该密码体制。若方阵若方阵M M关于模关于模2626不可逆,攻击者可通过尝试其它明文不可逆,攻击者可通过尝试其它明文/密文密文对来
28、产生新的方阵对来产生新的方阵M M ,直到找到一个可逆的明文矩阵,直到找到一个可逆的明文矩阵M M就可破译就可破译HillHill密码。密码。283.3.一次一密密码一次一密密码 若多字母替代密码的密钥是一个随机且不重复的字符序列,若多字母替代密码的密钥是一个随机且不重复的字符序列,这种密码则称为一次一密密码,因为它的密钥只使用一次。该这种密码则称为一次一密密码,因为它的密钥只使用一次。该密码体制是美国电话电报公司的密码体制是美国电话电报公司的Joseph MauborgneJoseph Mauborgne在在19171917年为年为电报通信设计的一种密码,又称为电报通信设计的一种密码,又称为
29、VernamVernam密码。密码。设设m=(m1 m2 m3 mi)为明文,为明文,k=(k1 k2 k3 ki)为密钥,为密钥,其中:其中:mi,ki(0,1),i1,则加密变换为:则加密变换为:c=(c1 c2 c3 ci),其中,其中ci mi ki,i 1。解密变换为:解密变换为:m=(m1 m2 m3 mi),其中,其中mi ci ki,i 1。29 【例例2-82-8】设明文消息是设明文消息是1011100110111001,密钥(随机序列中的一段),密钥(随机序列中的一段)是是0010101100101011,那么加密过程如下:,那么加密过程如下:10111001 101110
30、01(明文)(明文)0010101100101011(密钥)(密钥)=10010010 =10010010(密文)(密文)实际上一次一密体制属于流密码,加密解密方法都使用异实际上一次一密体制属于流密码,加密解密方法都使用异或,这使软硬件实现都非常简单。虽然这种密码体制或,这使软硬件实现都非常简单。虽然这种密码体制理论上是理论上是不可破译的不可破译的,然而在实际应用中,一般情况下,选择一个短的,然而在实际应用中,一般情况下,选择一个短的随机输入产生随机输入产生一个伪随机序列作为密钥序列一个伪随机序列作为密钥序列,称为,称为“近似近似”的的一次一密乱码本。一次一密乱码本。30例:设明文消息是:例:
31、设明文消息是:datasecurity,取自乱码本的取自乱码本的密钥序列是:密钥序列是:tbfqlpdzsdye,求密文。求密文。加密时要依次对加密时要依次对datasecurity中的各字母移位中的各字母移位19、1、5、16、11、15、3、25、18、3、24、4得到的密文为得到的密文为wbyqdtftjlrc31 在在替替代代密密码码中中,明明文文中中的的每每个个字字母母都都被被替替换换成成另另外外的的字字母母。置置换换密密码码只只改改变变明明文文消消息息各各元元素素的的相相对对位位置置,而而明明文文消消息息元元素素本身的取值或内容形式不变。置换密码又称为换位密码。本身的取值或内容形式
32、不变。置换密码又称为换位密码。2.2 置换密码置换密码2.2.1 列置换密码列置换密码 列置换密码的加密方法就是将明文按行填写到一个列宽列置换密码的加密方法就是将明文按行填写到一个列宽固定(设为固定(设为n n)的表格或长方形中;然后按()的表格或长方形中;然后按(1 1,2 2,n n)的一个的一个置换置换 交换列的位置次序交换列的位置次序,再按列读出即得密文。,再按列读出即得密文。解密时,将密文按列填写到一个行数固定(也为解密时,将密文按列填写到一个行数固定(也为n n)的)的表格或长方形中,按置换表格或长方形中,按置换 的逆置换交换列的位置次序,然后的逆置换交换列的位置次序,然后按行读出
33、即得到明文。按行读出即得到明文。置换置换 可看成是算法的密钥。可看成是算法的密钥。32 【例例2-92-9】设明文设明文Alice is a murdererAlice is a murderer,列宽,列宽n n=4=4,密钥,密钥 是按是按3 3,4 4,2 2,1 1列的次序读出得到密文,试写出加解密的过程列的次序读出得到密文,试写出加解密的过程和结果。和结果。明文为明文为Alice is a murdererAlice is a murderer,加密过程中,将明文按,加密过程中,将明文按4 4个个字母一行写出:字母一行写出:1 2 3 41 2 3 4a l i ca l i ce
34、i s ae i s am u r dm u r de r e re r e r按列按列3 3,4 4,2 2,1 1写出密文:写出密文:isrecadrliuraemeisrecadrliuraeme。解密过程:将密文解密过程:将密文isrecadrliuraemeisrecadrliuraeme按按4 4个字母一列写出,个字母一列写出,按列按列4 4,3 3,1 1,2 2一行一行的书写,得出明文为:一行一行的书写,得出明文为:alice is a alice is a murderermurderer。33 柱状列置换密码柱状列置换密码 柱柱状状列列置置换换密密码码没没有有直直接接指指定
35、定置置换换,而而是是先先选选取取一一个个密密钥钥短短语语,再再生生成成一一个个数数字字序序列列,根根据据数数字字序序列列来来交交换换列列,重重排排字字母得到密文。母得到密文。如密钥短语为如密钥短语为“good cryptosystem”good cryptosystem”,选的密钥为,选的密钥为“goodcryp”goodcryp”。对所有字母编号的结果是:。对所有字母编号的结果是:g o o d c r y pg o o d c r y p3 4 5 2 1 7 8 63 4 5 2 1 7 8 634 【例例2-102-10】已已知知明明文文消消息息为为This This should s
36、hould be be encrypted encrypted with with cautioncaution,试试用用密密钥钥为为goodcrypgoodcryp的的柱柱状状列列置置换换密密码码对对其其进进行加密。行加密。密密钥钥“goodcryp”goodcryp”指指定定了了一一个个数数字字序序列列“3 3,4 4,5 5,2 2,1 1,7 7,8 8,6”6”,将明文被排列成一个具有,将明文被排列成一个具有8 8列和列和4 4行的长方形。行的长方形。g o o d c r y pg o o d c r y p3 4 5 2 1 7 8 63 4 5 2 1 7 8 6t h i s
37、 s h o ut h i s s h o ul d b e e n c rl d b e e n c ry p t e d w i ty p t e d w i th c a u t i o nh c a u t i o n 将每一列根据列号由小到大进行排序,逐列读取将每一列根据列号由小到大进行排序,逐列读取4 4个字母为一个字母为一组,生成的密文为:组,生成的密文为:sedt seeu tlyh hdpc ibta urtn hnwi ociosedt seeu tlyh hdpc ibta urtn hnwi ocio。35 周周期期置置换换密密码码是是将将明明文文字字符符按按一一定定长
38、长度度n n分分组组,把把每每组组中中的的字字符符按按1,2,1,2,n n的的一一个个置置换换 重重排排位位置置次次序序来来得得到到密密文文的的一一种种加加密密方方法法。其其中中的的密密钥钥就就是是置置换换,在在 的的描描述述中中包包含含了了分分组组长长度度的信息。的信息。2.2.2 周期置换密码周期置换密码 解解密密时时,对对密密文文字字符符按按长长度度n n分分组组,并并按按 的的逆逆置置换换把把每每组组字符重排位置次序来得到明文。字符重排位置次序来得到明文。36 【例例2-112-11】给定明文为给定明文为cryptographycryptography,试用密钥,试用密钥的置换密码对
39、其进行加密,然后再对密文进行解密。的置换密码对其进行加密,然后再对密文进行解密。明文分组为:明文分组为:cryp togr aphycryp togr aphy,再利用置换密钥,再利用置换密钥进行进行加密变换,得:加密变换,得:E(cryp)=(yprc)(cryp)=(yprc);E(togr)=(grot)(togr)=(grot);E(aphy)=(hypa)(aphy)=(hypa)即密文消息是:即密文消息是:yprcgrothypayprcgrothypa。解密时,先由加密变换可求出逆置换,解密时,先由加密变换可求出逆置换,对每组字母用逆置换对每组字母用逆置换 进行重排进行重排 ,解
40、密得到明文:解密得到明文:cryptography cryptography 37 在在对对密密码码体体制制进进行行破破译译时时,一一般般假假设设攻攻击击者者已已知知道道通通信信双双方方使使用用的的密密码码算算法法,这这就就是是KerckhoffsKerckhoffs假假设设,密密码码破破译译的的重重点点在在于如何获取加密过程中所使用的密钥。于如何获取加密过程中所使用的密钥。2.3 古典密码的破译古典密码的破译 通通过过对对大大量量英英文文语语言言的的研研究究可可以以发发现现,每每个个字字母母出出现现的的频频率率不不一一样样,e e出出现现的的频频率率最最高高。如如果果所所统统计计的的文文献献
41、足足够够长长,便便可发现各字母出现的频率比较稳定。可发现各字母出现的频率比较稳定。如表如表2-52-5所示所示 .2.3.1 单一字母替代密码的破译38abcdef0.08560.01390.02790.03780.13040.0289ghijkl0.01990.05180.06270.00130.00420.0339mnopqr0.02490.07070.07970.01990.00120.0677stuvwx0.06070.10450.02490.00920.01490.0017yz0.01990.0008表表2-5 2-5 英文字母出现频率统计表英文字母出现频率统计表39 单一字母替代密
42、码的破译中,除了考虑单字母统计特单一字母替代密码的破译中,除了考虑单字母统计特性外,掌握双字母、三字母的统计特性以及字母之间的连性外,掌握双字母、三字母的统计特性以及字母之间的连缀关系等信息也是很有用的,如缀关系等信息也是很有用的,如出现频率较高的双字母组出现频率较高的双字母组合有合有ththheheininereranan等,英语中等,英语中最常用的最常用的三字母组合三字母组合是是the,ingthe,ing等,特别地,等,特别地,thethe出现的频率几乎出现的频率几乎是是inging的的3 3倍。此外,统计资料还表明:英文单词以倍。此外,统计资料还表明:英文单词以e e,s s,d d,
43、t t字母结尾的超过一半。英文单词以字母结尾的超过一半。英文单词以t t,a a,s s,w w为起始为起始字母的约占一半。字母的约占一半。40【例例2-12】设某一段明文经移位密码加密后的密文如下:设某一段明文经移位密码加密后的密文如下:rjjy rjzs ijwy mjtq najy wjjs jcyb jjpj sibj bnqq inxh zxym juqf s试破译该密文。为了表述更加清楚,本例的密文用小写字试破译该密文。为了表述更加清楚,本例的密文用小写字母,明文用大写字母。母,明文用大写字母。首先统计密文中各个字母的出现次数,如表首先统计密文中各个字母的出现次数,如表2-7所示。
44、所示。从表从表2-72-7可以看出,密文字母可以看出,密文字母j j出现的次数为出现的次数为1414,猜测,猜测j j对对应的明文字母可能为应的明文字母可能为E E。y y出现的次数为出现的次数为5 5,猜测,猜测y y它对应的明文它对应的明文字母可能为字母可能为T T。j j和和E E之间的距离为之间的距离为5 5,y y和和T T之间的距离也为之间的距离也为5 5。41字母字母a b c d e f g h i j k l m n o p q r s t u v w x y z次数次数1 3 1 0 0 1 0 1 3 14 0 0 2 3 0 1 4 2 4 1 1 0 2 2 5 2表
45、表2-7 2-7 各个密文字母的出现次数各个密文字母的出现次数 将移位密码中的密钥将移位密码中的密钥k k定为定为5 5,使用解密算法:,使用解密算法:D5(c c)=)=c c-5(mod26)-5(mod26),将每个密文字母还原为明文,如,密文将每个密文字母还原为明文,如,密文r r的明文为的明文为M M。最终得到完整的明文为:最终得到完整的明文为:MEET ME UNDER THE OLIVE TREE NEXT WEEKEND,WE WILL MEET ME UNDER THE OLIVE TREE NEXT WEEKEND,WE WILL DISCUSS THE PLAN.DISC
46、USS THE PLAN.42例如,明文如下所示:例如,明文如下所示:TO ALL UNITS.TODAYS WEATHER OVERCAST,TO ALL UNITS.TODAYS WEATHER OVERCAST,FREEZING,WIND GUSTING.CHANCE OF NIGHT FOG.FREEZING,WIND GUSTING.CHANCE OF NIGHT FOG.假定加密使用假定加密使用8 8个字母的密钥个字母的密钥”TOASTING”,”TOASTING”,将明文置入一个将明文置入一个列数为列数为8 8的长方形,然后根据密钥逐列读取这些字母。在最后的长方形,然后根据密钥逐
47、列读取这些字母。在最后添加四个字母添加四个字母“X X”,使消息的总长度能够被使消息的总长度能够被5 5整除。整除。2.3.2 柱状列置换密码的破译柱状列置换密码的破译43T O A S T I N G7 5 1 6 8 3 4 2T O A L L U N IT O A L L U N IT S T O D A Y ST S T O D A Y SW E A T H E R OW E A T H E R OV E R C A S T F V E R C A S T F R E E Z I N G WR E E Z I N G WI N D G U S T II N D G U S T IN
48、G C H A N C EN G C H A N C EO F N I G H T FO F N I G H T FO G X X XO G X X X根据下面的柱状换位得到密文如下:根据下面的柱状换位得到密文如下:ATARE DCNXI SOFWI EFUAE SNSNH XNYRT GTCTO SEEEN ATARE DCNXI SOFWI EFUAE SNSNH XNYRT GTCTO SEEEN GFGLO TCZGH IXTTW VRINO OLDHA IUAGXGFGLO TCZGH IXTTW VRINO OLDHA IUAGX44 破译方法假定破译者知道破译方法假定破译者知道(
49、或猜测或猜测)明文中存在的一个明文中存在的一个长词或短语。在这个示例中,敌方可能在每天的同一时间长词或短语。在这个示例中,敌方可能在每天的同一时间发送天气报告,因此可以认为存在短语发送天气报告,因此可以认为存在短语“TODAYSWEATHERTODAYSWEATHER”.现在破译者逐个考虑字母现在破译者逐个考虑字母“T T”“”“O O”“”“D D”.这些字母这些字母在密文中出现的所有位置以及其后跟随的字母都被记录下在密文中出现的所有位置以及其后跟随的字母都被记录下来。来。45字母 随后字母 距离T AOTW 3 1 9 6T AOTW 3 1 9 6O ST 4 8O ST 4 8D H
50、8D H 8A TRE 6 9 4 8A TRE 6 9 4 8Y R 8Y R 8S E 2 6S E 2 6W WE EA AT TH E 4H E 4E ER R46 从上图分析得知,长方形的长度为从上图分析得知,长方形的长度为8 8。现在我们将已知短。现在我们将已知短语语“TODAYWEATHERTODAYWEATHER”逐行写入列数为逐行写入列数为8 8的长方形中。下面是的长方形中。下面是破译的步骤破译的步骤,第一列由字母对第一列由字母对“TATA”组成。在密文中搜索这组成。在密文中搜索这个字母对,并且查找到第一次出现该字母对的位置。在密文个字母对,并且查找到第一次出现该字母对的位置