古典密码体制_第1页
古典密码体制_第2页
古典密码体制_第3页
古典密码体制_第4页
古典密码体制_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第2章章 古典密码体制古典密码体制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从代换从代

3、换 的对应关系可知的对应关系可知su,ef,yg因此以代换因此以代换 为密钥对为密钥对security加密得到密文加密得到密文ufmjtpyg4棋盘密码棋盘密码abcdefghijklmnopqrstuvwxyz12345123455 1. Caesar1. Caesar密码密码 Caesar Caesar密码是由密码是由Julins CaesarJulins Caesar发明的,它非常简单,发明的,它非常简单,就是对字母表中的每个字母,用它之后的第就是对字母表中的每个字母,用它之后的第3 3个字母来代换个字母来代换成密文,这里的密钥成密文,这里的密钥k k=3=3。如果密钥空间。如果密钥空间

4、K K=0,1,2,25=0,1,2,25,即即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密码对其进密码对其进行加密,然后再进行解密。行加密

5、,然后再进行解密。加密过程加密过程如字母如字母s s对应的数字为对应的数字为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

6、systemEnter the plaintextSelect Simple Shift under the 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)

7、(mod26)解密算法解密算法m m(c c- -k2) ) k k1 1-1-1(mod26)(mod26)其中:其中:k k1 1k1-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) (9(922222) (mod26) 2) (mod26) 1818再把数字再把数

8、字1818转换为字母得到密文转换为字母得到密文s s。解密时,先计算解密时,先计算k k1 1-1-1。有。有9 931(mod26)31(mod26)可以得出可以得出k k1 1-1-13(mod26)3(mod26)。再由解密算法得再由解密算法得m m ( (c c- -k k2 2) ) k k1 1-1-1(mod26) (mod26) (18-2) (18-2) 3 (mod26) 3 (mod26) 22 22数字数字2222对应的明文字母为对应的明文字母为w w。10补充例子补充例子 加密:加密: “China”“China”经仿射加密变换成经仿射加密变换成“RAHQD” RAH

9、QD” DQHAR316701726mod39459521733333013872711解密:解密: 原始消息原始消息“China”China”得到恢复得到恢复 ANIHC01387226mod262218619236191919191931670171512 PlayfairPlayfair密码密码 Playfair Playfair密码密码基于一个基于一个5 55 5的字母矩阵的字母矩阵。字母矩阵构。字母矩阵构造方法:造方法: 选用一个英文短语或单词串作为密钥,去掉其中重复选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无重复字母的字符串,然后再将字母表中的字母得到一个无重复字

10、母的字符串,然后再将字母表中剩下的字母依次从左到右、从上往下填入矩阵中,字母剩下的字母依次从左到右、从上往下填入矩阵中,字母i i,j j占同一个位置。占同一个位置。【例例2-42-4】设密钥设密钥K K= information security= information security,去除重复字,去除重复字母后母后K K=informatsecuy=informatsecuy13 i/jnformatsecuybdghklpqvwxz图图2-1 Playfair2-1 Playfair密码字母矩阵示例密码字母矩阵示例14 对每一明文字母对对每一明文字母对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右端的字右端的字母,其中第一列看做是最后一列的右方。母,其中第一列看做是最后一列的右方。 若若m m1 1和和m2在同一列,则密文在同一列,则密文c c1 1和和c c2 2分别紧靠分别紧靠m m1 1、m m2 2下方的下方的字母,其中第一行看做是最后一行的下方。字母,其中第一行看做是最后一行的下方。 若若m m1 1和和m m2 2不在同一行,也不在同一列,则密文不在同一行,也不在同一列,则密文c c1 1和和c c2 2是由是由m

12、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 keyword array formed from “software” TFOSWBERACIHGDKPNMLQYXVUZQERLEBLM16Rule TwoAgain using the keyword array for

