密码学课件 古典密码学_第1页
密码学课件 古典密码学_第2页
密码学课件 古典密码学_第3页
密码学课件 古典密码学_第4页
密码学课件 古典密码学_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

密码学导论IntroductiontoCryptology主讲教师:李卫海第1章古典密码学古典密码学密码学的发展与范畴代换技术置乱技术乘积密码历史上的教训古典密码学密码学的发展与范畴代换技术置乱技术乘积密码历史上的教训信息安全技术的发展01手工时代02机电/单机时代03网络时代04量子/后量子时代信息简单方法以技巧为主专人操作专门存放专人传送机械带动电路改变计算机模拟或计算算法保障安全专人操作专门存放专人\有线\无线电传送密钥传递成为关键开放、分布、互联算法保障安全网络传送自动工具来保护存储可靠措施来保护传输量子密钥分配量子计算后量子密码古典密码学Medievalcryptology现代密码学ModernCryptology3000年80年50年30年最早的有记载的“加密”文字公元前19世纪古埃及第十二王朝,MenetKhufu小镇的一位祭祀为贵族KhnumhotepII撰写的碑文目的:有人说是为了显得更重要和更神秘,有人说是为了留住盗墓贼本质是一种编码(code)编码与加密是不同的,编码是固定的确定的变换,一般是公开的,不改变的最早用于保护信息的密码技术《六韬》记载,公元前11世纪,周武王时期姜太公发明“阴符”:是一种代换加密“阴书”:“一合而再离,三发而一知”是一种置乱密码文字必须简明扼要,收信人需要有一定的文学素养大胜克敌符长1尺警众坚守符长6寸破阵离将符长9寸请粮益兵符长5寸降城得邑符长8寸败军亡将符长4寸却敌极远符长7寸失利亡士符长3寸陋有则山室龙名不唯则水在吾灵不高德斯在有馨是深仙更灵活的加密技术公元前4世纪,斯巴达-波斯的战争中,“天书”Scytale是一种置乱加密公元前1世纪,凯撒密码C=m+3是第一种计算意义上的代换密码手动时代的技巧与运气手工时代主要以单表代换、多表代换、置乱为主防守方:手工加密、解密,有少量辅助设备出现代换以技巧为主,辅助以少量计算加密算法比较简单,一般不公开攻击方手工分析,主要靠猜字频统计分析是主要且有效的工具密码分析员以聪明的语言学家为主猪栏密码宋代《武经总要》字检机电时代的技术与暴力1919年转轮密码机出现美国人EdwardHughHebern首先获得专利最具代表性的是德国的ENIGMA最早最广泛使用犯了最多的错误最早被攻破的机械转轮机机器破译的代表Bombe密码分析降低复杂度机器完成剩余的暴力分析密码技术的变化算法复杂度大大增加,安全性大大提高算法开始公开,仅需保护密钥数学家开始在密码分析技术中占据重要地位计算机的出现将这一变化推至极致1949年,Shannon“TheCommunicationTheoryofSecrecySystem”,从理论上为密码学奠定了科学基础密码学从技巧走向理论,开始融入大量现代数学理论网络时代的密码学、数学、物理网络的出现使得信道完全开放商业需要有统一的密码标准1976年,美国国家标准局公布实施DES数据加密标准2000年,美国国家标准局发布了AES代替DES密码分配的困难催生了公开密钥技术1975年,W.Diffie和M.Hellman首次提出公开密钥思想1976年,W.Diffie、M.Hellman、R.Merkle提出密钥交换方案1977年,R.Rivest、A.Shamir和L.Adleman提出RSA算法当代,混沌密码、轻量级密码、量子密码、后量子密码、同态密码等新兴技术发展密码学与数学、物理紧密结合在一起信息安全与网络空间安全Cyber:1948年美国数学家借用该词用来指计算机,也指计算机网络Cyberspace:指在计算机以及计算机网络里的虚拟抽象世界。科幻小说作家威廉·吉布森在1982年在短篇小说《全息玫瑰碎片(BurningChrome)》中首次创造,在小说《神经漫游者》中被普及CyberspaceSecurity:网络空间安全Cyberspacesafety:网络空间“安全”信息安全:关注信息的安全网络空间安全:关注网络及其服务的安全信息安全的范畴保密性(Confidentiality/Secrecy/Privacy)保密性:秘密信息不向非授权者泄露,也不被非授权者使用隐私性:个人能够控制私人信息完整性(Integrity)数据完整性:信息只能以特定和授权的方式进行存储、传递、改变系统完整性:系统以正常方式执行预定功能,免于非授权操纵可用性(Availability)可用性:授权者能使用信息和信息系统访问控制:通过授权限制用户能访问的资源可控性:对信息和信息系统实施安全监控管理真实性(Authenticity)消息认证:消息未经篡改/确认来源实体认证:确认实体所声称的身份可追溯性/可审计性(Accountability/Auditability)收据与确认:告知已经收到信息或服务不可否认性:实体不能否认自己的行为信息系统通过在硬件、软件、通信三个主要部分上确定和应用信息安全行业标准,实现在物理、个人、和组织三个层面上提供保护和预防机制。从本质上讲,程序或政策的实施是用来告诉管理员,用户和运营商如何使用产品以确保组织内的信息安全。维基百科上的信息安全属性信息安全的范畴以我们学校为例,考虑一个信息系统请给出一个发布类型的例子,要求存储数据的保密性是最重要的请给出一个发布类型的例子,要求存储数据的完整性是最重要的请给出一个例子,此时对系统可用性的要求是最重要的网络空间安全的挑战对安全提要求容易,但实施很困难我们来做一个游戏:家园攻防AliceBobEve搭线窃听伪装身份重放篡改/删节拦截DoS否认接受Mallory否认发送网络安全的复杂性安全技术必须考虑各种各样潜在威胁攻击者当然不会按规矩出牌攻击者只需要找到一个薄弱环节,而防护需要面面俱到信息安全要考虑到数据的复杂性网络安全要考虑到设备、通信、网络安全技术的应用位置:物理或逻辑上物理上,安全设备放置在什么位置逻辑上,安全机制放置在系统的什么位置秘密信息的产生、分配和保护等问题经常更新和持续监管安全措施必然占用一定的资源用户和安全管理员的排斥往往只有在发生安全事件后,才意识到安全投资的收益安全措施对系统效率必然带来一定影响OSI(OpenSystemInterconnection)安全框架有效评价一个机构的安全需求;对各种安全产品和政策进行评估和选择威胁、攻击支撑用来检测、阻止攻击,或者从被攻击状态恢复到正常状态的过程,或实现该过程的设备加强数据处理/传输/存储系统的安全性的具体处理过程和措施安全性攻击安全服务安全机制任何危及信息系统安全的行为安全机制多以密码技术为基础安全服务多以密码协议或策略为基础OSI安全框架安全服务增强某机构数据处理系统和信息传输的安全性记录安全攻击事件使用一种或多种安全机制提供服务复制与物理文档相关联的功能签名,记录日期防止泄露、篡改、破坏被证实或成为证据被记录或许可X.800开放通信系统中协议层提供的服务,适当地保护系统和数据传输的安全。RFC2828系统提供的处理或通信服务,为系统资源提供特别的保护。OSI安全框架安全服务认证确保通信实体身份,并保护连接不受第三方干扰访问控制防止资源的非授权使用数据保密性防止数据的非授权泄露数据完整性确保收到的数据与通信实体发送的数据相同不可否认性通信不可否认有效性服务确保系统或系统资源可以被授权实体按照规范访问、使用OSI安全框架安全机制被设计用来检测、防范安全攻击,或从安全攻击中恢复的特征单一的机制不能满足所有需要的服务特定安全机制在特定的协议层实现加密、数字签名、访问控制、数据完整性、交换认证、流量填充、路由控制、公证通用安全机制不局限于任何安全服务或协议层可信功能、安全标签、事件检测、安全审计索引、安全恢复网络通信安全模型消息消息秘密信息秘密信息安全相关变换安全相关变换可信第三方Trent(分配秘密信息、仲裁…)AliceBob攻击者信道安全相关变换、秘密信息的产生与分配等是密码学的核心网络访问安全模型需要合适的看门函数识别用户需要可靠的安全控制,确保仅授权用户可以使用指定信息或资源可信计算机系统有助于实现此模型信息系统用户访问通道计算资源(处理器、内存、输入输出等)数据进程软件内部安全控制看门函数信任模型信任,是指对实体以不损害由其组成的系统的用户安全的方式执行的信心。可信度,实体信任的一个特性,反映该实体被信任的程度能力善意完整性信任度关系中所冒的风险信赖披露感知的风险信任倾向影响可信度的因素冒险的结果信任模型古典密码学密码学的发展与范畴代换技术置乱技术乘积密码历史上的教训经典加密技术代换(Substitution)技术明文内容的表示形式改变,内容元素之间相对位置不变明文字母用密文中对应字母代替置换(Transposition

orPermutation)技术明文内容元素的相对位置改变,内容的表示形式不变乘积密码(ProductCiphers)多个加密技术的叠加基本模型、符号、约定明文:P

