《经典密码学.ppt》由会员分享,可在线阅读,更多相关《经典密码学.ppt(90页珍藏版)》请在三一办公上搜索。
1、1,经典密码学,现代密码学第2章,2,本章主要内容,1、密码体制的定义与分类2、代替密码与移位密码3、变换密码4、乘积密码5、密码机的发展历史,3,1.密码体制的定义,一个密码体制是一个六元组:(M,C,K1,K2,E,D)其中,M-明文空间C-密文空间K1-加密密钥空间K2-解密密钥空间E-加密变换空间D-解密变换空间,4,密码体制的理解,明文(plaintext)乃信息的原始形式,一般是信息的基本单元(字母、数字或符号等)的有限排列;密文(cipher)乃明文经过加密以后的结果形式,一般没有明确意义;密钥(key)乃用于加解密变换的关键信息,视其用于加解密而分别称为加密密钥与解密密钥;,5
2、,密码体制的理解,一个加密变换乃一个下列形式的一一映射:E:MK1 C 一般对于给定的kK1,把E(-,k)记为Ek;一个解密变换乃对应一个加密变换E而言,其实是一个以下形式的映射:D:CK2 M 并且适合(对于给定的kK2,也把D(-,k)记为Dk):,6,密码体制的理解,重要原则:对任一kK1,都能找到k”K2,使得Dk”(Ek(m)=m,mM。,7,一般性说明,我们常将26个英文字母(不区分大小写)与整数025依次一一对应。记 Zq=0,1,2,q-1称之为模q剩余类环;当q为素数时,该环进一步形成为域,可改写为Fq。,8,一般性说明,一般说来,一个密码体制的任一密钥控制下的加密变换都要
3、求把明文按n(最少必要的固定数)个信息单元进行分组。照理,一个密码体制的明文空间M应该是所有可能明文的集合,但人们却习惯于把它写成前述所有n个信息单元组的集合;如此,密文空间C以及加解密变换的定义也有相应的变通。,9,简单密码举例,密码学的历史已有4000多年古埃及人曾把象形文字写在石碑上,10,简单密码举例,例1.凯撒(Caesar)密码凯撒密码是古罗马人Julius Caesar发明的一种密码体制,它是使用最早的密码体制之一。凯撒密码用于对英文信息进行加密,它依据下列代替表(由英文字母表左环移3位得到)对信息中26个英文字母进行替换:,11,简单密码举例,若明文为:Substitution
4、 cryptosystem 则相应的密文是:,VXEVWLWXWLRQ FUBSWRVBVWHP,在上述凯撒密码体制中,英文字母代替表即相当于密钥;若将英文字母表左环移k(0k26)位得到替换表,则得一推广的凯撒密码体制。,12,简单密码举例,练习 解密 RPQLD JDOOLD HVW GLYLVD LQ SDUWHV WUHV,13,简单密码举例,可写出推广凯撒密码体制的精确形式如下:M=C=Z26K1=K2=Z26E=Ek|kK1其中,Ek(m)=m+k(mod 26),mM;D=Dk|kK2其中,Dk(c)=c-k(mod 26),cC。,14,恺撒密码的一般形式,一般形式,可以把Ca
5、esar cipher 中字母移动的位数由3变为1-25中的任何一个。可以指定一个密钥字母作为字母A的密文。例如:密钥字母F表示:A F,B G,.Y D,Z E 即每个字母移动5位 共有26种可能的密码算法(25种可用),15,Caesar密码分析(Cryptanalysis of Caesar ciphers),只有 26 种可能(only have 26 possible ciphers)A maps to A,B,.Z 可以简单的实验每个密钥(穷密钥搜索)给定一些密文,实验每个密钥。Original ciphertext LIZHZLVKWRUHSODFHOHWWHUV try shi
6、ft of 1 KHYGYKUJVQTGRNCEGNGVVGTU try shift of 2 JGXFXJTIUPSFQMBDFMFUUFST try shift of 3 IFWEWISHTOREPLACELETTERS*plaintext HEVDVHRGSNQDOKZBDKDSSDQR try shift of 4 GDUCUGQFRMPCNJYACJCRRCPQ try shift of 5.MJAIAMWLXSVITPEGIPIXXIVW try shift of 25 eg.break ciphertext GCUA VQ DTGCM,16,语言冗余度与密码分析,人类语言是有冗余
7、度的字母使用的频率是不相同的在英语中,e 的使用率是最高的其次,T,R,N,I,O,A,S 其它字母使用的较低,17,英语字母使用频率,18,字母频率在密码分析中的应用,计算密文中字母出现的频率与已知字母分布比较单码替换不改变相对字母出现的频率阿拉伯科学家提出此方法,19,英语字母中常见的组合,20,简单密码举例,例2.简单移位密码明文:transp ositio ncrypt osyste mxxxxx密钥:=(352614)密文:上述将明文加密成密文的过程是:将明文每个字母分成一组(最后不够一组时用字母x补足);作为密钥的置换的定义如下:31,52,23,64,15,46依据置换重新排列每
8、组明文。,ASRPTN IISOOT RPCTNY YTSEOS XXXXMX,21,简单密码举例,上述简单移位密码体制的精确形式是:M=C=m1m2m6|miZ26,i=1,2,6K1=K2=S6(6次对称群)E=E|K1其中,E(m1m2m6)=m(1)m(2)m(6);D=D|K2其中,D(c1c2c6)=c(1)c(2)c(6)(为的逆置换)。,22,密码体制的分类,依据信息元素的形态分类对一个密码体制,考察其任一密钥控制下的加密变换:若任意密文c=c1c2cn的各信息元素ci均是相应明文m=m1m2mn的各信息元素mi的某种排列,则称该种密码为移位密码;否则,即存在密文c=c1c2c
9、n的各信息元素ci不是相应明文m=m1m2mn的各信息元素mi的某种排列,称该种密码为代替密码。,代替密码(如例1)移位密码(如例2),23,密码体制的分类,移位密码的特点:移位密码的加密变换使得信息元素只有位置变化而形态不变,如此可以打破消息中的某些固定模式(结构)。代替密码的特点:代替密码的加密变换使得信息元素的形态有所变化,如此可以使明文与密钥的信息混乱在一起,使局外人很难确定明文和密钥是如何变换成密文的。,24,密码体制的分类,依据对信息元素的处理方式分类,序列(流)密码分组(块)密码,一个密码体制的明文必要分组长度n若为1,则称该密码为序列(流)密码,否则(即n1)称该密码为分组(块
10、)密码。,25,密码体制的分类,序列(流)密码的特点:加解密速度快,无错误扩散;一般用于实际的安全产品。分组(块)密码的特点:适合数据库加密,组内有错误扩散;一般用于公开的理论研究。,26,密码体制的分类,依据密钥分类,单钥密码(传统密码,对称钥密码)双钥密码(公钥密码,非对称钥密码),基于计算复杂性,人们可以设计出这样的密码体制:加密变换与相应的解密变换分别使用不同的密钥k与k”,并且kk”在计算上不可行(尽管理论上应该能够)。如此,用户选择该体制的一对加解密密钥(k,k”)后,可以将前者公开而后者私存。区别于传统上加解密密钥一致或相近而必须都保密的观念,称之为非对称(公开)钥密码体制。,2
11、7,密码体制的分类,一般说来,单钥密码体制(包括分组、序列密码)都是基于计算安全性的,而双钥密码体制是基于可证明安全性的。这两种安全性都是从计算量来考虑,但不尽相同。计算安全要算出或估计出破译它的计算量下限,而可证明安全则要从理论上证明破译它的计算量不低于解已知数学难题的计算量。,28,密码体制的分类,单钥密码优点:运行速度快,具有可靠的保密强度;不足:不便密钥交换和管理。双钥密码优点:便于密钥交换和管理,还可用于消息认证(数字签名);不足:运行速度缓慢,其安全性所 依赖的数学难题的复杂性一般都未能证明。,29,早期密码体制大都比较简单,其中许多经不起计算机的破译攻击。这些体制一般都是直接针对
12、原始的信息单元(字母或符号等)设计,而并不象现代密码体制那样非常重视和体现信息的数字化与数学处理。但对早期密码体制的讨论可以说明构造和破译的基本原理和方法,对于理解、构造和分析现代复杂的实用密码体制有着起码的利益。,2.代替密码,30,早期密码体制基本上可以按照下述分类笼统起来:代替密码移位密码以下我们便按照这样的分类来依次学习早期的密码体制及其破译。,2.代替密码,31,2.代替密码,一个代替密码,若其任何密文可以看成是对相应明文的各组信息单元使用同一个代替表进行替换而得到,则称其为单表代替密码;否则,即有密文是依次对相应明文的各组信息单元使用有限个周期性重复的或无限多的固定代替表进行替换而
13、得到,称其为多表代替密码。,32,单表代替密码,每个字母可以用其它任何一个字母替换(不能重复)每个字母可以随机的映射到其它一个 因此密钥长度是26个字母 单字母替换密码(Monoalphabetic Substitution Cipher)例如:明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文:DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext:IFWEWISHTOREPLACELETTERS Ciphertext:WIRFRWAJUHYFTSDVFSFUUFYA,33,单表代替密码举例,给定密钥字“STARWARS”,去掉重复字母得到“STARW”,填写
14、剩余字母:STARW BCDEF GHIJK LMNOP QUVXY Z 按列读取字母得到密文:Plain:ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher:SBGLQZTCHMUADINVREJOXWFKPY 可以用这个密钥加密、解密 例如 Plaintext:I KNOW ONLY THAT I KNOW NOTHING Ciphertext:H UINF NIAP OCSO H UINF INOCHIT,34,单表代替密码,需要一种简单方法指定密钥。有多种方法,一种简单方法是写没有重复字母的“密钥字”,其它字母按顺序写在密钥字最后字母后面。例如,给定密钥字 JULIUS
15、CAESAR Plain:ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher:JULISCASRTVWXYZBDFGHKMNOPQ,35,单表代替密码的密码分析,根据频率统计进行分析,确定每个字母被映射到什么字母,单个字母出现的可能是A或I(since know single words are A or I)一般来说个字母出现的可能是THE或AND,还可以用其他通常出现的双字母或三字母组合。还可以应用其它很少应用的字母,36,单表代替密码构造方法,举例例1.一个英文单表代替密码例2.方格密码例3.普莱费尔(Playfair)密码构造方法构造单表代替密码的关键是构造一张明密代替
16、表(可能以对应Z26的观点写成一个数学公式)。以后不加声明,总假定M=C=a,b,c,z(记为A),Z26,或它们的n-直积。,37,单表代替密码构造方法,密钥字法该法形成明密代替表如下:首先依次列出密钥字中字母(去掉其中的重复),然后依次列出字母表中其余的字母。特点:便于由记忆的密钥字构造出明密代替表;但密钥空间K由所有可能的密钥字构成,其实密钥量|K|比较小。,38,洗牌法该法就是将写有每个英文字母的26张纸牌打乱次序后重新排列形成明密代替表。如例1。特点:密钥空间K由26个英文字母的所有可能的全排列构成(|K|=26!),密钥的保密性较好,但不便于记忆。,单表代替密码构造方法,39,仿射
17、法该法的加密变换Ek为:Ek(m)=k1m+k2(mod 26),mZ26其中,k=(k1,k2)为密钥;为使上述加密变换是一一的(从而才有相应的解密变换),必要且只要(k1,26)=1。特点:便于用计算机实现,但密钥空间K=(k1,k2)|k1,k2Z26,(k1,26)=1,密钥量|K|=1226-1=311较小。,单表代替密码构造方法,40,多项式法该法的加密变换Ek为(t为取定自然数):Ek(m)=ktmt+kt-1mt-1+k1m+k0(mod 26),mZ26其中,k=(kt,kt-1,k1,k0)为密钥。仿射法其实是上述多项式法当t=1时的特例。有关多项式法的加密变换Ek何时是一
18、一的以及对密钥空间K 的讨论已超出本课程的知识范围,在此不去涉及。,单表代替密码构造方法,41,矩阵法该法的思想是:将明文组m=(m1m2mn)通过Z26上可逆的线性变换转换为密文组c=(c1c2cn)。如此,密钥空间K=(kij)|(kij)为Z26上n阶可逆方阵(有关讨论超出本课程的知识范围);对于k=(kij)K,加密变换Ek为:Ek(m1m2mn)=(c1c2cn),miZ26其中,ci=ki1m1+ki2m2+kinmn(mod 26)。,单表代替密码构造方法,42,(2)多表代替密码,多表代替密码是依次对明文的各组信息单元使用有限个周期性重复的或无限多的固定代替表进行替换来得到密文
19、的:若是使用无限多的固定代替表(相对于明文变化是随机的),则称其为一次一密代替密码;若是使用有限个周期性重复的固定代替表,则称其为周期多表代替密码。,43,(2)多表代替密码,一次一密密码是在理论上唯一不可破解的密码,这种密码对于明文的特点可实现完全隐藏,但由于需要的密钥量与明文所含信息单元的个数一样大,故其难以实用。周期多表代替密码的实际情形如下:在给定的密钥(d个代替表排列T1T2Td)之下,加密明文m=m1m2m3的结果是c=T1(m1)Td(md)T1(md+1)Td(m2d)d称为该周期多表代替密码的周期。,44,周期多表代替密码,举例例1.四表代替密码。例2.维吉尼亚(Vigene
20、re)密码。,45,Blaise de Vigenre 发明了多字母替换密码(polyalphabetic substitution cipher)使用多个单字母替换表 因此一个字母可以被多个字母替换。方法:用一个密钥选择对每个字母使用哪个字母表,密钥的第I个字母表示使用第 ith 个字母表,依次使用每个字母表,当密钥的字母使用完后,在从头开始。,Vigenre Cipher,46,例:写出明文,在明文下重复写出密钥字;依次使用每个字母作为caesar cipher 的密钥,加密对应的明文字母。Plaintext THISPROCESSCANALSOBEEXPRESSED Keyword CI
21、PHERCIPHERCIPHERCIPHERCIPHE Plaintext VPXZTIQKTZWTCVPSWFDMTETIGAHLH,Vigenre Example,47,C-CDEFGHIJKLMNOPQRSTUVWXYZAB I-IJKLMNOPQRSTUVWXYZABCDEFGH P-PQRSTUVWXYZABCDEFGHIJKLMNO H-HIJKLMNOPQRSTUVWXYZABCDEFG E-EFGHIJKLMNOPQRSTUVWXYZABCD R-RSTUVWXYZABCDEFGHIJKLMNOPQ ABCDEFGHIJKLMNOPQRSTUVWXYZ to map the a
22、bove plaintext letters.T uses key C maps to V H uses key I maps to P I ises key P maps to X。,Vigenre Example,48,可以看出,越安全的密码使用起来越复杂,因此,在有些场合还可以看到单码替换密码,随着破译单码密码的技术提高,使得vigenre cipher 逐渐被各国使用,1854年,首次被 Charles Babbage 攻破,但没有公开。Friedrich Kasiski 与1863年攻破并发表了此密码的各种变形被沿用到20世纪。,History of the Vigenre Ciph
23、er,49,周期多表代替密码,例3.博福特(Beaufort)密码。例4.弗纳姆(Vernam)密码该密码是美国电报电话公司的G.W.Vernam在 1917年发明的。他将英文字母编成五位二元波多电码(Baudot code),参见P.47表3.2.9。选择随机的二元密钥序列k=k1k2ki,对字母变换成二元码后的明文m=m1m2mi加密以后得到c=c1c2ci,其中ci=mi ki,i=1,2,50,周期多表代替密码,思考:怎样理解上述弗纳姆密码是周期多表代替密码?其实,弗纳姆密码可以看成周期d=明文长(明文所含字母数目)的多表代替密码。一般地,我们称周期d=明文所含信息单元组数目的多表代替
24、密码为滚动密钥(Running-key)密码。,51,周期多表代替密码,对于一个滚动密钥密码,其密钥序列(即依次决定d个代替表的系列对应要素,如弗纳姆密码所用的二元密钥序列)若能真正随机产生,则该种代替密码便相当于一次一密的了;一般密钥序列要由一给定主密钥作为初态的某密钥源伪随机地产生。,52,周期多表代替密码,构造方法照理,周期为d的多表代替密码的密钥空间应为K=T1T2Td|Ti为代替表,i=1,2,d,但在实际应用之中的密钥变化量往往较小:人们首先构造出dd个代替表T1,T2,Td,然后以T1,T2,Td取出d个的排列为密钥空间。如例1、2、3。上述在T1,T2,Td中取出d个排列起来的
25、过程一般是借助决定d个代替表的系列对应要素进行,因此称之为构造密钥序列。,53,周期多表代替密码,显然,周期多表代替密码的构造可以归结为:多个代替表(称为底表)的构造密钥序列的构造一个周期多表代替密码的密钥其实是上述密钥序列,底表预先定义,而在加密中每次应用哪一底表完全由该密钥序列来控制。,54,周期多表代替密码,底表的构造一个底表一般为二维表,并且要求每个密文单元所在的行或列中出现一次且只出现一次,即该二维表应构成一个拉丁方阵。有关拉丁方阵的研究和构造可参见一些组合学书籍或刊物。,55,周期多表代替密码,要求底表为一个拉丁方阵是必要的:因一般来说,底表的行、列分别对应明文和密钥:若横行有重码
26、,则加密变换便不是一一的;若纵列有重码,则即使密钥序列是随机选取的,但明码中的不平衡性,也会造成密码的不平衡,从而使破译者仅从密码的统计分析即可获得明文的部分信息,这不利于保密。当然,若周期较大,则对保密性而言,底表的作用不大,其完全取决于密钥序列。,56,周期多表代替密码,密钥序列的构造人们当然希望所产生的密钥序列具有尽可能好的随机性。一般可有下述三种构造方法:主观密钥源该种密钥源是以一本书或一个文件的选择内容作为密钥序列k1k2kd。评价:由于书本或文件中各信息单元出现的频率差异很大,故该种密钥源的保密性能不佳。,57,周期多表代替密码,随机密钥源该种密钥源是以某种随机的方式产生密钥序列k
27、1k2kd。例如,对维吉尼亚密码或博福特密码,使用者可将分别刻有26个英文字母的26个小球放在坛子里,然后用有放回地随机拣球方法产生密钥序列。评价:该种密钥源的保密性能最佳,但当d较大时一则难以实现,另则必须将此产生的较长密钥序列完全传送给接收方、或要由接收方妥善保管、等等,实有诸多不便。,58,周期多表代替密码,伪随机密钥源该种密钥源是根据现代的编码方法,利用计算机硬件或软件实时地产生密钥序列k1k2kd。评价:该种密钥源往往以一给定的主密钥作为初态,产生一个自身呈周期性的密钥序列。但设计者可根据实际保密强度的要求,预期密钥序列的周期远远大于一般所加密明文的长度,而且还具有良好的随机性;此时
28、可以认为伪随机密钥源在保密性能上已近似于随机密钥源了。,59,周期多表代替密码,一个值得重视的问题是:密钥序列自身的保密性能固然重要,但若是应用不当,再好的密钥序列也可能无济于整个体制的安全。比如,密钥序列重用(这一现象称为重乱)就会给相应的周期多表代替密码体制带来危害,有关的具体情形以后会讲到。,60,多表代替密码的特点,单表代替密码的特点:具有明密异同规律,一般容易破译。周期多表代替密码的特点:在一定程度上打破了明密异同规律当周期d较小时,可确定之,并通过对密文重排,使其破译问题转化为对单表代替密码的破译对周期d较大且密钥序列是伪随机的,可达到实际保密对周期d较大且密钥序列是随机的,可达到
29、理论保密一次一密代替密码的特点:无规律可循,61,3.变换密码 transposition ciphers,变换密码(或置换密码)方法:通过重新编排消息字母隐藏信息特点:没有改变原来消息的字母集,62,(1)Scytale 密码,一种早期的 希腊变换密码一张纸条环绕在一个圆柱上 消息沿着圆柱横写纸条上的字母看起来是一些随机字母并不十分安全,密钥是纸条和圆柱的宽度,63,以不同的行写下消息字母 按行读取消息 Plain:I A E S W C N U R D C M I A I O Q E E Cipher:IAESW CNURD CMIAI OQEE,(2)轨道栏杆密码 Rail Fence
30、cipher,64,以一种形式写下消息,以另一种形式读取消息,(3)几何图形密码,65,变换密码的关键思想按一定规则写出明文,按另一规则读出密文。密钥:用于读密文的方法和写明文的方法,变换密码的关键思想,66,(4)行变换密码-Row transposition ciphers,group the message and shuffle letters within each group more formally write letters across rows then reorder the columns before reading off the rows always have
31、 an equivalent pair of keys(Read off vs Write In),67,Plain:THESIMPLESTPOSSIBLETRANSPOSITIONSXXKey(R):2 5 4 1 3 Key(W):4 1 5 3 2 T H E S I S T I E H M P L E S E M S L P T P O S S S T S O P I B L E T E I T L B R A N S P S R P N A O S I T I T O I I S O N S X X X O X S N Cipher:STIEH EMSLP STSOP EITLB S
32、RPNA TOIIS XOXSN,行变换密码,68,可以用一个英文单词做密钥,指定以字母顺序做为读取密文(或明文)Plain:CONVENIENTWAYTOEXPRESSTHEPERMUTATION Key(W):C O M P U T E R Key(W):1 4 3 5 8 7 2 6 A N O V I N C EE W T A O T N Y E R P E T S X SH E P R T U E M A O I N Z Z T Z Cipher:ANOVI NCEEW TAOTN YERPE TSXSH EPRTU EMAOI NZZTZ,行变换密码,69,用密钥 sorcery
33、加密下列消息:Key(R):sorcery=6 3 4 1 2 5 7 laser beams can be modulated to carry more intelligence than radio waves=erasb lecam snabd umole atoed ctamo ryrre elntl iicee ntgha dnria oesav w,行变换密码举例,70,步骤:按列写出消息 按解密密钥读取明文,行变换密码解密算法,71,频率分析能够提供语言轮廓 基本思想:猜测密钥周期,再对可能的行列变换进行猜测.利用常出现的双字母对或3字母对.,Cryptanalysis of
34、Row Transposition ciphers,72,密码分析举例,给定密文:LDWOE HETTS HESTR HUTEL OSBED EFIEV NT 对连续周期测试,对前面一些字母重新排列.2:LD WO EH ET TS HE ST RH UT EL OS BE DE FI EV NT-NO 3:LDW OEH ETT SHE STR HUT ELO SBE DEF IEV NT-NO 4:LDWO EHET TSHE STRH UTEL OSBE DEFI EVNT-NO 5:LDWOE HETTS HESTR HUTEL OSBED EFIEV NT-NO 6:LDWOEH E
35、TTSHE STRHUT ELOSBE DEFIEV NT-YES!note 第二组可能提供 THESET or TTHESE 可以猜测6字密钥能够给出这种密文 key 5,6,1,4,2,3 恢复明文如下:WEHOLD THESET RUTHST OBESEL FEVIDE NT or WE HOLD THESE TRUTHS TO BE SELF EVIDENT,73,(5)块(Block)变换密码,另一类变换密码 消息按行写,按列读出。按列读出的顺序由密钥给出。,74,为方便起见,把消息写成满矩阵形式 Key(R):s o r c e r y s o r c e r y Key(R):6
36、 3 4 1 2 5 7 6 3 4 1 2 5 7 l a s e r b e l a s e r b e a m s c a n b a m s c a n b e m o d u l a e m o d u l a t e d t o c a t e d t o c a r r y m o r e r r y m o r e i n t e l l I i n t e l l i g e n c e t h g e n c e t h a n r a d i o a n r a d i o w a v e s w a v e s q r matrix incomplete complet
37、e,块变换密码举例,75,续,由密钥给出的顺序读出密文(4,5,2,3,6,1,7)ecdtm ecaer auool edsam merne nasso dytnr vbnlc rltiq laetr igawe baaei hor,76,块变换密码解密,计算密文行数(by dividing message length by key length)按列写出密文消息(密钥给出顺序)按行读出明文消息,77,块变换密码分析,首先要知道是否块变换密码,通过消息长度猜测距阵大小,简单 测试每个密钥,按列写出消息 最一般的,利用自动工具实验所有置换,可以对一些可能单词组合形式的变换进行实验。,78,密
38、码分析例子,给定密文:HADVF NITHB CTSBE HTEGE SRYRN AMINR IAIST TETOO ETSAN GLIET GTDRS CYGAI TANAH FLNAU ETIEM EOHUE AELYR IIS 假设对行变换失败现猜测是块变换寻找THE,实验各种大小的密钥 try 2,use command b 2/THE-none match try 3,use command b 3/THE-none match try 4,use command b 4/THE-2 matches,both rubbish try 5,use command b 5/THE-1st
39、 match gives answer-b 5/THE THEGR EATES TDISC OVERY OFMYG ENERA TIONI STHAT AHUMA NBEIN GCANA LTERH ISLIF EBYAL TERIN GHISA TTITU DES Accept(y/n/q)?y,79,Nihilist ciphers,更复杂的变换密码(行变换和列变换同时应用),80,仅仅基于替换或置换的密码是不安全的 前面的得例子可以看到这一点这是由于他们不能克服语言结构的特点 因此考虑连续使用几种密码克服,注:两个替换密码只能提高很少的复杂度 两个置换也只能提高很少的复杂度 但替换与置换
40、连用,可以提高较高的复杂密码,增加密码的安全性,81,4.乘积密码,是一种替换与变换合用的密码,一般情况下,手工破译是非常困难的。一种有名的乘积密码“ADFGVX cipher”在第一次世界大战中使用。,82,ADFGVX 乘积密码,这样命名是因为变换仅依赖与 ADFGVX,在WW1有德国人使用,并被英国人破译。方法:使用一个固定的替换表,把每个明文字母映射成一个字母对(row-col index),在用一个带密钥的块变换把每个对分解then 利用带密钥的块变换写下所有字母对,写出密文(按块密码形式)。,83,ADFGVX Substitution Table,A D FG V X A K Z
41、 WR 1 F D9 B 6 C L 5 F Q 7 J P G X G E V Y 3 A N V 8 O D H 0 2 X U 4 I S T M,84,ADFGVX 加密举例,Plaintext:PRODUCTCIPHERS Intermediate Text:FG AG VD VF XA DG XV DG XF FG VG GA AG XG 带密钥的块变换矩阵:D E U T S C H Key2 3 7 6 5 1 4 Sorted OrderF G A G V D V F X A D G X V D G X F F G V G G A A G X G Ciphertext:DXG
42、X FFDG GXGG VVVG VGFG CDFA AAXA,85,encrypt and then decrypt by hand,the text below using a block(column)transposition with a key of SNEAKY:the cat only grinned when it saw alice it looked good natured she thought still it had very long claws and a great many teeth so she felt that it ought to be tre
43、ated with respect,练习,86,练习,2.encrypt and then decrypt by hand,the text below using the ADFGVX cipher with a key of SNEAKY:to see victory only when it is within the ken of the common herd is not the acme of excellence,87,5.密码机发展过程,为了简化加密/解密过程,导致密码设备出现。Jefferson cylinder,1790s被研制成功,包含36个 圆盘,每个圆盘有个随机字母
44、表 1920年还被美国军队使用。,88,Wheatstone disc,by Wadsworth in 1817,and Wheatstone in 1860s,comprised two concentric wheels to generate a polyalphabetic cipher。,密码机发展过程,89,随着密码技术的提高,要求有更高级的密码装置,高级密码装置可以实现更复杂的密码,这些装置在二战时期广泛使用。例:the German Enigma,the Swedish Hagelin(below)and the Japanese Purple,密码机发展过程,90,THE END!,