第4章密码及加密技术清华大学出版社高等院校计算机与信息类规划教材上海市精品课程特色教材上海高校优秀教材奖主编目录4.2密码破译与密钥管理技术24.3实用加密技术概述34.4实验四密码恢复软件应用44.1密码技术概述14.5本章小结5教学目标教学目标●掌握加密技术、密码学相关概念●掌握数据及网络加密方式●掌握实用加密技术●了解密码破译方法与密钥管理重点重点4.1密码技术概述密码战:中途岛惨败之后,为了鼓舞士气,山本决定于1943年4月18日亲自到卡西里湾前线机场接见飞行员,并将这一决定以密电告知。美国情报部门截获并破译了这一密电,美军决定不惜一切代价击落山本的座机。4月18日9时45分,山本五十六和他的部下飞向卡西里湾。早已等候多时的16架美国P—38型远程战斗机立即升空截击,将其击落。。4.1.1密码技术相关概念案例4-1密码技术是结合数学、计算机科学、电子与通信等诸多学科于一身的交叉学科,是保护信息安全的主要手段之一。密码技术是将能看得懂的明文,通过加密变成乱码的过程4.1密码技术概述保密文件(明文)xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx保密文件(明文)xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx发送者用密钥加密K(E)接收者用密钥解密K(D)明文P明文P加密算法E解密算法D密文C伪造、篡改、窃取…伪造、篡改、窃取…明文:信息的原始形式称为明文(Plaintext,记为P)。密文:明文经过变换加密后的形式称为密文(Ciphertext,记为C)。加密:由明文变成密文的过程称为加密(Enciphering,记为E),加密通常由加密算法来实现的。解密:由密文还原成明文的过程称为解密(Deciphering,记为D),解密通常是由解密算法来实现的。加密算法:实现加密所遵循的规则。解密算法:实现解密所遵循的规则。密钥:为了有效地控制加密和解密算法的实现,在其处理过程中要有通信双方掌握的专门信息参与加密和解密操作,这种专门信息称为密钥(key,记为K)。4.1密码技术概述攻击方式:信息传输过程中,信息经常被中断、截获、篡改和伪造。4.1密码技术概述密码技术出口管制:一个特别重要的议题是密码软件与硬件的出口管制。由于密码分析在二战时期扮演的重要脚色,也期待密码学可以持续在国家安全上效力,许多西方国家政府严格规范密码学的出口。二战之后,在美国散布加密科技到国外曾是违法的。事实上,加密技术曾被视为军需品,就像坦克与核武。直到个人电脑和因特网问世后情况才改变。4.1密码技术概述案例4-2密码学是研究编制密码和破译密码技术的科学。4.1密码技术概述(1)第一阶段(古典密码),从古代到1949年,可以看作是密码学科学的前夜时期。(2)第二阶段,从1949年到1975年。人们将此阶段使用的加密方法称为传统加密方法,其安全性依赖于密钥的保密,而不是算法的保密。(3)第三阶段,从1976年至今。这个时期密码学技术得到蓬勃发展,密码学技术趋于标准化。密码学发展历程:4.1.2密码学与密码体制1.密码学概述Phaistos圆盘是一种直径约为160mm的CretanMnoan粘土圆盘,始于公元前17世纪。表面有明显字间空格的字母,至今还没有破译。案例4-3密码体制是完成加密和解密的算法。4.1密码技术概述按应用技术方式和历史发展阶段划分:(1)手工密码(2)机械密码(3)计算机密码按照实现方式,现有的密码体制分为:(1)对称密码体制(2)非对称密码体制(3)单向散列函数按照时代划分:(1)传统密码体制(2)现代密码体制密码体制的分类:2.密码体制(1)无条件安全性。如果一个密码体制满足条件:无论有多少可使用的密文,都不足以惟一地确定密文所对应的明文,则称该密码体制是无条件安全的。(2)计算安全性。密码学更关心在计算上不可破译的密码系统。如果一个密码体制的最好的算法满足以下标准:破译密码的代价超出密文信息的价值;破译密码的时间超出密文信息的有效生命期,那么,这个密码体制被认为在计算上是安全的。(3)可证明安全性。另一种安全性度量是把密码体制的安全性归约为某个经过深入研究的数学难题。可证明安全性只是说明密码体制的安全与一个问题是相关的,并没有证明密码体制是安全的,可证明安全性也有时候被称为归约安全性。4.1密码技术概述评价密码体制安全性存储加密是对存储数据进行的加密,主要是通过访问控制实现的。4.1密码技术概述(1)单级数据信息保密。单级数据信息保密是指对需要进行保密的数据信息一视同仁,不对这些数据信息进行保密级别分类的保密方式。(2)多级数据信息保密。多级数据信息保密是指对需要进行保密的数据信息按数据信息的重要程度,分成若干个保密等级的保密方式。4.1.3数据及网络加密方式1.存储加密通信加密是对通信过程中传输的数据加密。4.1密码技术概述1)链路加密:是目前最常用的一种加密方法,通常用硬件在网络层以下(1、2层)的物理层和数据链路层中实现,它用于保护通信结点间传输的数据。这种加密方式比较简单,实现起来也比较容易,只要把一对密码设备安装在两个结点间的线路上,即把密码设备安装在结点和调制解调器之间,使用相同的密钥即可。2.通信加密4.1密码技术概述2)结点加密:结点加密是链路加密的改进,其目的是克服链路加密在结点处易遭非法存取的缺点。在协议运输层上进行加密,是对源点和目标结点之间传输的数据进行加密保护。这种加密方式除了在保护装置内,即使在结点也不会出现明文。结点加密时,数据在发送结点和接收结点是以明文形式出现的;而在中间结点,加密后的数据在一个安全模块内部进行密钥转换,即将上一结点过来的密文先解密,再用另一个密钥加密。4.1密码技术概述3)端-端加密:端-端加密是面向网络高层主体进行的加密,即在协议表示层上对传输的数据进行加密,而不对下层协议信息加密。协议信息以明文形式传输,用户数据在中间结点不需要加密。4.1密码技术概述链路加密对用户来说比较容易,使用的密钥较少,而端--端加密比较灵活,用户可见。对链路加密中各结点安全状况不放心的用户也可使用端--端加密方式。讨论思考:(1)简述学习密码技术的意义。(2)简述数据传输加密和数据存储加密的特点(3)多级加密可以代替单级加密吗?为什么?加密传输方式的比较4.2.1密码破译概述密码破译是在不知道密钥的情况下,恢复出密文中隐藏的明文信息。4.2密码破译与密钥管理技术4.2密码破译与密钥管理技术1)算法的强度。例如,除了尝试所有可能的密钥组合之外的任何数学方法都不能使信息被解密。2)密钥保密性。数据的保密程度直接与密钥的保密程度相关,注意区分密钥和算法,算法不需要保密,被加密的数据先与密钥共同使用,然后再通过加密算法。3)密钥长度。加密强度取决于三个主要因素:评测算法的强度。算法向公众公开的时间越长,受攻击或者被拨接的机会就越多,也和公开的程度有关系,如果完全不知道算法的复杂性,破解是非常困难的。案例4-44.2密码破译与密钥管理技术破译密文最简单的方法,就是尝试所有可能的钥匙组合。假设破译者有识别正确解密结果的能力,经过多次密钥尝试,最终会有一个钥匙让破译者得到原文,这个过程就称为密钥的穷尽搜索。4.2.2密码破译方法和防范1.密钥的穷尽搜索4.2密码破译与密钥管理技术在不知道钥匙的情况下,利用数学方法破译密文或找到钥匙的方法,称为密码分析。密码分析有两个基本的目标:利用密文发现明文;利用密文发现钥匙。根据密码分析者破译(或攻击)时已具备的前提条件,通常人们将密码分析攻击法分为4种类型(1)惟密文破解(2)已知明文的破译(3)选定明文的破译(4)选择密文攻击2.密码分析4.2密码破译与密钥管理技术常见的方法有:(1)欺骗用户口令密码(2)在用户输入口令时,应用各种技术手段,“窥视”或“偷窃”密钥内容。(3)利用加密系统实现中的缺陷。(4)对用户使用的密码系统偷梁换柱。(5)从用户工作生活环境获得未加密的保密信息。如进行的“垃圾分析”。(6)让口令的另一方透露密钥或相关信息。(7)威胁用户交出密码。3.其他密码破译方法4.2密码破译与密钥管理技术防止密码破译,除去我们要从思想上加以重视外,采取的具体措施如下:(1)强壮加密算法。通过增加加密算法的破译复杂程度和破译的时间,进行密码保护。如加长加密系统的密钥长度,一般在其他条件相同的情况下,密钥越长破译越困难,而且加密系统也就越可靠。(2)动态会话密钥。每次会话所使用的密钥不相同。(3)定期更换加密会话的密钥。4.防范密码破译的措施没有一种密码技术是100%攻不破的,但现在使用的密码技术来说,暴力破解一个加密信息要用几十年、几百年或数千年的时间。一般认为,到那时信息已经没有价值了。案例4-54.2密码破译与密钥管理技术4.2.3密钥管理技术密钥管理是指对所用密钥生命周期的全过程实施的安全保密管理。包括密钥的产生、存储、分配、使用和销毁等一系列技术问题。密钥管理包括管理方式,密钥生成、密钥存储和保护、密钥分配、传递和密钥备份、销毁等讨论思考:(1)密钥管理包括哪几个过程?分别简述。(2)怎样解决暴力破解耗时的问题?(3)多层密钥体制的特点是什么?4.3实用加密技术概述1)替换技术是用一组密文字母替代明文字母,达到隐藏明文的目的。替换密码有四种:单表替换密码、多表替换密码、同音替换密码和多字母组替换密码。典型的传统加密技术:替换密码技术和置换技术4.3.1对称加密技术1.传统加密技术凯撒密码是最古老的一种单表替代密码。这种技术将字母按字母表的顺序排列,并将最后一个字母和第一个字母相连起来,构成一个字母序列,明文中的每个字母用该序列中在它后面的第三个字母来代替,构成密文。也就是说密文字母相对明文字母循环右移3为,所以也成“循环以为密码”。明文字母:abcdefghIjklmnopqrstuvwxyz密文字母:DEFGHIJKLMNOPQRSTUVWXYZABC4.3实用加密技术概述凯撒密码特点:由于k的取值范围的限制,凯撒密码的密钥空间很小,难以抵御强行攻击密码分析,攻击者最多尝试25次,就一定能够破译密码。为了加大凯撒密码的密钥空间,可以将明文字母和密文字母的映射表复杂化,将它们之间的映射关系变成没有规律的,即将密文字母的顺序打乱后,每条信息用一个图文字母表(给出从明文字母到密文字母的映射)加密,打乱后的字母表为密钥。明文字母:abcdefghIjklmnopqrstuvwxyz密文字母:OGRFCYSALXUBZQTWDVEHJMKPNI4.3实用加密技术概述2)置换技术是在不丢失信息的前提下对明文中的元素进行重新排列,分为矩阵置换和列置换。矩阵置换:这种加密法是把明文中的字母按给定的顺序安排在一矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。明文ENGINEERING按行排在3×4矩阵中,如最后一行不全可用A,B,C…填充。给定一个置换E=((1234)(2413)),现在根据给定的置换,按第2列,第4列,第1列,第3列的次序排列,得到密文NIEGERNENAIG。解密算法D=((2413)(1234))。案例4-62.现代对称加密技术在一个密码体系中,加密密钥和解密密钥相同,就称为对称加密。代表性的对称加密算法有DES(数据加密标准),IDEA(国际数据加密算法),Rijndael,AES,RC4算法等。4.3实用加密技术概述1)DES一种单钥密码算法,它是一种典型的按分组方式工作的密码,是两种基本的加密组块替代和换位的细致而复杂的结构。通过反复依次应用这两项技术来提高其强度,经过总共16轮的替代和换位的变换后,使得密码分析者无法获得该算法一般特性以外更多的信息。4.3实用加密技术概述算法思想:DES算法将输入的明文分为64位的数据分组,使用64位的密钥进行变换,每个64位明文分组数据经过初始置换、16次迭代和逆初始置换3个主要阶段,最后输出得到64位密文。2)三重DES是用两个密钥对明文进行三