(Plaintext)或M(Message)密文:C(Ciphertext)密钥:K(Secret

key)加密算法:E(Encryptionalgorithm)C=E(K,M)解密算法:D(Decryptionalgorithm)M=D(K,C)为便于区分,约定用小写字母表示明文内容,大写字母表示密文内容加密时通常舍弃标点、空格(无意义,且易被攻击)信源密钥源加密器E解密器D明文M密钥K密文C明文M密码分析员公开信道秘密信道一、算术密码——移位密码(ShiftCipher)又称凯撒(JuliusCaesar)密码Caesar

Cipher最早的代换密码算法:将每个字母用字母表中它之后的第k个字母替代C=E(K,P)=(P+K)mod26,

P=D(K,C)=(C-K)mod26一些文献中认为Caesar固定使用k=3例:K=3密钥:abcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABC明文:meetmeafterthetogaparty密文:PHHWPHDIWHUWKHWRJDSDUWB安全性分析26个可能的密钥,只有25个可用密钥0不可用,否则密文与明文等同密码分析通常认为:加密算法不会输出有意义明文如果有一个算法能够将一段明文映射为另一段可解释的明文,则该算法具有很强的伪装性和安全性信息隐藏可以使用穷举攻击,依次尝试便可最坏情况需要尝试25次平均需要尝试25/2=12.5次注意,工程上的估算与数学期望不同(1+2+…+25)/25=13安全性分析采用并行运算可以同时尝试多个甚至全部的可能密钥,但每一个尝试结果都需要判断是否有意义机器可以胜任一种思路:在解密过程中,加入强制性人工参与(机器不能做)的任务虽然会增加解密人员的工作量,但对于抵抗穷举攻击非常有效CAPTCHA:区分人与机器的全自动公开图灵测试Easyforhuman,andhardforcomputer一、算术密码——仿射密码(AffineCipher)目标:扩大密钥空间映射关系简单算法:密钥:a,b加密:C=E([a,b],P)=(aP+b)mod26解密:P=D([a,b],C)=(C-b)/amod26安全性分析密钥空间a=1时,蜕化为凯撒密码,b有25种选择a≠1时,b无限制相当于b=0的仿射加密后,再叠加一次凯撒加密a的取值有限制:gcd(a,26)=1,否则不能保证一一映射(兮祸所伏,祸兮福所倚)a=3,5,7,9,11,15,17,19,21,23,25例:a=2,b=1时P=3->C=7;P=16->C=7不同的明文对应同一密文,密文7无法唯一解密密钥空间大小为11*26+25=286+25=311算术密码的共性通过线性方程(组)进行加密、解密方程组越多,密钥空间越大,穷举攻击的难度越大一旦窃听者获得了一组明文-密文对(已知明文攻击),则很容易破译一、算术密码——希尔密码(HillCipher)

