《密码学第1章.ppt》由会员分享,可在线阅读,更多相关《密码学第1章.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章 古典密码 1.1 密码学的基本概念 1.2 几种典型的古典密码体制 1.3 古典密码的统计分析 习题 第1章 古典密码 1.1 密码学的基本概念密码学的基本概念密码学有着悠久而神秘的历史,人们很难对密码学的起始时间给出准确的定义。一般认为人类对密码学的研究与应用已经有几千年的历史,该学科一直广泛应用于军事领域。密码学正式作为一门科学的理论基础应该首推1949年美国科学家Shannon的一篇文章保密通信的信息理论,他在研究保密机的基础上,提出了将密码建立在解某个已知数学难题基础上的观点。20世纪70年代,以公钥密码体制的提出和数据加密标准DES的问世为标志,现代密码学开始蓬勃发展。随着计
2、算机技术和网络技术的发展,互联网的普及和网上业务的大量开展,人们更加关注密码学,更加依赖密码技术。第1章 古典密码 保密是密码学的核心。密码学的基本目的是面对攻击者Oscar,在被称为Alice和Bob的通信双方之间应用不安全的信道进行通信时,设法保证通信安全。密码学研究对通信双方要传输的信息进行何种保密变换以防止未被授权的第三方对信息的窃取。此外,密码技术还可以用来进行信息鉴别、数据完整性检验、数字签名等。第1章 古典密码 在通信过程中,Alice和Bob也分别被称为信息的发送方和接收方。Alice要发送给Bob的信息称为明文(Plaintext)。为了保证信息不被未经授权的Oscar识别,
3、Alice需要使用密钥(Key)对明文进行加密,加密得到的结果称为密文(Ciphertext)。密文一般是不可理解的,Alice将密文通过不安全的信道发送给Bob,同时通过安全的通信方式将密钥发送给Bob。Bob在接收到密文和密钥的基础上,可以对密文进行解密,从而获得明文;对于Oscar,他可能会窃听到信道中的密文,但由于无法得到加密密钥,因此无法知道相应的明文。图1-1给出了保密通信的一般机制。根据加密和解密过程所采用密钥的特点可以将加密算法分为两类:对称加密算法和公开密钥加密算法。第1章 古典密码 图1-1 保密通信的一般机制第1章 古典密码 对称加密算法也称为传统加密算法,是指解密密钥与
4、加密密钥相同或者能够从加密密钥中直接推算出解密密钥的加密算法。通常在大多数对称加密算法中解密密钥与加密密钥是相同的,所以这类加密算法要求Alice和Bob在进行保密通信前,通过安全的方式商定一个密钥。对称加密算法的安全性依赖于密钥的选择。第1章 古典密码 公开密钥加密算法也称为公钥加密算法,是指用来解密的密钥不同于进行加密的密钥,也不能够通过加密密钥直接推算出解密密钥的加密算法。一般情况下,加密密钥是可以公开的,任何人都可以应用加密密钥来对信息进行加密,但只有拥有解密密钥的人才可以解密出被加密的信息。在以上过程中,加密密钥称为公钥,解密密钥称为私钥。在图1-1所示的保密通信机制中,为了在接收端
5、能够有效地恢复出明文信息,要求加密过程必须是可逆的。从上述图示可见,加密方法、解密方法、密钥和消息(明文、密文)是保密通信中的几个关键要素,它们构成了相应的密码体制。第1章 古典密码 定义定义1.1.1 密码体制 密码体制的构成包括以下要素:(1)M:明文消息空间,表示所有可能的明文组成的有限集。(2)C:密文消息空间,表示所有可能的密文组成的有限集。(3)K:密钥空间,表示所有可能的密钥组成的有限集。(4)E:加密算法集合。(5)D:解密算法集合。第1章 古典密码 该密码体制应该满足的基本条件是:对任意的keyK,存在一个加密规则ekeyE和相应的解密规则dkeyD,使得对任意的明文xM,e
6、key(x)C且dkey(ekey(x)=x。在以上密码体制的定义中,最关键的条件是加密过程ekey的可逆性,即密码体制不仅能够对明文x应用ekey进行加密,而且应该可以使用相应的dkey对得到的密文进行解密,从而恢复出明文。显然,密码体制中的加密函数ekey必须是一个一一映射。要避免出现在加密时x1x2,而对应的密文ekey(x1)=ekey(x2)=y的情况,否则在解密过程无法准确确定密文y对应的明文x。第1章 古典密码 古典密码是密码学的渊源,虽然古典密码都比较简单而且容易破译,但研究古典密码的设计原理和分析方法对于理解、设计以及分析现代密码技术是十分有益的。本节介绍几种典型的古典密码体
7、制。1.2.1 棋盘密码棋盘密码棋盘密码是公元前2世纪前后由希腊人提出来的,在当时得到了广泛的应用。棋盘密码通过将26个英文字母设法变成十位数来达到加密的目的。棋盘密码的密钥是一个55的棋盘,将26个英文字母放置在里面,其中字母i和j被放在同一个方格中,如下表所示:1.2 几种典型的古典密码体制几种典型的古典密码体制第1章 古典密码 第1章 古典密码 在给定了字母排列结果的基础上,每一个字母都会对应一个数字,其中是该字母所在行的标号,是该字母所在列的标号。通过设计的棋盘就可以对英文消息进行加密,如u对应的是22,f对应的是34。第1章 古典密码 例例1.1 如果明文消息是Information
8、 Security则相应的密文序列是23 54 34 24 14 55 31 15 23 24 54 32 13 51 22 14 23 15 21解密过程应用相同的棋盘排列,根据密文给出的字母所在位置来恢复相应的明文消息。棋盘密码的任一个密钥是25个英文字母(将字母i和j看成一个字母)在55的棋盘里的一种不重复排列。由于所有可能的排列有25!种,因此棋盘密码的密钥空间大小为25!。所以,对于棋盘密码,如果采用密钥穷举搜索的方法进行攻击,计算量会相当大。第1章 古典密码 1.2.2 移位密码移位密码移位密码的加密对象为英文符号。移位密码采用每一字母向前推移key位的方式实现加密。换句话说,移位
9、密码实现了26个英文字母的循环移位。由于英文字符有26个字母,因此可以在英文字母表和Z26=0,1,26之间建立一一对应的映射关系。当取密钥key=3时,得到的移位密码称为凯撒密码,因为该密码体制首先被Julius Caesar所使用。第1章 古典密码 定义定义1.2.1 移位密码体制 令M=C=K=Z26。对任意的keyZ26,xM,yC,定义ekey(x)=(x+key)mod26dkey(y)=(y-key)mod26在使用移位密码体制对英文符号进行加密之前,首先需要在26个英文字母与Z26中的元素之间建立一一对应关系,然后应用以上密码体制进行相应的加密计算和解密计算。例例1.2 设移位
10、密码的密钥为key=7,英文字符与Z26中的元素之间的对应关系如下表所示:第1章 古典密码 第1章 古典密码 假设明文为ENCRYPTION,则加密过程如下:首先将明文根据对应关系表映射到Z26,得到相应的整数序列04 13 02 17 24 15 19 08 14 13然后将每个数字与7相加,同时对26进行取模运算,得到11 20 09 24 05 22 00 15 21 20最后再应用对应关系表将以上数字转化成英文字符,即得相应的密文为LUJYFWAPVU第1章 古典密码 解密是加密的逆过程。首先应用对应关系表将密文转化成数字,再将每个数字减去7后和26进行取模运算,对计算结果使用原来的对
11、应关系表即可还原成英文字符,从而解密出相应的明文。移位密码的加密和解密过程都是循环移位运算,由于26个英文字母顺序移位26次后还原,因此移位密码的密钥空间大小为25。第1章 古典密码 1.2.3 代换密码代换密码26个英文字母和Z26的元素之间可以建立一个一一对应关系,于是Z26上的任一个置换也就对应了26个英文字母表上的一个置换。因此可以借助Z26上的置换来改变英文字符的原有位置,以达到加密的目的,Z26上的置换看成了加密所需的密钥。这样可以将加密和解密过程直接看做是对英文字母表进行了置换变换。第1章 古典密码 定义定义1.2.2 代换密码体制 令M=C=Z26,K是Z26上所有可能置换构成
12、的集合。对任意的置换K,xM,yC,定义 e(x)=(x)d(y)=-1(y)这里和-1互为逆置换。例例1.3 设置换如下:第1章 古典密码 其中大写字母为明文字符,小写字母为密文字符。根据以上对应关系,置换对应的逆置换-1为第1章 古典密码 假设明文为ENCRYPTION,则相应的密文为tfeknhzogf。代换密码的任一个密钥都是26个英文字母的一种置换。由于所有可能的置换有26!种,因此代换密码的密钥空间大小为26!。所以,对代换密码如果采用密钥穷举搜索的方法进行攻击,计算量会相当大。第1章 古典密码 1.2.4 维吉尼亚密码维吉尼亚密码前面介绍的移位密码和代换密码体制中,一旦加密密钥被
13、选定,则英文字母表中每一个字母对应的数字都会被加密成惟一的一个密文数字。这种密码体制被称为单表代换密码。本小节介绍一种多表代换密码维吉尼亚密码(Vigenre Cipher),它是由法国人Blaise de Vigenre在16世纪提出的。第1章 古典密码 定义定义1.2.3 维吉尼亚密码体制维吉尼亚密码体制 令m是一个正整数,相应地定义M=C=K=(Z26)m。对任意的密钥key=(k1,k2,km)K,(x1,x2,xm)M,(y1,y2,ym)C,定义ekey(x1,x2,xm)=(x1+k1,x2+k2,xm+km)mod 26dkey(y1,y2,ym)=(y1-k1,y2-k2,y
14、m-km)mod 26如果已经在26个英文字母和Z26之间建立了一一对应的关系,则每一个密钥keyK都相当于一个长度为m的字母串,被称为密钥字。第1章 古典密码 例例1.4 令m=8,密钥字为Computer,则根据例1.2中的对应关系可知,密钥字对应的数字序列为key=(02,14,12,15,20,19,04,17)。假设明文消息为Block cipher design principles加密过程首先将明文字符串对应为数字,每8个分为一组,使用密钥字对分组明文消息进行模26下的加密运算,加密过程如下所示:第1章 古典密码 第1章 古典密码 所以相应的密文序列为Dzarevmgjsdsyl
15、mxpddxhvmgnse解密过程使用相同的密钥字,进行相应的逆运算即可。维吉尼亚密码的密钥空间大小为26m,所以即使m的值较小,相应的密钥空间也会很大。在维吉尼亚密码体制中,一个字母可以被映射为m个字母中的某一个,这样的映射关系也比单表代换密码更为安全一些。第1章 古典密码 1.2.5 仿射密码仿射密码仿射密码是代换密码的一个特例。仿射密码的密码体制定义如下。定义定义1.2.4 仿射密码体制令M=C=Z26,K=(k1,k2)Z26Z26:gcd(k1,26)=1。对任意的密钥key=(k1,k2)K,xM,yC,定义ekey(x)=(k1x+k2)mod 26dkey(y)=(y-k2)m
16、od 26其中,表示k1在Z26中的乘法逆,gcd(k1,26)=1表示k1与26互素。根据数论中的相关结论,当且仅当gcd(k1,26)=1时,同余方程y(k1x+k2)mod 26有惟一解x。当k1=1时,仿射密码变成了移位密码。第1章 古典密码 例例1.5 设已知仿射密码的密钥k=(11,3),则可知11-1 mod 26=19。假设明文为13,那么相应的密文为y=(113+3)mod 26=16解密过程为x=19(16-3)mod 26=13在Z26中,满足条件gcd(k1,26)=1的k1只有12个值(它们分别是1,3,5,7,9,11,15,17,19,21,23,25),因此仿射
17、密码的密钥空间大小为1226=312。第1章 古典密码 有关元素的乘法逆的具体计算方法,本书在附录中给出了详细的计算过程。对于Z26中与26互素的元素,相应的乘法逆为1-1 mod 26=13-1 mod 26=95-1 mod 26=217-1 mod 26=1511-1 mod 26=1917-1 mod 26=2325-1 mod 26=25上面给出的Z26上与26互素的元素逆元结论很容易通过乘法逆的定义进行验证,如1119=2091 mod 26。第1章 古典密码 1.2.6 置换密码置换密码前面几小节介绍的加密方式的共同特点是通过将英文字母改写成另一个表达形式来达到加密的效果。本节介
18、绍另一种加密方式,通过重新排列消息中元素的位置而不改变元素本身的方式,对一个消息进行变换。这种加密机制称为置换密码(也称为换位密码)。置换密码是古典密码中除代换密码外的重要一类,它被广泛应用于现代分组密码的构造。第1章 古典密码 定义定义1.2.5 置换密码体制 令m2是一个正整数,M=C=(Z26)m,K是Zm=1,2,m上所有可能置换构成的集合。对任意的(x1,x2,xm)M,K,(y1,y2,ym)C,定义其中,和-1互为Zm上的逆置换,m称为分组长度。对于长度大于分组长度m的明文消息,可对明文消息先按照长度m进行分组,然后对每一个分组消息重复进行同样的置乱加密过程。第1章 古典密码 例
19、例1.6 令m=4,=(1),(2),(3),(4)=(2,4,1,3)。假设明文为Information security is important加密过程首先根据m=4,将明文分为6个分组,每个分组4个字符。Info rmat ions ecur ityi simp orta nt然后应用置换变换加密成下面的密文:noif mtra osin creu tiiy ipsm raot tn解密密钥为-1=(1)-1,(2)-1,(3)-1,(4)-1)=(3,1,4,2)第1章 古典密码 在以上加密过程中,首先应用给定的分组长度m对消息序列进行分组,当消息长度不是分组长度的整数倍时,可以在最
20、后一段分组消息后面添加足够的特殊字符,从而保证能够以m为消息分组长度。例1.6中,我们在最后的分组消息tn后面增加了2个空格,以保证分组长度的一致性。对于固定的分组长度m,Zm上共有m!种不同的排列,所以相应的置换密码共有m!种不同的密钥。应注意的是,置换密码并未改变密文消息中英文字母的统计特性,所以置换密码对于抗频度分析技术来说是不安全的。第1章 古典密码 1.2.7 Hill密码密码置换密码的主要思想体现在“分组置换”,置换方式过于简单会使其安全性不高。为了进一步增加安全性,1929年Hill提出了一种多表代换密码Hill密码。该算法保留了置换密码的加密框架,所不同的是将分组后的每个部分采
21、用线性变换的方式得到密文。即将明文消息按照步长m进行分组,对每一组的m个明文字母通过线性变换将其转换成m个相应的密文字母。这样密钥由一个较为简单的排列问题改变成较为复杂的mm阶可逆矩阵。在使用Hill密码前,首先将英文的26个字母和数字126按自然顺序进行一一对应以方便处理。第1章 古典密码 定义定义1.2.6 Hill密码体制 令m2是一个正整数,M=C=(Z26)m,K 是定义在Z26上的所有大小为mm的可逆矩阵的集合。对任意的A K,定义eA(x)=xA mod 26dA(y)=yA-1 mod 26第1章 古典密码 例例1.7 令m=4,密钥为则相应的Z26上的逆矩阵为明文为Hill第
22、1章 古典密码 将以上明文转换成对应的数字序列7 8 11 11根据密钥A 可知,相应的密文为于是相应的密文序列为Ytix第1章 古典密码 已知密文消息和密钥A 的逆矩阵A-1,根据Hill密码体制的定义,对应的解密过程如下:于是相应的明文消息为Hill。通过例1.7可以发现,Hill密码对于相同的明文字母,可能有不同的密文字母与之对应。一般情况下,Hill密码能够较好地抵御基于字母出现频率的攻击方法。第1章 古典密码 在上面介绍的几个典型的古典密码体制里,含有两个基本操作:代换和置换。代换实现了英文字母外在形式上的改变;置换实现了英文字母所处位置的改变。这两个基本操作具有原理简单且容易实现的
23、特点。随着计算机技术的飞速发展,古典密码体制的安全性已经无法满足实际应用的需要,但是代换和置换这两个基本操作仍是构造现代对称加密算法最重要的核心方式。举例来说,代换和置换操作在数据加密标准(DES)和高级加密标准(AES)中都起到了核心作用。几个简单密码算法的结合可以产生一个安全的密码算法,这就是简单密码仍被广泛使用的原因。除此之外,简单的代换和置换密码在密码协议上也有广泛的应用。第1章 古典密码 1.3 古典密码的统计分析古典密码的统计分析自从有了加密算法,对加密信息的破解技术就应运而生。加密算法的对立面称做密码分析,也就是研究密码算法的破译技术,加密和破译构成了一对矛盾体。假设攻击者Osc
24、ar完全能够截获Alice和Bob之间的通信,密码分析是指在不知道密钥的情况下恢复出明文的方法。根据密码分析的erckhoffs原则:攻击者知道所用的加密算法的内部机理,不知道的仅仅是加密算法所采用的加密密钥。常用的密码分析攻击分为以下四类:第1章 古典密码(1)惟密文攻击(Ciphertext Only Attack):攻击者有一些消息的密文,这些密文都是用相同的加密算法进行加密得到的。攻击者的任务就是恢复出尽可能多的明文,或者能够推算出加密算法采用的密钥,以便可以采用相同的密钥解密出其他被加密的消息。(2)已知明文攻击(Know Plaintext Attack):攻击者不仅可以得到一些消
25、息的密文,而且也知道对应的明文。攻击者的任务就是用加密信息来推算出加密算法采用的密钥或者导出一个算法,此算法可以对用同一密钥加密的任何新消息进行解密。第1章 古典密码(3)选择明文攻击(Chosen Plaintext Attack):攻击者不仅可以得到一些消息的密文和相应的明文,而且还可以选择被加密的明文。这比已知明文攻击更为有效,因为攻击者能够选择特定的明文消息进行加密,从而得到更多有关密钥的信息。攻击者的任务是推算出加密算法采用的密钥或者导出一个算法,此算法可以对用同一密钥加密的任何新消息进行解密。第1章 古典密码(4)选择密文攻击(Chosen Ciphertext Attack):攻
26、击者能够选择一些不同的被加密的密文并得到与其对应的明文信息。攻击者的任务是推算出加密密钥。对于以上任何一种攻击,攻击者的主要目标都是为了确定加密算法采用的密钥。显然这四种类型的攻击强度依次增大,相应的攻击难度则依次降低。由于古典密码都是为了对英文字符进行加密而设计的,因此许多古典密码的密码分析方法都利用了英文语言的统计特性。在对大量的英文文章、报纸、小说和杂志进行统计分析的基础上,Beker和Piper给出了26个英文字符出现概率的统计结果。第1章 古典密码 在表1-1的基础上,可以将26个英文字符划分成5个部分:(1)字符E的概率大约为0.12。(2)字符A、H、I、N、O、R、S、T的概率
27、大约为0.060.09。(3)字符D、L的概率大约为0.04。(4)字符B、C、F、G、M、P、U、W、Y的概率大约为0.0150.023。(5)字符J、K、Q、V、X、Z的概率小于0.01。第1章 古典密码 第1章 古典密码 当然,除了26个英文字符呈现出的统计规律性外,还有一些字母组合也很常见,如TH、HE、IN、RE、DE、ST、EN、AT、OR、IS、ET、IT、AR、TE、HI、OF、THE、ING、ERE、ENT、FOR等,这些规律都为密码分析提供了很好的依据。根据以上英文字母的统计规律性,可以实现对古典密码体制的破译。首先以仿射密码为例,说明应用以上统计结果对其进行惟密文攻击的密
28、码分析过程。假设攻击者Oscar截获到的密文为FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH第1章 古典密码 对以上密文消息中的英文字符进行统计,相应的结果如下:第1章 古典密码 通过以上统计可知,在密文消息中按照出现频率排序,频率最大的英文字符依次是:R,D,E,H,K,S,F,V。通过与表1-1对照,我们可以假设密文字符R对应的明文字符是e,密文字符D对应的明文字符是t。用仿射密码体制来表示就是ekey(4)=17,ekey(19)=3。仿射密码体制中,ekey(x)=(k1x+k2)mod 26,这里k1、k2是未知的加
29、密密钥。根据假设我们可以得到关于密钥k1、k2的线性方程组:第1章 古典密码 解以上方程组,得到惟一的解k1=6,k2=19。显然得到的密钥是不合法的,因为gcd(k1,26)=21。说明以上假设密文字符R对应明文字符e,密文字符D对应明文字符t是错误的。第1章 古典密码 接下来根据表1-1,我们假设密文字符R对应的明文字符是e,密文字符E对应的明文字符是t。同样用仿射密码体制来表示就是ekey(4)=17,ekey(19)=4。采用相同的方法建立线性方程组:第1章 古典密码 解方程组可得k1=13。得到的密钥也是不合法的。再假设密文字符R对应的明文字符是e,密文字符H对应的明文字符是t。同样
30、用仿射密码体制来表示就是ekey(4)=17,ekey(19)=7。采用相同的方法建立线性方程组:第1章 古典密码 解方程组可得k1=8。得到的密钥仍然是不合法的。再假设密文字符R对应的明文字符是e,密文字符K对应的明文字符是t。同样用仿射密码体制来表示就是ekey(4)=17,ekey(19)=10。采用相同的方法建立线性方程组:第1章 古典密码 解方程组得到惟一的解k1=3,k2=5。可以知道得到的密钥是一组合法密钥。接下来我们应用得到的密钥对密文消息进行解密来进一步验证密钥的正确性。由于3-1 mod 26=9,因此解密过程为dkey(y)=9y-19。解密密文得到 Algorithms
31、 are quite general definitions of arithmetic processes通过解密出的明文消息可知,所得到的密钥是正确的。第1章 古典密码 接下来再以代换密码为例,说明应用表1-1的统计结果对其进行惟密文攻击的密码分析过程。假设攻击者Oscar截获到的密文为YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJNDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZNZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJXZWGCHSMRNMDHNCMFQCHZJMXJZWI
32、EJYUCFWDJNZDIR第1章 古典密码 对以上密文消息中的英文字符进行统计,相应的结果如下:第1章 古典密码 通过以上统计可知,在密文消息中按照出现频率排序,频率最大的英文字符依次是:Z,M,C,D,F,J,R,Y。通过与表1-1对照,可以假设密文字符Z对应的明文字符是e,密文字符集合M,C,D,F,J,R,Y应该对应的明文字符集合是a,h,i,o,r,s,t。但是,仅依据表1-1与以上的统计结果之间的关系难以确定两个字符集合之间的具体对应关系。接下来再利用英文字符组合的统计规律性来进行分析。第1章 古典密码 已经假设密文字符Z对应的明文字符是e,在密文消息中,与字符Z有关的长度为2的组
33、合中出现较多的分别是DZ和ZW(分别出现4次),NZ和ZU(分别出现3次),RZ、HZ、XZ、FZ、ZR、ZV、ZC和ZD(分别出现2次)。因此在以上统计结果中,ZW出现了4次,而WZ没有出现,同时字符W本身单独出现的次数也较少,所以假设密文字符W对应的明文字符是d。由于DZ出现4次,而ZD也出现了2次,因此可以假设密文字符D可能对应明文字符r、s、t中的某一个。第1章 古典密码 在密文的开始部分出现ZRW和RZW字符组合,字符组合RW在密文消息中也出现过,而且密文字符R在密文消息中也频繁出现,所以假设密文字符R对应的明文字符是n。第1章 古典密码 YIFQFMZRWQFYVECFMDZPCV
34、MRZWNMDZVEJBTXCDDUMJ?end?e?ned?e?NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ?e?e?n?d?en?e?eNZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJ?e?n?n?ed?e?e??ne?nd?e?e?XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR?ed?n?e?ed?d?e?n根据已经做出的假设,可以给出密文的部分破译结果如下:第1章 古典密码 由于密文字符组合NZ出现的频率较高,而组合ZN出现次数很少,因此接下来假设密文字符N对应的明文字符是
35、h。如果该假设是正确的,则在密文消息第三行中出现的RZCRWNZ对应的明文字符序列是ne?ndhe,据此可以假设密文字符C对应的明文字符是a。根据以上假设,可以得到进一步的破译结果如下:YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ?end?a?e?a?nedh?e?a?NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZh?ea?e?a?a?nhad?en?a?e?h?eNZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJhe?a?n?n?ed?e?e?neandhe?e?XZWGCHSMR
36、NMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR?ed?a?nh?ha?a?e?ed?a?d?he?n第1章 古典密码 接下来确定在密文中出现次数较多的字符M。由于已经确定密文RNM解密成nh?,说明h很可能是一个单词的第一个字符,因此M对应的明文字符应该是一个元音字符。考虑到已经使用了元音字符a和e,同时考虑到字符组合ao出现概率较低,假设密文字符M对应的明文字符是i,从而进一步得到破译结果如下:第1章 古典密码 YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ?iend?a?i?e?a?inedhi?e?a?i?NDIFEFMDZCDM
37、QZKCEYFCJMYRNCWJCSZREXCHZUNMXZh?i?ea?i?e?a?a?i?nhad?en?a?e?hi?eNZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJhe?a?n?in?i?ed?e?e?ineandhe?e?XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR?ed?a?inhi?hai?a?e?i?ed?a?d?he?n第1章 古典密码 在剩余的D,F,J,Y与r,s,t,o的对应关系中,根据密文消息第一行的组合CFM对应a?i,可以猜测密文字符F不可能对应明文字符o;根据密文消息第二行的组合CJM
38、对应a?i,可以猜测密文字符J也不可能对应明文字符o。因此假设密文字符Y对应的明文字符是o。剩余的对应关系中,由于NMD出现了2次,因此假设密文字符D对应的明文字符是r,而根据密文消息第二行的组合HNCMF对应chai?,可以假设密文字符F对应的明文字符是r,密文字符H对应的明文字符是c,从而假设密文字符J对应的明文字符是t。在此基础上,进一步得到破译结果如下:第1章 古典密码 YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJo?r?riend?ro?arise?a?inedhise?t?ass?itNDIFEFMDZCDMQZKCEYFCJMYRNCWJC
39、SZREXCHZUNMXZhs?r?riseasi?e?a?orationhadta?en?ace?hi?eNZUCDRJXYYSMRTMEYIFZWDYVZVYFZUMRZCRWNZDZJJhe?asnt?oo?in?i?o?redso?e?ore?ineandhesettXZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR?ed?ac?inhischair?aceti?ted?to?ardsthes?n第1章 古典密码 在此基础上,我们可以得到解密的明文消息为:Our friend from Paris examined his empty glass wi
40、th surprise,as if evaporation had taken place while he wasnt looking.I poured some more wine and he settled back in his chair,face tilted up towards the sun.第1章 古典密码 理论上讲,一次一密的密码体制是不可破译的,但考虑到加密算法的密钥传输代价,它又是不实用的。所以实际上不存在不可破译的密码(除了后面将要介绍的序列密码,但考虑到算法的实用性,该密码算法也是有可能被破译的)。通常,衡量密码体制安全性的基本准则有以下几种:(1)计算安全的(
41、Computational Security):如果破译加密算法所需要的计算能力和计算时间是现实条件所不具备的,那么就认为相应的密码体制是满足计算安全的。第1章 古典密码(2)可证明安全的(Provable Security):如果对一个密码体制的破译依赖于对某一个经过深入研究的数学难题的解决,就认为相应的密码体制是满足可证明安全的。(3)无条件安全的(Unconditional Security):如果假设攻击者在无限计算能力和计算时间的前提下,也无法破译加密算法,就认为相应的密码体制是无条件安全的。除了一次一密加密算法以外,从理论上来说,不存在绝对安全的密码体制。所以实际应用中,只要能够证
42、明采用的密码体制是计算安全的,就有理由认为加密算法是安全的,因为计算安全性能够保证所采用的算法在有效时间内的安全性。第1章 古典密码 1.已知仿射密码的密钥为(11,3),应用该密钥对明文消息Cryptography and network security进行加密,试给出相应的明文消息。2.在一个密码体制中,如果对应一个密钥k的加密函数ek和解密函数dk相同,那么将这样的密钥k称为对合密钥。试找出定义在Z26上的移位密码体制中的所有对合密钥。3.对于n=6和9,分别给出在Zn上的22大小的所有可逆矩阵。习习 题题第1章 古典密码 4.计算以下定义在Z26上的矩阵的逆矩阵:(1)(2)第1章
43、古典密码 5.设置换密码体制中,m=6,给定的置换如下:试给出置换的逆置换,并应用置换对以下明文消息进行加密:A model for network security第1章 古典密码 6.下面给出一种特殊的置换密码体制。设m、n为正整数,将明文消息写成一个mn的矩阵形式,然后依次取矩阵的各列构成相应的密文消息。例如,设m=4,n=3,明文消息为Cryptography相应的矩阵为cryptography第1章 古典密码 则得到相应的密文消息为Ctaropyghpry(1)当已经知道m和n时,试给出Bob的解密过程。(2)试通过解密给出以下密文相应的明文消息:Myamraruyiotenctorahroywdsoyeouarrgdernogw第1章 古典密码 7.试在Z26上对代换密码和置换密码的安全性进行分析。8.密码学研究的主要问题是什么?9.谈谈你所了解的密码学的应用。