13、med from “software”TFOSWBERACIHGDKPNMLQYXVUZALTUDYBT17Rule ThreeUsing the keyword array formed from “software”TFOSWBERACIHGDKPNMLQYXVUZPOTM18 【例例2-52-5】用图用图2-12-1所示的所示的PlayfairPlayfair密码字母矩阵加密明文密码字母矩阵加密明文computercomputer。先将先将computercomputer中的字母两两分组为中的字母两两分组为co mp ut erco mp ut er再按照再按照PlayfairPlayf

14、air密码的加密规则,得到的密文为密码的加密规则,得到的密文为bi eg ya debi eg ya de19 多字母替代密码在加解密时,所使用的多字母替代密码在加解密时,所使用的密钥是是明文密钥是是明文字母到密文字母的多个映射字母到密文字母的多个映射,每个映射又是一对一的简单,每个映射又是一对一的简单替换。替换。 多表替代密码将明文字母划分为长度相同的消息单元多表替代密码将明文字母划分为长度相同的消息单元,称为,称为明文分组明文分组,对明文成组地进行替代,同一个字母有,对明文成组地进行替代,同一个字母有不同的密文,不同的密文, 2.1.2 多字母替代密码多字母替代密码20 1. Vigene

15、re1. Vigenere密码密码 该密码体制有一个参数该密码体制有一个参数n n。在加解密时,把英文字母映射。在加解密时,把英文字母映射为为0 02525的数字再进行运算,并按的数字再进行运算,并按n n个字母一组进行变换。明文个字母一组进行变换。明文空间、密文空间及密钥空间都是长度为空间、密文空间及密钥空间都是长度为n n的英文字母串的集合。的英文字母串的集合。设密钥设密钥 k=(k1,k2,kn),明文,明文m=(m1,m2,mn),则,则加密算法为加密算法为Ek(m)=(c1,c2,cn)其中:其中:ci (mi + ki)(mod26),i =1,2,n对密文对密文 c=(c1,c2

16、,cn),解密算法为解密算法为Dk(c)= (m1,m2,mn)其中:其中:mi(ci - ki)(mod26),i =1,2,n21 【例例2-62-6】设密钥设密钥KEYSKEYS,明文消息为,明文消息为GOODCRYPTOSYSTEMGOODCRYPTOSYSTEM,试用,试用VigenereVigenere密码对其进行加密,然后再进行解密。密码对其进行加密,然后再进行解密。 由密钥由密钥KEYSKEYS,得,得n n = 4= 4,密钥对应的数字序列为,密钥对应的数字序列为 (10,4,24,18)(10,4,24,18)。然后将明文按每。然后将明文按每4 4个字母进行分组,并转换这个

17、字母进行分组,并转换这些明文字母为相应的数字,再用模些明文字母为相应的数字,再用模2626加上对应密钥数字,其加加上对应密钥数字,其加密过程如表密过程如表2-22-2所示。所示。得到的密文为:得到的密文为:qsmvmvwhdsqqcxceqsmvmvwhdsqqcxce。22明文GOODCRYPTOSYSTE M614 143217 24 15 19 14 18 24 18 194 12密钥KEYSKEYSKEYSKEYS10424 18 10424 18 10424 18 10424 18密文16 18 12 21 12 21 227318 16 1622324qsmvmvwhdsqqcxc

18、e表表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 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

19、 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 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

20、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 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

21、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 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

22、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 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

23、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”HOLDHOLDHOLDHOLDHOI 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

24、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 q r s t . . .m m n o p q r s t u . . .n n o p q r s t

25、 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 . . .AVTVHKEGQHEBQDWDLE252. Hill2. Hill密码密码 Hill Hill密码算法的基本思想是将明文字母通过线性变换,将密码算法的基本思想是将明文字母通过线性变换,将它们转换为个数相同的密文字母。它们转换为个

26、数相同的密文字母。 给定一个具有给定一个具有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的整数矩阵,的整数矩阵,加密算法加密算法