二、代换密码——单表代换密码(MonoalphabeticCipher)每个明文字母按照代换表(密钥)替换为一个新的字母密钥长度26个字母例:密钥:a

bcdefghijklmnopqrstuvwxyzDKVQFIBJWPESCXHTMYAUOLRGZN明文:ifwewishtoreplaceletters密文:WIRFRWAJUHYFTSDVFSFUUFYA空格略去,不做处理密钥空间大小:26!≈4×1026部分密钥存在部分不动点,不可用辅助工具阿尔伯蒂(Alberti)密码盘意大利文艺复兴时期。第一个用于加密的机械装置,大圈为定子,小圈为转子。双密码盘估计始于18或19世纪。外层圆盘上有类似词汇表的明文,包括字母、和常用单词密文由两位十进制数组成。频率统计分析单表替换不改变相应字母的出现频率自然语言存在高冗余,字母出现频率不同英语中,e的频率最高其次是t,a,o,i,n,s,h,rz,q,x,j的频率近似为0阿拉伯人于9世纪最先注意到频率统计对单表代换密码的作用频率统计分析对凯撒密码的频率攻击攻击通过识别a-e-i或r-s-t三元组的峰,或jk和xyz的特征,可以获得密钥明文统计密文统计,对比易知k=3频率统计分析高频出现的双、三字母组合双字母组合th,he,in,er,an,re,ed,on,es,st,en,at,to,nt,ha,…三字母组合the,ing,and,her,ere,ent,tha,nth,…常见的多字母组合tion,tiousBible频率统计分析对单表替换密码的频率统计攻击统计密文字母出现频率将统计结果与自然语言频率表对比,确定部分密钥结合多字母组合和连接特征,确定部分密钥从语义上,猜测其它密钥连接特征:前后字母存在一定关联性英语中,q后几乎百分之百连接着ux前几乎总是i和e,只在极个别情况下是o和ae和e之间,r的出现频率很高频率统计分析例:密文频率最高的P(15次)和Z(14次)可能对应e和t猜ZW是th(最常用二字组合),ZWP是the(最常用三字组合)UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQUZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZteetethteetVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXetttheeeethtEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQeeettetheet频率统计分析{S、U、O、M、H}可能对应{a、h、i、n、o、r、s}{A、B、G、Y、I、J}可能对应{b、j、k、q、v、x、z}注意到“th*t”逐渐分析,最终得到UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZtaeeteathateeaatVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXettathaeeeaethtaEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQeeetatetheetUZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZitwasdiscolsedyesterdaythatseveralinformalbutVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXdirectcontactshavebeenmadewithpoliticalEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQrepresentativesofthevietconginmoscow频率统计分析对于短信息,没有足够的资源进行频率统计。穷举攻击可行?例:密文:ABCDEFGHIJ一组可能解

密钥:a-E,e-H,f-A,n-F,o-B,

r-D,s-I,t-J,w-G,x-C

明文:foxranwest另一组可能解

