现代密码学理论与实践第2章-传统加密技术课件

上传人:202****8-1 文档编号:240916104 上传时间:2024-05-17 格式:PPTX 页数:82 大小:1.71MB
返回 下载 相关 举报
现代密码学理论与实践第2章-传统加密技术课件_第1页
第1页 / 共82页
现代密码学理论与实践第2章-传统加密技术课件_第2页
第2页 / 共82页
现代密码学理论与实践第2章-传统加密技术课件_第3页
第3页 / 共82页
点击查看更多>>
资源描述
2019-6-6谢谢观赏现代密码学理论与实践第2章传统加密技术2019-6-6谢谢观赏现代密码学理论与实践第2章传统加2019-6-6谢谢观赏2/81PartOneSymmetricCipherslRoadMapforPartOnelChp.2,ClassicalEncryptionTechniqueslChp.3,BlockCipherandtheDataEncryptionStandardlChp.4,FiniteFieldslChp.5,AdvancedEncryptionStandardlChp.6,MoreonSymmetricCipherslChp.7,ConfidentialityUsingSymmetricEncryption2019-6-6谢谢观赏2/81PartOneSymme2019-6-6谢谢观赏3/81Chapter2ClassicalEncryptionTechniqueslMany savages at the present day regard their names as vital parts of themselves,and therefore take great pains to conceal their real names,lest these should give to evil-disposed persons a handle by which to injure their owners.The Golden Bough,SirJamesGeorgeFrazer2019-6-6谢谢观赏3/81Chapter2C2019-6-6谢谢观赏4/81密码学的演变历史(1)WilliamFriedmanl1918,WilliamFriedmansTheIndexofCoincidenceanditsApplicationsinCryptographylWilliam Frederick Friedman(Sept.24,1891Nov.12,1969)美国陆军密码专家。1930年代,他领导了陆军的一个研究部门SignalsIntelligenceService(SIS),其中一部分服务一直延续到五十年代。三十年代晚期,在他的指导下,FrankRowlett破解了日本人的PURPLE加密机(紫密),截获了日本的大量外交和军事的秘密。2019-6-6谢谢观赏4/81密码学的演变历史(1)W2019-6-6谢谢观赏5/81密码学的演变历史(2)香农的贡献l1948年,ClaudeShannons发表“TheCommunicationTheoryofSecrecySystem”,成为现代密码学理论基础。l1949年,Shannon在其著名的“信息论”发表一年之后,又发表了论文“保密系统的通信理论”,首次将密码学研究置于坚实的数学基础上。l该理论的重大贡献在于:l建立了通信保密/密码学严格的理论基础;l证明了一次一密(one-timepad)的密码系统是完善保密的,导致了对流密码的研究和应用;l提出分组密码设计应该遵循的准则,如扩散性和混淆性;l证明了消息冗余使得破译者统计分析成功的理论值(唯一解距离)2019-6-6谢谢观赏5/81密码学的演变历史(2)香农2019-6-6谢谢观赏6/81密码学的演变历史(2)lClaudeElwoodShannon(Apr.30,1916Feb.24,2001),美国电气工程师和数学家,被誉为信息论之父thefatherofinformationtheory.l香农之有名在于他以1948年发表的那篇旷世论文而奠定了现代信息论基础。其实早在1937年,当21岁的香农还是MIT的硕士研究生时,他便在他的硕士论文中论述了布尔代数的电子实现和应用,可以构建和解决任何逻辑的和数字的关系,因此奠定了数字计算机和数字电路设计理论的基础。他的硕士论文一直被认为是迄今最重要的硕士论文。l1949-1967,密码学研究处于沉寂时期2019-6-6谢谢观赏6/81密码学的演变历史(2)Cla2019-6-6谢谢观赏7/81密码学的演变历史(3)Feistel,WhitfieldDiffie,MatinHellmanl1971,IBM发明LucifferCipher,128位密钥作分组加密。这项发明是由HorstFeistel(Jan.30,1915Nov.14,1990)领导的,他是密码学家,当时在IBM负责设计加密器,他的工作最终激发了70年代DataEncryptionStandard(DES)的研发高潮l1976-1977,美国国家标准局正式公布实施DESl1975,WhitfieldDiffie和MatinHellman,发表ANewDirectioninCryptography,首次提出适应网络保密通信的公开密钥思想,揭开现代密码学研究的序幕,具有划时代的意义2019-6-6谢谢观赏7/81密码学的演变历史(3)Fe2019-6-6谢谢观赏8/81密码学的演变历史(4)R.S.A.,AbbasElGamal,LaiXuejial1977-1978,RonaldRivest,AdiShamir,LenAdleman第一次提出公开密钥密码系统的实现方法RSAl1981,成立InternationalAssociationforCryptologyResearchl1985,AbbasElGamal提出概率密码系统ElGamal方法l1990-1992,LaiXuejiaandJames:IDEA,TheInternationalDataEncryptionAlgorithml2000,AES,AdvancedEncryptionStandard2019-6-6谢谢观赏8/81密码学的演变历史(4)R.2019-6-6谢谢观赏9/81lCryptology(保密学),源自希腊语(Greek)Krypts:hidden;logos:word,是密码学和密码处理过程的研究lCryptography:TheScienceandStudyofSecretWriting,密码编码学lCryptanalysis:TheScienceandStudyofSecretBreaking,密码破译学lCipher:Asecretmethodofwriting加密方法lEncipher(encipherment),encryption:将明文转换成密文的过程lDecipher(decipherment),decryption:将密文还原成明文的过程lPlaintext(cleartext):原始的可读数据,明文lCiphertext(Cryptogram):加密后的不可解读之文件,密文lKey:密钥,对加密与解密过程进行控制的参数lE(m):EncryptionTransformation加密变换lD(c):DecryptionTransformation解密变换密码学基本术语Terminologies2019-6-6谢谢观赏9/81Cryptology(保密学2019-6-6谢谢观赏10/81l什么是密码?简单地说它就是一组含有参数K的变换E。设已知消息m,通过变换Ek得密文C,这个过程称为加密,E为加密算法,k不同,密文C亦不同。传统的保密通信机制:EncipherPlaintextCiphertextKeysDecipherC=Ek(m)发方:m收方:mkk(公共信道)加密E解密D(秘密信道)简单加密系统模型2019-6-6谢谢观赏10/81EncipherPlain2019-6-6谢谢观赏11/81l理论安全,或无条件安全TheoreticalSecure(orPerfectSecure)攻击者无论截获多少密文,都无法得到足够的信息来唯一地决定明文。Shannon用理论证明:欲达理论安全,加密密钥长度必须大于等于明文长度,密钥只用一次,用完即丢,即一次一密,One-timePad,不实用。l实际安全,或计算上安全PracticalSecure(orComputationallySecure)如果攻击者拥有无限资源,任何密码系统都是可以被破译的;但是在有限的资源范围内,攻击者都不能通过系统的分析方法来破解系统,则称这个系统是计算上安全的或破译这个系统是计算上不可行(ComputationallyInfeasible)。理论安全和实际安全2019-6-6谢谢观赏11/81理论安全,或无条件安全Th2019-6-6谢谢观赏12/81加密的基本概念l密码体制l加密系统采用的基本工作方式称为密码体制,密码体制的基本要素是密码算法和密钥。密码算法是一些公式、法则或程序;密钥是密码算法中的控制参数。l加密系统可以用数学符号来描述:SP,C,K,E,DP:明文空间 C:密文空间K:密钥空间E:加密变换D:解密变换kK,则有CEk(P),PDk(C)Dk(Ek(P),或者DkEk-1,且EkDk-1。2019-6-6谢谢观赏12/81加密的基本概念密码体制2019-6-6谢谢观赏13/81l对称密码体制(SymmetricSystem,One-keySystem,Secret-keySystem)加密密钥和解密密钥相同,或者一个密钥可以从另一个导出,能加密就能解密,加密能力和解密能力是结合在一起的,开放性差。l非对称密码体制(AsymmetricSystem,Two-keySystem,Public-keySystem)加密密钥和解密密钥不相同,从一个密钥导出另一个密钥是计算上不可行的,加密能力和解密能力是分开的,开放性好。对称密码体制和非对称密码体制2019-6-6谢谢观赏13/81对称密码体制(Symmet2019-6-6谢谢观赏14/81l序列密码l如果密文不仅与最初给定的算法和密钥有关,同时也与明文位置有关(是所处位置的函数),则称为序列密码体制。加密以明文比特为单位,以伪随机序列与明文序列模2加后,作为密文序列。l分组密码l如果经过加密所得到的密文仅与给定的密码算法和密钥有关,与被处理的明文数据在整个明文中的位置无关,则称为分组密码体制。通常以大于等于64位的数据块为单位,加密得相同长度的密文。序列密码体制和分组密码体制2019-6-6谢谢观赏14/81序列密码序列密码体制和分组2019-6-6谢谢观赏15/81l确定型密码体制和概率密码体制l确定型:当明文和密钥确定后,密文也就唯一地确定了;l概率型:当明文和密钥确定后,密文通过客观随机因素从一个密文集合中产生,密文形式不确定,称为概率型密码体制。l单向函数型密码体制和双向变换型密码体制l单向函数型密码体制适用于不需要解密的场合,容易将明文加密成密文,如哈希函数;l双向变换型密码体制可以进行可逆的加密、解密变换。其他加密体制2019-6-6谢谢观赏15/81确定型密码体制和概率密码体2019-6-6谢谢观赏16/81l现代密码学的基本原则l设计加密系统时,总是假定密码算法是可以公开的,需要保密的是密钥。一个密码系统的安全性不在算法的保密,而在于密钥,即Kerckhoff原则。l对加密系统的要求l系统应该是实际上安全的(practicalsecure),截获密文或已知明文密文对时,要决定密钥或任意明文在计算上是不可行的。l加密解密算法适用于密钥空间中的所有元素。l系统易于实现,使用方便。l系统的安全性不依赖于对加密体制或加密算法的保密,而依赖于密钥。l系统的应用不应使通信网络的效率过分降低。现代密码学基本原则及加密系统要求2019-6-6谢谢观赏16/81现代密码学的基本原则现代密2019-6-6谢谢观赏17/81l对称加密系统由以下五部分组成lPlaintext:明文lEncryptionalgorithm:加密算法lKey:密钥lCiphertext:密文lDecryptionalgorithm:解密算法l加密算法必须足够强大,使破译者不能仅根据密文破译消息l收发双方必须在某种安全的形式下获得密钥并必须保证密钥的安全2.1对称密码系统的模型2019-6-6谢谢观赏17/81对称加密系统由以下五部分组2019-6-6谢谢观赏18/81传统密码的简化模型2019-6-6谢谢观赏18/81传统密码的简化模型2019-6-6谢谢观赏19/81对称密码系统的要求l使用对称密码系统有两个基本要求l一个强加密算法l一个只有发送方和接收方知道的秘密密钥Y=EK(X)X=DK(Y)l必须假定加密算法是公开的l因此必须有安全的途径或信道分发密钥2019-6-6谢谢观赏19/81对称密码系统的要求使用对称2019-6-6谢谢观赏20/81传统密码体制的模型Y=Ek(X)X=Dk(Y)2019-6-6谢谢观赏20/81传统密码体制的模型Y=2019-6-6谢谢观赏21/81l密码编码学(Cryptography)密码编码系统根据以下三个独立方面进行分类l用于将明文转换为密文的操作类型:代换和置换l所使用的密钥的数量和方式:l对称密码体制(单钥系统、秘密密钥系统)l非对称密码体制(双钥系统、公开密钥系统)l明文的处理方式:分组加密和流加密l密码分析学(Cryptanalysis)l密码分析:试图破译密文得到明文或试图获得密钥的过程为密码分析,密码破译的策略取决于加密方法及可供破译者使用的信息。l穷举攻击:对密文尝试所有可能的密钥,直到把它转化为可读的有意义的明文,至少要尝试1/2种所有可能的密钥。Cryptology密码学2019-6-6谢谢观赏21/81密码编码学(Cryptog2019-6-6谢谢观赏22/81对加密信息的攻击类型l唯密文攻击lonlyknowalgorithmandciphertext,isstatistical,knoworcanidentifyplaintextl已知明文攻击lknow/suspectplaintextandciphertextl选择明文攻击lselectplaintextandobtainciphertextl选择密文攻击lselectciphertextandobtainplaintextl选择文本攻击lselectplaintextorciphertexttoen/decrypt2019-6-6谢谢观赏22/81对加密信息的攻击类型唯密文2019-6-6谢谢观赏23/812019-6-6谢谢观赏23/812019-6-6谢谢观赏24/81穷举攻击l总是可以简单地尝试每一个可能的密钥l穷举攻击是最基本的攻击,难度与密钥长度成正比l平均来说要获得成功必须尝试所有可能密钥的一半2019-6-6谢谢观赏24/81穷举攻击总是可以简单地尝试2019-6-6谢谢观赏25/812.2代换密码(Substitution)l代换法是将明文字母替换成其他字母、数字或符号的加密方法l如果把明文看成是二进制序列的话,代换就是用密文位串来代换明文位串l代换法改变明文内容的表示形式,保持内容元素之间相对位置不变l已知最早的代换密码是由JuliusCaesar发明的恺撒密码CaesarCipher,对字母表中的每个字母用它之后的第3个字母来代换。例如:meet me after the toga partyPHHW PH DIWHU WKH WRJD SDUWB2019-6-6谢谢观赏25/812.2代换密码(Subs2019-6-6谢谢观赏26/812.2.1CaesarCipherlCaesar实际上是一种单表代换密码明文字母用密文字母表中对应字母代替,例:明文字母表Pp0,p1,pn-1密文字母表Cc0,c1,cn-1密钥为正整数k,加密:i+kj(modn)解密:j-ki(modn)CaesarCipher,加密:C=E(p)=(p+k)mod26解密:p=D(C)=(C-k)mod26,0A;1B;25Z2019-6-6谢谢观赏26/812.2.1Caesar2019-6-6谢谢观赏27/81CaesarCipherl定义如下变换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 zD E F G H I J K L M N O P Q R S T U V W X Y Z A B Cl让每个字母等价于一个数值a b c d e f g h i j k l m0 1 2 3 4 5 6 7 8 9 10 11 12n o p q r s t u v w x y Z13 14 15 16 17 18 19 20 21 22 23 24 25lCaesar密码可以表示如下C=E(p)=(p+k)mod(26)p=D(C)=(C-k)mod(26),这里k=32019-6-6谢谢观赏27/81CaesarCipher2019-6-6谢谢观赏28/81对Caesar密码的攻击l如果已知某给定密文是Caesar密码,穷举攻击是很容易实现的,因为只要简单地测试所有25种可能的密钥lCaesar密码的三个重要特征使我们可以采用穷举攻击分析方法l已知加密和解密算法l所需测试的密钥只有25个l明文所用的语言是已知的,且其意义易于识别l比如,破解密文PHHW PH DIWHU WKH WRJD SDUWB,或者,GCUA VQ DTGCM2019-6-6谢谢观赏28/81对Caesar密码的攻击2019-6-6谢谢观赏29/812019-6-6谢谢观赏29/812019-6-6谢谢观赏30/81对Caesar密码的攻击l如果明文所用语言不为我们所知,则明文输出不可识别,而且输入可能按某种方式经过缩写或压缩,则识别就更加困难l例如2019-6-6谢谢观赏30/81对Caesar密码的攻击如2019-6-6谢谢观赏31/812.2.2MonoalphabeticCipher单表代换密码l单表代换密码不只是25种可能的密钥,而是允许任意代换,增加密钥空间l每个明文字母可以随机映射到任意一个密文字母,密文行是26个字母的任意置换,那么有26!或大于4x1026种可能的密钥,每条消息用一个字母表加密l这样密钥有26个字母长Plain:abcdefghijklmnopqrstuvwxyz Cipher:DKVQFIBJWPESCXHTMYAUOLRGZNPlaintext:ifwewishtoreplacelettersCiphertext:WIRFRWAJUHYFTSDVFSFUUFYA2019-6-6谢谢观赏31/812.2.2Monoalp2019-6-6谢谢观赏32/81单表代换密码的安全性分析l只要密文字符是26个字母的一个排列即可。l单表代换密码中每条消息用一个字母表加密l这样有26!=4x1026种可能的密钥,超过400,000,000,000,000,000,000,000,0004x1026=400万亿亿l这比DES的密钥空间大10个数量级,看起来是安全的,应该可以抵御穷举攻击,其实不然l这是因为语言的一些规律和特性2019-6-6谢谢观赏32/81单表代换密码的安全性分析只2019-6-6谢谢观赏33/81语言的冗余性和密码攻击l人类的语言是有冗余性的l比如从“thlrdsmshphrdshllntwnt”中我们可以大概猜出些什么l字母使用的频率是不一样的l英文字母E是使用最频繁的,然后是T,R,N,I,O,A,S等l有些字母使用得很少,如Z,J,K,Q,Xl这样可以得到英文字母使用频率分布表l同时,统计双字母组合和三字母组合的使用频率也是非常有用的2019-6-6谢谢观赏33/81语言的冗余性和密码攻击人类2019-6-6谢谢观赏34/81英文字母的相对使用频率2019-6-6谢谢观赏34/81英文字母的相对使用频率2019-6-6谢谢观赏35/81英文字母使用频率用于密码分析l关键的一点,单表代换不能改变相关字母出现的频率l这是由阿拉伯科学家在公元九世纪就分析发现了l所以,只要统计密文中字母出现的频率,与已知的统计值做比较就可以分析出相应明文字母了l如果Caesar密码中字母呈现出通常的峰值和低谷,那么单表代换也会呈现相同的特性,比如:l峰值在:A-E-H-I,N-O,R-S-Tl低谷在:J-K,Q,X-Zl双字母、三字母出现特性表也会有助于破译密文2019-6-6谢谢观赏35/81英文字母使用频率用于密码分2019-6-6谢谢观赏36/81单表代换密码攻击举例l给定密文:UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQl统计相关字母出现的次数(seetextbook)l可以猜测P和Z是e和t,ZW是th,这样ZWP就是thel这样反复试验并不断修正错误,最后可得:it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow2019-6-6谢谢观赏36/81单表代换密码攻击举例给定密2019-6-6谢谢观赏37/812.2.3Playfair密码l单表代换尽管有大量的密钥,也不能提供足够的安全性,因为密文中残留了大量的明文结构,一种解决办法是引进多表代换密码。lPlayfair密码是最著名的多表代换密码,它把明文中的双字母音节作为一个单元转换成密文的双字母音节。lPlayfair密码是由英国科学家CharlesWheatstone在1854年发明的,用了他的朋友BaronPlayfair的名字命名。lPlayfair算法基于一个由密钥词构成的5x5字母矩阵2019-6-6谢谢观赏37/812.2.3Playfai2019-6-6谢谢观赏38/81Playfair密码的密钥矩阵l假定使用的密钥词是MONARCHYl先在5x5矩阵中填上密钥词,去掉重复字母l再将剩余的字母按字母表的顺序从左至右、从上至下填在矩阵剩下的格子中,I和J当作一个字母MONARCHYBDEFGI/JKLPQSTUVWXZ2019-6-6谢谢观赏38/81Playfair密码的密钥2019-6-6谢谢观赏39/81Playfair密码的加密l对明文按如下规则一次加密两个字母1.如果该字母对的两个字母是相同的,则在其中插入一个填充字母,如x,“balloon”加密成“balxloon”2.落在同一行的明文字母对中的字母由其右边的字母来代换,每行中最右的字母用该行最左边的第一个字母来代换,如“ar”加密成“RM”3.落在同一列的明文字母对中的字母由其下面的字母来代换,每列中最下面的一个字母用该列最上面的第一个字母来代换,如“mu”加密成“CM”4.其他的每组明文字母对中的字母按如下方式代换:该字母所在行为密文所在行,另一字母所在列为密文所在列,如“hs”变换成“BP”,“ea”代换为“IM”或“JM”(asdesired)2019-6-6谢谢观赏39/81Playfair密码的加密2019-6-6谢谢观赏40/81Playfair密码的安全性lPlayfair密码安全性比单表代换大为提高l因为有26个字母,因此有26x26=676字母对,对单个字母对进行判断要困难得多。l单个字母的相对频率比字母对的相对频率在统计规律上要好,利用频率分析字母对就更困难些,需要676输入的频率表来进行分析。l被广泛地使用了许多年,包括在一战和二战时期。英国军队使用了一个世纪,曾保证是安全的,但1915年被德军破译。1941年起,德军和盖世太保使用双表playfair,1944年秋季被英国的BletcheyPark破译。l因为它的密文仍然完好地保留了明文语言的大部分结构特征,它仍然是相对容易攻破的,几百个字母的密文就足够分析出规律了。2019-6-6谢谢观赏40/81Playfair密码的安全2019-6-6谢谢观赏41/81字母出现的相对频率l“明文”曲线画出7万个字母的频率分布,对文中出现的每个字母计数,结果除以字母e的出现次数。l加密后的曲线体现了加密后字母频率分布被掩盖的程度,如果完全被掩盖,则应该是一条水平线。2019-6-6谢谢观赏41/81字母出现的相对频率“明文”2019-6-6谢谢观赏42/812.2.4Hill密码l1929年数学家LesterHill发明Hill密码l将m个连续的明文字母替换成m个密文字母,这由m个线性方程决定,每个字母指定一个数值(a=0,b=1,z=25),假如m为3:lc1=(k11p1+k12p2+k13p3)mod26lc2=(k21p1+k22p2+k23p3)mod26lc3=(k31p1+k32p2+k33p3)mod26l用列向量和矩阵表示为或C=KPmod26C和P是长度为3的列向量,分别代表密文和明文K是一个3x3矩阵,代表加密密钥,运算按模26执行2019-6-6谢谢观赏42/812.2.4Hill密码12019-6-6谢谢观赏43/81Hill密码l明文paymoremoney,加密密钥为l明文前三个字母用向量15024表示,则l照此转换剩下字母,可得密文LNSHDLEWMTRWl解密需要用到矩阵K的逆K-1,由KK-1=I 定义,I是单位矩阵2019-6-6谢谢观赏43/81Hill密码明文paymo2019-6-6谢谢观赏44/81Hill密码lKK-1=I 可以验证如下lHill密码系统可以表示如下lC=E(K,P)=KPmod26lP=D(K,C)=K-1Cmod26=K-1KP=P2019-6-6谢谢观赏44/81Hill密码2019-6-6谢谢观赏45/812.2.5PolyalphabeticCiphers多表代换密码l改进简单的单表代换的方法是在明文消息中采用不同的单表代换,这就是多表代换密码poly-alphabeticsubstitutionciphersl因为需要猜测更多的字母表,并且频率分布特性也变得平坦了,所以使得密码破译更加困难l使用一密钥词对每个明文字母选择一个字母表来加密l依次使用每个字母表l如果到了密钥词最后一个字母,则从头开始继续2019-6-6谢谢观赏45/812.2.5Polyalp2019-6-6谢谢观赏46/81Vigenre密码l最简单的多表代换密码是Vigenre密码,它其实是多重Caesar密码l26个密码水平放置,最左边是密钥字母,顶部排列的是明文的标准字母表l加密一条消息需要与消息一样长的密钥,密钥是密钥词的重复,比如,密钥词为K=k1k2.kdl加密:给定密钥字母x和明文字母y,密文字母是位于x行和y列的那个字母l密钥词的第i字母,表明使用第i个字母表,轮流使用字母表,如果到了消息的第d个字母时则从头再做l解密:密钥字母决定行,行里密文字母所在列的顶部字母就是明文字母2019-6-6谢谢观赏46/81Vigenre密码最简单2019-6-6谢谢观赏47/812019-6-6谢谢观赏47/812019-6-6谢谢观赏48/81Examplel写下明文l在明文之上重复写下密钥l像使用Caesarcipher密钥那样使用每一个密钥字母,加密每一个明文字母l比如,使用密钥deceptivekey:deceptivedeceptivedeceptiveplaintext:wearediscoveredsaveyourselfciphertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJ2019-6-6谢谢观赏48/81Example写下明文2019-6-6谢谢观赏49/81Vigenre密码的安全性l每一个明文字母可以有多个密文字母对应,这样字母使用的频率特性减弱了,但是没有完全消失l攻击者首先要分析密文是否是用单表代换加密的,即通过简单的测试密文的统计特性l如果认为是用Vigenre密码加密的,破译能否取得进展将取决于能否判定密钥词的长度,要通过发现重复序列来判断l如果密钥词长度是N,那么密码实际上包含了N个单表代换l密钥词的周期性可以用与明文信息一样长的不重复密钥词来消除,如“密钥自动生成系统”,但是密文和明文具有相同频率分布特性,仍然是易受攻击的l最终措施是选择与明文毫无统计关系且和它一样长的密钥2019-6-6谢谢观赏49/81Vigenre密码的安全2019-6-6谢谢观赏50/81KasiskiMethodtobreakVigenre卡西斯基方法破解Vigenrel破解Vigenre的方法是由CharlesBabbage(巴贝奇)和FriedrichKasiski(卡西斯基)分别发现的l密文中的重复性可以暗示出密钥词长度l如果两个相同明文序列之间的距离是密钥词长度的整数倍,那么产生的密文序列也是相同的l前例中“red”的两次出现相隔9个字母,因此得到了两个相同密文序列VTWl这时攻击者就可以猜测密钥词的长度是3或者9l这样攻击者可以像先前攻击单表密码那样分别进行攻击l密钥词的周期性可以用与明文信息一样长的不重复密钥词来消除,AutokeyCipher2019-6-6谢谢观赏50/81KasiskiMetho2019-6-6谢谢观赏51/81AutokeyCipherl最理想的是让密钥和要加密的消息一样长lVigenre提出了autokeycipher,密钥词keyword放在消息前面作为密钥key前缀l知道了密钥词能够破译密文的前面一些字母,据此可以解密密文消息的其余部分l但是这种方法仍然具有字母使用的频率特性可供分析l例如,给定密钥词:deceptivekey:deceptivewearediscoveredsavplaintext:wearediscoveredsaveyourselfciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA2019-6-6谢谢观赏51/81AutokeyCiphe2019-6-6谢谢观赏52/812.2.6One-TimePad一次一密lJosephMauborgne提出使用与消息一样长且无重复的随机密钥来加密消息,密钥只对一个消息加解密,之后弃之不用;每条新消息都需要与其等长的新密钥,这就是一次一密,它是不可攻破的。l一次一密运算基于二进制数据而非字母l加密:ci=pi ki,pi是明文第i个二进制位,ki是密钥第i个二进制位,ci是密文第i个二进制位,是异或运算l密文是通过对明文和密钥的逐位异或而成的,根据异或运算的性质,解密过程为pi=ci ki,l给出任何长度与密文一样的明文,都存在着一个密钥产生这个明文。如果用穷举法搜索所有可能的密钥,会得到大量可读、清楚的明文,但是无法确定哪个才是真正所需的,因而这种密码不可破。l一次一密的两个限制l产生大规模随机密钥有实际困难l密钥的分配和保护无法保证2019-6-6谢谢观赏52/812.2.6One-Tim2019-6-6谢谢观赏53/812.3TranspositionCiphers置换密码l置换密码改变明文内容元素的相对位置,保持内容的表现形式不变l通常称为transposition或者permutation密码l通过重新安排消息字母的位置来隐藏明文信息,而不是用其他字母来代换明文字母l这种方法是很容易破译的,因为密文拥有与明文一样的字母频率统计特性2019-6-6谢谢观赏53/812.3Transposi2019-6-6谢谢观赏54/81l一维变换矩阵转置l二维变换图形转置DNATSREDNUUOYNAC明文:明文:can you understand密文:密文:codtaueanurnynsd输入输出UUOYNACSREDNNATD密文明文明文:明文:can you understand密文:密文:dnsuaruteodynnacTranspositionorpermutation置换密码2019-6-6谢谢观赏54/81一维变换矩阵转置DNAT2019-6-6谢谢观赏55/81栅栏技术RailFencecipherl按照对角线的顺序写出明文,按行的顺序读出作为密文l如加密meet me after the toga party:m e m a t r h t g p r y e t e f e t e o a a tl可以得到密文MEMATRHTGPRYETEFETEOAAT2019-6-6谢谢观赏55/81栅栏技术RailFen2019-6-6谢谢观赏56/81RowTranspositionCiphers行置换密码l一个更复杂的方案是把消息一行一行地写成矩形块,然后按列读出,但是把列的次序打乱,列的次序就是算法的密钥,例如:lKey:4 3 1 2 5 6 7Plaintext:a t t a c k p o s t p o n e d u n t i l t w o a m x y zCiphertext:TTNAAPTMTSUOAODWCOIXKNLYPETZl可以采用多步置换来得到相对较高的安全性 2019-6-6谢谢观赏56/81RowTransposi2019-6-6谢谢观赏57/81乘积密码ProductCiphersl单纯的代换或者置换密码是不安全的,因为语言的特性l因此可以考虑连续使用若干这样的密码使其难以破解,但是:l两次代换只生成更复杂的代换l两次置换只生成更复杂的置换l如果在一次代换之后跟一次置换,可以生成一种新的更难破解的密码,这就是乘积密码l乘积密码是从古典密码通往现代密码的桥梁2019-6-6谢谢观赏57/81乘积密码ProductC2019-6-6谢谢观赏58/812.4RotorMachines转轮密码机l在现代密码系统出现之前,转轮密码机是最为广泛使用的多重加密器,尤其是在第二次世界大战中。lGermanEnigma,JapanesePurple,AlliedHagelinl转轮密码机实现了一个非常复杂、变化多端的代换密码。l转轮机使用一组相互独立的旋转圆筒,可以通过电脉冲,每个圆筒有26个输入和26个输出,每个输入仅与一个输出相连,一个圆筒就定义了一个单表代换。l每按下一个键,圆筒旋转一个位置,内部连线相应改变,就定义了不同的单表代换密码,经过26个明文字母,圆筒回到初始状态,就得到一个周期为26的多表代换密码。l3个圆筒的转轮机就有263=17576个不同的代换字母表2019-6-6谢谢观赏58/812.4RotorMac2019-6-6谢谢观赏59/81Enigma:密码学界划时代的丰碑lhttp:/
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!