27、是是C CK KM Mmod mod p p,解密时只需做一次逆变换即可。,解密时只需做一次逆变换即可。 26 【例例2-72-7】设明文消息为设明文消息为seedseed,试用,试用n n2 2,密钥为,密钥为的的HillHill密码对其进行加密,然后再进行解密。密码对其进行加密,然后再进行解密。加密过程如下:加密过程如下:执行矩阵运算执行矩阵运算MK-1Cmod p可以完成解密操作,本例中可以完成解密操作,本例中K K的的逆矩阵解密过程如下:逆矩阵解密过程如下:52109K231426mod34,42026mod41852109K3426mod2314,41826mod4201721021

28、1K27 HillHill密码的安全性密码的安全性在于:在于: 可以较好地抑制自然语言的统计特性,不再有单字母替换的可以较好地抑制自然语言的统计特性,不再有单字母替换的一一对应关系,对抗一一对应关系,对抗“唯密文攻击唯密文攻击”有较高安全强度。有较高安全强度。密钥空间较大,在忽略密钥矩阵密钥空间较大,在忽略密钥矩阵K K可逆限制条件下,可逆限制条件下,| |K K| = | = 2626n nn n。HillHill密码的脆弱性密码的脆弱性在于:在于: 若提供的矩阵若提供的矩阵M M是可逆的,则能计算出是可逆的,则能计算出K KM-1Cmod p,从而从而破译该密码体制。破译该密码体制。 若方

29、阵若方阵M M关于模关于模2626不可逆,攻击者可通过尝试其它明文不可逆,攻击者可通过尝试其它明文/ /密文密文对来产生新的方阵对来产生新的方阵M M ,直到找到一个可逆的明文矩阵,直到找到一个可逆的明文矩阵M M就可破就可破译译HillHill密码。密码。283. 3. 一次一密密码一次一密密码 若多字母替代密码的密钥是一个随机且不重复的字符序列,若多字母替代密码的密钥是一个随机且不重复的字符序列,这种密码则称为一次一密密码,因为它的密钥只使用一次。该这种密码则称为一次一密密码,因为它的密钥只使用一次。该密码体制是美国电话电报公司的密码体制是美国电话电报公司的Joseph Mauborgne

30、Joseph Mauborgne在在19171917年为年为电报通信设计的一种密码,又称为电报通信设计的一种密码,又称为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,密钥(随机序列中的一

31、段),密钥(随机序列中的一段)是是0010101100101011,那么加密过程如下:,那么加密过程如下: 10111001 10111001(明文)(明文) 0010101100101011(密钥)(密钥) = 10010010 = 10010010(密文)(密文) 实际上一次一密体制属于流密码,加密解密方法都使用异实际上一次一密体制属于流密码,加密解密方法都使用异或,这使软硬件实现都非常简单。虽然这种密码体制或,这使软硬件实现都非常简单。虽然这种密码体制理论上是理论上是不可破译的不可破译的,然而在实际应用中,一般情况下,选择一个短的,然而在实际应用中,一般情况下,选择一个短的随机输入产生随

32、机输入产生一个伪随机序列作为密钥序列一个伪随机序列作为密钥序列,称为,称为“近似近似”的的一次一密乱码本。一次一密乱码本。30 例:设明文消息是:例:设明文消息是:datasecurity,取自乱码本的取自乱码本的密钥序列是:密钥序列是:tbfqlpdzsdye,求密文。求密文。 加密时要依次对加密时要依次对datasecurity中的各字母移位中的各字母移位19、1、5、16、11、15、3、25、18、3、24、4 得到的密文为得到的密文为wbyqdtftjlrc31 在替代密码中,明文中的每个字母都被替换成另外的字母。在替代密码中,明文中的每个字母都被替换成另外的字母。置换密码只改变明文