密钥:a-I,d-E,e-H,f-A,h-D,

i-E,n-G,o-B,r-J,x-C

明文:foxhidnear二、代换密码——Playfair密码(二维单表代换)CharlesWheatstone于1854年发明,用他的朋友BaronPlayfair命名。曾在二战期间广泛被美英军方使用密钥矩阵:以MONARCHY为例5×5矩阵先填入密钥字母(不重复)再在剩余位置填入其它字母MONARCHYBDEDGI/JKLPQSTUVWXZSirCharlesWheatstoneLyonPlayfair,FirstBaronPlayfair加解密算法加密过程:每次加密或解密两个字母加密规则:如果两字母是重复的,则在其中插入字母x。

例如balloon划分为balxloon如果两字母位于同一行,则各自用右侧字母代换。

例如ar->RM如果两字母位于同一列,则各自用下侧字母代换。

例如mu->CM否则各自用同行异列字母代换。

例如hs->BP;ea->IM或JM解密过程:加密过程的逆需统计26×25=650个字母对,单字母的统计规律有改善频率统计表需650个表项,需要更多密文才能有效统计MONARCHYBDEFGI/JKLPQSTUVWXZ二、代换密码——多表代换加密(PolyalphabeticCipher)采用多个单表,轮流代换明文字母,使得同一个字母被映射为多种密文字母,改变密文字母出现频率单表1单表2···单表s代换逆代换单表1单表2···单表s明文p明文p密钥k密钥k单表k单表k密文C辅助工具杰斐逊的轮子密码机M-941942年前被美国陆军广泛使用,主要针对低级军事通信安全。共有25个直径35mm的铝盘,外缘上可有字母。条形密码设备M-138-T4二战中美国陆军和海军使用。25个可选取的纸条按预先编排的顺序编号和使用。加密强度相当于M-94。Kryha密码机1926年由AlexandervonKryha发明,密钥长度442,周期固定,一个有数量不等的齿的轮子引导密文轮不规则地运动。二、代换密码:维吉尼亚密码(VigenèreCipher)是最简单的多表替换密钥,由多个凯撒替换表循环构成密钥:K=K0K1…Kd-1第i位密钥Ki

表示采用K=Ki

的凯撒替换表密钥重复使用加密算法:Ci=E(K,Pi)=(Pi

+Kimodd)mod26解密算法:Pi=D(K,Ci)=(Ci

-Kimodd)mod26例:

密钥:deceptive密钥:deceptive|deceptive|deceptive明文:wearedisc|overedsav|eyourself密文:ZICVTWQNG|RZGVTWAVZ|HCQYGLMGJGiovanBattistaBellaso,1553BlaisedeVigenère,19世纪辅助工具Saint-Cyr滑轨:带有重复字母表的滑轨密码盘密码表频率统计攻击?对不同位置的同一明文字母,会用多个密钥加密字母的出现频率被模糊,但并未完全消失频率统计攻击?尝试分组统计若获得了替换表的个数(密钥长度)d,则可以逐个分析位于i,i+d,i+2d,…的密文,获得密钥Ki例:密钥:deceptive,d=9明文密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJ重排列,在每一列上进行字频攻击问题:如何找出密钥长度d?ZICVTWQNGRZGVTWAVZHCQYGLMGJKasiski方法假设:明文中存在重复字段当重复字段的间隔是d的整数倍时,将得到重复的密文不同的明文获得相同密文的巧合很少发生操作过程在密文中寻找重复字段计算重复字段的间距密钥长度d应是这些间距的公约数缺点:查找算法运算量大,耗时长偶尔发生的巧合影响机器判断例:一段Vigenère密码加密的密文:CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWQIMMQMNKGRFVGXWTRZXWIAXLXFPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHRZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEVKAKOEWADREMXMTBHHCHRTKDNVRICHRCLQOHPWQAIIWXNRMGWOIIFKEECHR共出现5次,位置1,166,236,276,286。间隔为165,70,40,10,最大公约数是5重合指数法(IndexofCoincidence)

ZICVTWQNGRZGVTWAVZHCQYGLMGJ重合指数法(IndexofCoincidence)

重合指数法(IndexofCoincidence)过程:若Y是通过Vigenère密码获得的密文,把Y分成d个长为n/d的子串,记为Y1,Y2,…,Yd。如果d确为密钥长度,则每个Yi都是由同一个密钥加密得到的,有Ic(Yi)≈0.065否则,d猜错了,Yi是由不同密钥加密得到,显得更随机些,有Ic(Yi)≈0.038Y1Y2Y3…Yd***…****…****…*例:一段Vigenère密码加密的密文:CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAOSXXWEAHBWQIMMQMNKGRFVGXWTRZXWIAXLXFPSKAUTEMNDCMGTSXMXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHASVBFXNGLLCHRZBWELEKMSJIKNBHWRJGNMGJSGLXFEYPHAGNRBIEQJTAMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEVKAKOEWADREMXMTBHHCHRTKDNVRICHRCLQOHPWQAIIWXNRMGWOIIFKEEd=1时,0.045d=2时,0.046,0.041d=3时,0.043,0.050,0.047d=4时,0.042,0.039,0.046,0.040d=5时,0.063,0.068,0.069,0.061,0.072重合互指数(MutualIndexofCoincidence)

重合互指数(MutualIndexofCoincidence)

二、代换密码——Vernam密码

二、代换密码——Autokey密码维吉尼亚密码的密钥修改变体从安全角度出发,希望密钥与明文等长Autokey加密算法中,加解密密钥以密钥为前缀,以明文为后继加解密密钥=

”密钥”+”明文”例如:密钥deceptive加解密密钥:deceptivewearediscoveredsav明文:wearediscoveredsaveyourself密文:ZICVTWQNGKZEIIGASXSTSLVVWLA安全性分析以密钥长度d分段,明文记为P1P2P3…,密文C1=K

+P1C2=P1+P2C3=P2+P3C4=P3+P4…做差处理:D1=C1=P1+KD2=C2-D1=(P1+P2)-(P1+K)=P2-KD3=C3-D2=(P2+P3)-(P2-K)=P3+KD4=C4-D3=(P3+P4)-(P3+K)=P4-K…可修改重合指数法进行破译二、代换密码——一次一密体系(One-TimePad)名称来源于特工携带的密码本,每用一页后撕去可以认为是密钥只用一次的维吉尼亚密码当随机密钥与明文等长时,绝对安全唯一可理论证明的无条件安全任一个密文,总存在某个密钥使之与任意明文相对应随机密钥产生的密文中完全没有统计关系实现困难:难以产生大量真随机密钥难以及时、安全地分发大量密钥量子密钥分配可解决此难题俄罗斯乱数本。数字的排列具有俄国特色。古典密码学密码学的发展与范畴代换技术置乱技术乘积密码历史上的教训置乱技术置乱(Scramble,

Transposition,Permutation)通过重排字母顺序隐藏信息不改变字母表示形式不改变字母的统计概率与代换算法的本质区别可藉此辨别密码算法类型栅栏技术(RailFenceCipher)将明文按对角线方向写成若干行按行输出加密结果例如:明文:meetmeafterthetogaparty锯齿形书写为两行:

mematrhtgpry

etefeteoaat密文:MEMATRHTGPRYETEFETEOAAT纵行换位(RowTranspositionCipher)将明文按密钥的位数写为若干列按照密钥,顺序输出各列例如:attackpostponeduntiltwoam密钥:4312567明文:attackp

ostpone

duntilt

woamxyz密文:TTNAAPTMTSUOAODWCOIXKNLYPETZ

旋转漏格板通过旋转一个同样的格子,得到不同的窗口例:明文:attackpostponeduntilseventwenty-fouram密文:ACSODLVTUTKTNTEWYAAOUIETNOMTPPNSNEFRattackpostponduntilseventwentyfouramattackpostponduntilseventwentyfouramattackpostponduntilseventwentyfouramattackpostponduntilseventwentyfouramattackpostponduntilseventwentyfouram如何生成漏格板?更多的置乱设计一维变换-矩阵转置二维变换-图形转置DNATSREDNUUOYNAC明文:canyouunderstand密文:codtaueanurnynsd输入输出UUOYNACSREDNNATD密文明文明文:canyouunderstand密文:dnsuaruteodynnac置乱的抽象:变位字给出若干字母,猜测原文例:Harry•Potter中TOM•MARVOLO•RIDDLE也是IAMLORDVOLDEMORT牛顿写给莱布尼兹:a7c2d2e14f2i7l3m1n8o4q3r2s4t8v12x1,

意思是dataaequationequodcumquefluentesquantitatesinvolvente,fluxionesinvenireetviceversa(fromagivenequationwithanarbitrarynumberoffluentestofindthefluxionesandviceversa)问题:能否从明文字母统计特性恢复明文?若能系统地解决变位字,就能破译所有的置换密码任意一堆的字母,是否只能组成唯一有意义的消息?答案显然不是目前没有能够说明变位字唯一解密的一个长度或原则多重置乱单次置换规则简单,易泄露特征信息,易被重构多种或多重置换迭代后,规则更加复杂,重构的难度有所增加例:明文:01020304050607080910111213141516171819202122232425262728加密算法:纵行换位密钥:4312567一次加密

431256701020304050607080910111213141516171819202122232425262728密文:03101724

04111825

02091623

01081522

05121926

06132027

07142128。递增关系规律仍可见二次置换后:17090527241612071002222003251513042319141101262118080628。规律不明显置换的理论:置乱的表示

置换的理论:K循环

3是不动点2是不动点置换的理论:循环的分解