33、消息各元素的相对位置置换密码只改变明文消息各元素的相对位置,而明文消息元素,而明文消息元素本身的取值或内容形式不变。置换密码又称为换位密码。本身的取值或内容形式不变。置换密码又称为换位密码。2.2 置换密码置换密码2.2.1 列置换密码列置换密码 列置换密码的加密方法就是将明文按行填写到一个列宽列置换密码的加密方法就是将明文按行填写到一个列宽固定(设为固定(设为n n)的表格或长方形中;然后按()的表格或长方形中;然后按(1 1,2 2,n n)的一个的一个置换置换 交换列的位置次序交换列的位置次序,再按列读出即得密文。,再按列读出即得密文。 解密时,将密文按列填写到一个行数固定(也为解密时,

34、将密文按列填写到一个行数固定(也为n n)的)的表格或长方形中,按置换表格或长方形中,按置换 的逆置换交换列的位置次序,然后的逆置换交换列的位置次序,然后按行读出即得到明文。按行读出即得到明文。置换置换 可看成是算法的密钥。可看成是算法的密钥。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

35、 a murderer,加密过程中,将明文按,加密过程中,将明文按4 4个个字母一行写出:字母一行写出:1 2 3 41 2 3 4a l i ca l i ce 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一行一行的书写,得出明文为:一行一行的书写,得出明文为

36、:alice is a alice is a murderermurderer。33 柱状列置换密码柱状列置换密码 柱状列置换密码没有直接指定置换柱状列置换密码没有直接指定置换 ,而是先选取一个密钥,而是先选取一个密钥短语,再生成一个数字序列,根据数字序列来交换列,重排字短语,再生成一个数字序列,根据数字序列来交换列,重排字母得到密文。母得到密文。 如密钥短语为如密钥短语为“good cryptosystem”good cryptosystem”,选的密钥为,选的密钥为“goodcryp”goodcryp”。对所有字母编号的结果是:。对所有字母编号的结果是:g o o d c r y pg o

37、 o d c r y p3 4 5 2 1 7 8 63 4 5 2 1 7 8 634 【例例2-102-10】 已知明文消息为已知明文消息为This should be encrypted This should be encrypted with cautionwith caution,试用密钥为,试用密钥为goodcrypgoodcryp的柱状列置换密码对其进的柱状列置换密码对其进行加密。行加密。 密钥密钥“goodcryp”goodcryp”指定了一个数字序列指定了一个数字序列“3 3,4 4,5 5,2 2,1 1,7 7,8 8,6”6”,将明文被排列成一个具有,将明文被排列成一

38、个具有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 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 i

39、bta urtn hnwi ociosedt seeu tlyh hdpc ibta urtn hnwi ocio。35 周期置换密码是将明文字符按一定长度周期置换密码是将明文字符按一定长度n n分组,把每组中的分组,把每组中的字符按字符按1,2,1,2,n n的一个置换的一个置换 重排位置次序来得到密文的一种重排位置次序来得到密文的一种加密方法。其中的加密方法。其中的密钥就是置换密钥就是置换 ,在,在 的描述中包含了分组长的描述中包含了分组长度的信息。度的信息。2.2.2 周期置换密码周期置换密码 解密时,对密文字符按长度解密时,对密文字符按长度n n分组,并按分组,并按 的逆置换的逆置换把

40、每组把每组字符重排位置次序来得到明文。字符重排位置次序来得到明文。36 【例例2-112-11】给定明文为给定明文为cryptographycryptography,试用密钥,试用密钥的置换密码对其进行加密,然后再对密文进行解密。的置换密码对其进行加密,然后再对密文进行解密。 明文分组为:明文分组为:cryp togr aphycryp togr aphy,再利用置换密钥,再利用置换密钥进行进行加密变换,得:加密变换,得:E (cryp) = (yprc)(cryp) = (yprc);E (togr) = (grot)(togr) = (grot);E (aphy) = (hypa)(aph

41、y) = (hypa)即密文消息是:即密文消息是:yprcgrothypayprcgrothypa。 解密时,先由加密变换可求出逆置换,解密时,先由加密变换可求出逆置换, 对每组字母用逆置换对每组字母用逆置换 进行重排进行重排 , ,解密得到明文:解密得到明文:cryptography cryptography 32412134432142311137 在对密码体制进行破译时,一般假设攻击者已知道通信双方在对密码体制进行破译时,一般假设攻击者已知道通信双方使用的密码算法,这就是使用的密码算法,这就是KerckhoffsKerckhoffs假设,密码破译的重点在假设,密码破译的重点在于如何获取加

42、密过程中所使用的密钥。于如何获取加密过程中所使用的密钥。2.3 古典密码的破译古典密码的破译 通过对大量英文语言的研究可以发现,每个字母出现的频通过对大量英文语言的研究可以发现,每个字母出现的频率不一样,率不一样,e e出现的频率最高出现的频率最高。如果所统计的文献足够长,便。如果所统计的文献足够长,便可发现各字母出现的频率比较稳定。可发现各字母出现的频率比较稳定。 如表如表2-52-5所示所示 . .2.3.1 单一字母替代密码的破译38abcdef0.08560.01390.02790.03780.13040.0289ghijkl0.01990.05180.06270.00130.0042

43、0.0339mnopqr0.02490.07070.07970.01990.00120.0677stuvwx0.06070.10450.02490.00920.01490.0017yz0.01990.0008表表2-5 2-5 英文字母出现频率统计表英文字母出现频率统计表39 单一字母替代密码的破译中,除了考虑单字母统计特单一字母替代密码的破译中,除了考虑单字母统计特性外,掌握双字母、三字母的统计特性以及字母之间的连性外,掌握双字母、三字母的统计特性以及字母之间的连缀关系等信息也是很有用的,如缀关系等信息也是很有用的,如出现频率较高的双字母组出现频率较高的双字母组合有合有ththheheini

44、nereranan等,英语中等,英语中最常用的最常用的三字母组合三字母组合是是the, ingthe, ing等,特别地,等,特别地,thethe出现的频率几乎出现的频率几乎是是inging的的3 3倍。此外,统计资料还表明:英文单词以倍。此外,统计资料还表明:英文单词以e e,s s,d d,t t字母结尾的超过一半。英文单词以字母结尾的超过一半。英文单词以t t,a a,s s,w w为起始为起始字母的约占一半。字母的约占一半。40【例例2-12】设某一段明文经移位密码加密后的密文如下:设某一段明文经移位密码加密后的密文如下:rjjy rjzs ijwy mjtq najy wjjs jc

45、yb jjpj sibj bnqq inxh zxym juqf s试破译该密文。为了表述更加清楚,本例的密文用小写字试破译该密文。为了表述更加清楚,本例的密文用小写字母,明文用大写字母。母,明文用大写字母。首先统计密文中各个字母的出现次数,如表首先统计密文中各个字母的出现次数,如表2-7所示。所示。 从表从表2-72-7可以看出,密文字母可以看出,密文字母j j出现的次数为出现的次数为1414,猜测,猜测j j对对应的明文字母可能为应的明文字母可能为E E。y y出现的次数为出现的次数为5 5,猜测,猜测y y它对应的明文它对应的明文字母可能为字母可能为T T。j j和和E E之间的距离为之

46、间的距离为5 5,y y和和T T之间的距离也为之间的距离也为5 5。41字母a b c d e f g h ij 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表表2-7 2-7 各个密文字母的出现次数各个密文字母的出现次数 将移位密码中的密钥将移位密码中的密钥k k定为定为5 5,使用解密算法:,使用解密算法:D5( (c c) = ) = c c - 5(mod26) - 5(mod26), 将每个密文字母还原为明文,如,密文将每个密文字母还原为明文,如,密文r r

47、的明文为的明文为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.DISCUSS THE PLAN.42例如,明文如下所示:例如,明文如下所示:TO ALL UNITS. TODAYS WEATHER OVERCAST, TO ALL UNITS. TODAYS WEATHER OVERCAST, FREEZING,WIND GUSTING. CHANCE

48、OF NIGHT FOG.FREEZING,WIND GUSTING. CHANCE OF NIGHT FOG.假定加密使用假定加密使用8 8个字母的密钥个字母的密钥”TOASTING”,”TOASTING”,将明文置入一个将明文置入一个列数为列数为8 8的长方形,然后根据密钥逐列读取这些字母。在最的长方形,然后根据密钥逐列读取这些字母。在最后添加四个字母后添加四个字母“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 S T O D A Y SW E A T H E R OV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论