不动点阶为4100prisonersproblem监狱中有100个囚犯,每人有一个号牌,编号为1-100。看守每周与他们玩一个游戏:在一间屋子里,有一个包含100个抽屉的柜子。看守将100个号牌随机放在抽屉中(每个抽屉放一个)。第一个囚犯进入房间,随机打开50个抽屉,检查号牌,然后关上抽屉。如果其中有他的号牌,那么他立即进入一个房间休息等候,然后下一个囚犯进入房间重复操作,继续下去。如果所有囚犯都找到了自己的号牌,则释放所有囚犯。如果在此过程中,某个囚犯没有发现自己的号牌,则游戏立刻结束,所有囚犯返回囚室。看守解释说:每个囚犯找到自己号牌的概率是1/2每个囚犯都是独立操作,因此100人都找到自己号牌的概率是2-100,此概率小到可以忽略真的么?100prisonersproblem

...3...8...15...45......8...15...45...3...古典密码学密码学的发展与范畴代换技术置乱技术乘积密码历史上的教训密码算法迭代单纯的代换或置乱都不能保证安全规则不够复杂,易被猜到或算出迭代使用多种加密算法,可以提供更高的安全性连续两次代换可以构造更复杂的代换,但等效为一次规则复杂的代换连续两次置乱可以构造更复杂的置乱,但等效为一次规则复杂的置乱交替使用代换和置乱如何?这是构造现代密码的基本技术之一转轮机RotorMachines是机械时代最复杂的密码机二战时期被广泛应用德国Enigma,盟军Hagelin,日本Purple其核心是复杂的多表代换密码系统由连续的多个转轮来构造基本原理:多次简单的多表代换构造复杂的多表代换包括一系列转轮,每个转轮表示一个多表代换每个转轮的输入输出由内部连线连接每当一个字母加密后,转轮旋转,改变代换表单个机械转轮aD转轮机RotorMachines三个转轮可以提供263=17576个代换表http://enigmaco.de/enigma/enigma.htmlEnigma工作原理aDEnigma(迷)传奇密码学的两个里程碑Enigma:机器加密Bombe:机器解密凝聚了密码应用中的经验与教训德国的工作:到一战结束,古典密码学是唯一选择手工编码/分析:效率低下,安全性不高,攻击相对有效1918年,谢尔比乌斯提出转轮密码机专利申请,同年开始生产Enigma销路很差:商人不信任它,军方相信原有密码1923年,带反射板的Enigma-A问世成本折半,但销路仍然不好Enigma的救星——丘吉尔一战中丘吉尔历任海军大臣、军需大臣。1922年内阁倒台,丘吉尔开始写回忆录“TheWorldCrisis”,1923年出版。书中写道“德国的密码在一战刚开始不久,就已经被协约国破译了”1926年,德国海军采购Enigma之后,Enigma商用型、军用型迅速发展ArthurScherbius亚瑟·谢尔比乌斯Enigma(迷)传奇波兰的工作:1918年波兰复国,总参谋部二部“情报部”密码处成功破译德、苏密码1926年,德军方采购Enigma英、法发现德国电文渐渐无法破译,但并不关心波兰人急了:招募懂德语的优秀数学家,定向培养密码人才1928年的一个周末,德驻波使馆的外交邮包事件。波兰人得到了商业型Enigma1931年德国密码局的汉斯·蒂洛·施密特向法国叛变,代号“灰烬先生”以1万德国马克,出卖Enigma操作手册、核心原理文件、新机型的部分细节之后7年,提供了38个月的密码本,大量Enigma细节雷耶夫斯基针对指标组的循环圈现象发起攻击指标组:为了减少同一密钥对不同电文的加密次数,每次发报前随机选取3个字母,作为指标组。用密钥将指标组连续加密两遍,发送6个密文字母。用指标组加密报文,并发送Enigma继续升级。波兰开发出了“炸弹”,可以同时模拟6台Enigma1938年,Enigma继续升级。波兰人没经费了,也没时间了1939年7月24日,波兰向英、法赠送两台仿制Enigma、Bomba的设计图纸等MarianRejewski马里安·雷耶夫斯基Enigma(迷)传奇英/美的工作:1918-1926年,几乎没有任何成果1934-1937年,改进商业型Enigma,英国装备“打字机X”英国人对Enigma的威力认识相当深刻,但未投入足够精力去破译1938,布莱奇利庄园成为国家破译中心诺克斯的Rodding方法,1940年成功破译德密电针对一种没有连接板的Enigma1940年,德军规定指标组不再连续加密两遍波兰人的方法失灵了图灵在密文中猜测明文,寻找明文-密文的关联1940年3月,按图灵思路设计的Bombe出厂最终,有200多台Bombe在英国各地运转,常规性

地破译德国空军和陆军的密码德国海军的Enigma使用8选3的每日转轮设定,但

英国没有附加转轮的电路,因而无法破译AlanTuring阿兰·图灵Enigma(迷)传奇英/美的工作:1941年5月9日,英国捕获德国潜艇U-110,缴获德国海军的附加转轮,

以及未来两个月的密钥,

Bombe可以破译德国海军情报了潜艇部队司令官AdmiralDonitz开始怀疑盟军有能力解读德国情报,

决定在潜艇Enigma上增加第四个转轮。12月,一个德国密码员用四个

转轮加密了一条消息。考虑到第四个轮子尚未被最高统帅部正式官方

采用,他又将原文用标准的三个轮子加密了一遍。这个错误使得

Bletchley庄园在该轮子被正式采用前就破解了转轮的电路。1941年12月,美国参战。因美国舰队未加密,或者仍是手工

时代密码,整个春季成为德国潜艇的“幸福时光”1942年2月,潜艇Enigma开始使用四个转轮。英国的Bombe能

力不足1943年9月,美国人自己的Bombe开始以每周四台的速度交付

海军。到战争结束时,121台Bombe每天24小时破译德国Enigma

密钥九七式欧文印字机——Purple紫密Hagelin密码机中心机构是一个齿数可变的印字轮映射由若干个密钥轮的转动位置所控制,每加密一个明文字母,所有密钥轮同时转动一格,但每个密钥轮转动一圈的格数不同。Hagelin密码机C-36Hagelin密码机M-2091936年造,转轮分别有17,19,21,23,25个齿,密钥周期的长度为3,900,225为美国陆军制造。增加了一个26齿的密钥轮,周期数达101,405,950古典密码学密码学的发展与范畴代换技术置乱技术乘积密码历史上的教训一、不能妄想对手不知道Kerckhoff原则:在判断一类方法的加密安全性时,必须考虑到对手知道该类方法(除当前明文和密钥外,对手知道一切)复杂的变换规则难以记忆的,需要用文字方式记录。而密码设备和文字记录都可能被对手窃取、缴获,可能被间谍出卖ENIGMA军民混用,被盟军购买过、偷取过、缴获过、被间谍出卖过密码设备可能被用在多个单位,多个用途中,其受保护的程度是不同的,其中最脆弱的一环也必定是对手所关注的ENIGMA曾用于天气预报,也曾被用于生日祝贺保护密码本,总比保护密码设备要容易二战时德国海军曾用一种易溶于水的纸来制作密码本更换密码本的成本比更换密码系统要低硬件设备的制作成本高,运输成本高密码本仅仅是几张纸,便于隐藏;数字密钥数据量小,便于保密传输多个备选算法,仅相当于增加极少的密钥比特一、不能妄想对手不知道中革军委二局“破译三杰”曾希圣、曹祥仁、邹毕兆毛泽东说:“和蒋介石打仗,我们是玻璃杯押宝,看得准,赢得了。这个玻璃杯就是破译敌人密码工作。”从1932年10月至1938年1月,军委二局共破译国民党中央军和地方军各种密码达1050多个,平均每月17个,及时准确地侦悉了敌人兵力部署等大量密息情报,为党中央、中革军委正确指挥红军实施两占遵义、四渡赤水、突破乌江、巧渡金沙江等作战行动,胜利完成二万五千里长征,实现会师陕北,提供了有力的情报保障。二、不要低估自己的魅力和对手的能力不应当低估对手的能力对手所投入的破译力量,是随信息的重要性而增加的在密码学历史上,“不可能被攻破”的密码屡屡被破译在整个二战中,甚至战争结束之后相当长一段时间里,德国人固执地相信ENIGMA是牢不可破的。即使当得知密码机被截获、旧密码本被出卖后,仍放心使用ENIGMA对Enigma的安全性过于自负过高估计安全性:危险时未能及时销毁低估对手能力:多次密码机丢失未能引起重视Enigma被过分重视Enigma被广泛应用在各个领域:被敌人重视Enigma被逐步升级但不更换:敌人的研究也逐步升级英国布莱奇利庄园六号棚屋的负责人曾说:ENIGMA密码机,就其本身而言,如果被正确使用,将会是坚不可摧的。二、不要低估自己的魅力和对手的能力DES的网络破解1973年,美国国家标准局采纳DES密码时,估计普通人至少需要数十年的时间破译1977年,Whitfield&Martin,设想专用破译

机,20小时完成穷举1997年,RSA公司发起首届“DES挑战赛”,

DESCHALLProject,网络协作“人肉”蛮力

破解,第一次公众破译,96天1998年,EFF制造DESCracker(DeepCrack),

1856个芯片,$250,000,56小时破译1999年,EFFDESCracker&

合作,22.25小时破译二、不要低估自己的魅力和对手的能力《人民日报》的报道《中国画报》出现王进喜在钻井旁的照片《人民中国》“最早钻井是在北安附近开始的。”“王进喜一到马家窑子,看到一片荒野说:好大的

油海,我们要把中国石油落后的帽子抛到太平洋去!”“为把沉重的设备运到油井的位置,采用了人拉肩扛的方式。”其他报道王进喜个人事迹“大庆已有820口油井出油”确定大庆油田真实存在位于齐齐哈尔到哈尔滨之间油井离某个车站不远定位反应塔的加工原油能力在100万吨上下大庆油田的开工不晚于1959年反应塔炼油能力跟不上原油产量——准备低价现货出售炼油设备三、不要自我感觉良好只有密码分析者,而不是其他任何人,可以评价一个密码体制的安全性美国密码历史学家DavidKahn曾经说过:几乎每个密码体制的发明者都无一例外地相信他的杰作是不可破译的。对密码系统的攻击是五花八门的,密码分析的方法是多种多样的,甚至直接猜测。如何能预测这种攻击?例如:差分攻击、加密图像的攻击非零系数计数攻击三、不要自我感觉良好目前有一些公认的标准来评价是一密码系统是否不好,但没有任何办法可以评价一个密码系统是否好!例如:相关性、雪崩效应等一个很不严谨的习惯:用密钥的组合数来评估系统的安全性,即用穷举攻击的计算规模来表示系统的安全性这是安全性的上限,是针对密码分析员采用最笨拙的攻击方式所形成的“安全性”,会给人“安全”的假象但除此之外没有关于安全性的量化表示方法目前,衡量一个密码系统是否安全的一个通用的做法是:公开接受来自全世界的研究和攻击选择安全的密码系统时,选择公开的、公认的密码系统四、不是复杂了就安全表面的复杂性可能是虚假的,因为它们可以为密码编制者给出一种安全性的错觉为增强系统安全性,密码编制者往往会增加各种纷杂的办法,或者增加一些使用规范和行政要求可能使得通常的密码分析方法失效,但也往往会造成另一些意想不到的突破口编码时复杂不代表分析时必然复杂,例如德国人规定一个月内密钥不得重复,效果是英国人减少工作量Enigma每个转轮的进位点固定在不同位置,效果是便于敌人推测是几号转轮禁止连续两天将同一转轮放在同一位置,效果是英国人减少工作量字母表上连续字母不许交换,连接板上下相邻字母不许交换,效果是英国人减少工作量采用固定的格式,例如数字前后加字母y等,效果是帮助英国人识别数字四、不是复杂了就安全例,考虑这样一个系统:在分组加密中,假设每组的加密运算是密钥与明文的异或,后一块用前一块的加密结果作为密钥,即C1=k

m1,C2=C1

m2,C3=C2

m3,…该系统中,密钥仅用了一次,而后面每一块都用了新的密钥,似乎很安全。但密文是公开的,m2=C1C2,m3=C2C3,…kC1C2C3……m1m2m3m4……C1C2C3C4……四、不是复杂了就安全美国密码博物馆的展品:二战太平洋战场上日军曾用过的随机数发生器简单的也许就是最好的编织篮随机数的产生是密码科学与艺术的关键。“随机”这个词指“没有特定模式、目的、或目标。简单来说,系统的变化越多,保护得就越好。现在,美国及其他一些现代化实体采用前沿的强大的技术来实现所需达到的随机性级别,然而在过去,特别是无法获得技术资源的战争时期,密码人员往往不得不采取“现场应急”的办法。这里展出的是一个在二战太平洋战争期间缴获的日军编织篮,里面装着一些写着四位数字的纸条,用手抽取,以产生附加的随机数。四、不是复杂了就安全2016年BruceSchneier(美国安全专家)专访:所有的密码最终都能破解,唯一的问题是要投入多少精力。密码学使得国家安全局在收集数据方面不得不提高针对性,只会以少数人为目标,其余人则能够得到保护。优秀的加密算法并不意味着百分之百确保安全,因为这些算法必须在真实世界的系统中加以实现,实现的方法往往有缺陷。能够破解密码的攻击者很少从数学方面下手,它们一般都会从系统、网络以及落实安全的人这些方面发起攻击。削弱安全标准的手段之一便是提高复杂程度。互联网工程任务组(IETF)的互联网标准工作对安全并没有太大意义,因为这些标准都是一个委员会所做的妥协。他们将所有选择都囊括进来,好让大家皆大欢喜。他们加入了尽可能多的灵活性,使系统尽可能包罗万象。这种方法就是安全的大敌。安全需要尽可能少的选择,尽可能简单,不能妥协。必须让某一个选择胜出,因为这个选择具有独立完整的逻辑。如果你这里搞一点,那里搞一点,就会出现一些被忽略的相互作用。这种相互作用就会成为系统的薄弱环节。五、人是最不安全的元素判断一类加密方法的安全性时,必须考虑密码错误和其它违反安全纪律的情况技术人员同样要关心行政管理!历史上,密码系统往往就是毁在不在乎管理的技术人员,特别是密码操作员手上不及时更换密钥一战,德国ADFGX密码,每天更换密钥。法军潘万上校虽然找到了

破译方法,但总是不能及时破译;后来德国人改进为ADFGVX密码,

不再每天更换密钥。结果,法国人得到机会获取足够的密文来及时

破译情报。在使用Enigma时,早期三个月一换,战时才改为8小时一换使用常用词或短语作为密钥需要时常更新密钥的操作员非常容易发生这个惰性错误Enigma发报员常用三重码、连续字母、或密钥做指标组懒得更改转轮初始位置(1940年德军规定,不规定转轮位置,由报务员自己

温馨提示

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

评论

0/150

提交评论