信息论与编码第7章加密编码.ppt
《信息论与编码第7章加密编码.ppt》由会员分享,可在线阅读,更多相关《信息论与编码第7章加密编码.ppt(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、LogoLogo第七章第七章 加密编码加密编码学习得来终觉浅,绝知此事要自悟Logo绪论 Contents1密码学概述 2 加密编码中的信息论分析 3 古典密码及近代密码 4现代密码学 5Logo 密码学其他分支简介 Contents6 网络通信加密方式7 密码学理论及应用展望8思考题与习题9Logo绪论信息的传输过程中容易被对手截获,为了对信息的传输过程中容易被对手截获,为了对信息进行保密,就需要采用加密编码。加密编信息进行保密,就需要采用加密编码。加密编码在不断发展、扩展的过程中形成了一门新的码在不断发展、扩展的过程中形成了一门新的学问密码学,它涉及到两部分内容:密码编学问密码学,它涉及到
2、两部分内容:密码编码和密码分析(破译)。码和密码分析(破译)。密码学是一个扩展的概念密码学是一个扩展的概念 对密码学存在的误解对密码学存在的误解Logo初次接触密码学的人可能会存在的误解:1 1以为学了密码学就可以破解以为学了密码学就可以破解qqqq、邮箱密码之、邮箱密码之类的,其实这类的密码和密码学的一些情况下类的,其实这类的密码和密码学的一些情况下是两码事,一些密码都没有采用密码技术,而是两码事,一些密码都没有采用密码技术,而且破解密码的手法也比较简单且破解密码的手法也比较简单2 2学习了密码学即可用于破解银行的密码,而实学习了密码学即可用于破解银行的密码,而实际上破解银行的密码一般利用的
3、不是高深的密际上破解银行的密码一般利用的不是高深的密码学知识,相反,它可能用各种木马,窃取密码学知识,相反,它可能用各种木马,窃取密码。码。Logo61.1.完整性完整性(Integrity)(Integrity)2.2.可用性可用性(Availability)(Availability)3.3.真实性真实性(Authenticity(Authenticity)除了通过加密实现机除了通过加密实现机密性密性(Confidentiality)(Confidentiality)以以外,经过逐步的发展,还外,经过逐步的发展,还可以实现以下安全需求:可以实现以下安全需求:4.4.责任追究性责任追究性(A
4、ccountability(Accountability)5.5.公平性公平性现现代的密代的密码码学学7.1 密码学概述7.1.1 基本专业术语7.1.2 加密编码算法分类7.1.3 密码分析及其分类7.1.4 密码系统的安全性及其分类7.1.5 加密编码的发展历程l 明文(Plaintext):待伪装或加密的消息(Message)。l 密文(Ciphertext):对明文施加某种伪装或变换后的输出,也可认为是不可直接理解的字符或比特集,密文常用c表示。l 解密(decryption)算法则是其相反的过程:由密文转换回明文;加解密包含了这两种算法,一般加密即同时指称加密(encrypt或enc
5、ipher)与解密(decrypt或decipher)的技术。l 密码算法(Cryptography Algorithm),也简称密码(Cipher),通常是指加、解密过程所使用的信息变换规则,是用于信息加密和解密的数学函数。l 密钥(Secret Key或者Key):密码算法中的一个可变参数,通常是一组满足一定条件的随机序列。l 密码系统(Cryptosystem):是加解密参与的各个要素构成的系统。87.1.1 基本专业术语密码学的作用:鉴别:消息的接收者应该能够确认消息的来源(人、设备等);入侵者不可能伪装成他人发送伪冒信息。完整性:消息的接收者应该能够验证在传送过程中消息没有被修改;入
6、侵者不可能用假冒、篡改的消息代替发送者合法消息。抗抵赖:发送者事后不可能虚假地否认他发送的消息。10类似于通信系统的模型,香农也建立了保密系统的模型,如下图7-1所示:7.1.2 加密编码算法分类图7-1 保密系统模型11EK(M)=C DK(C)=M (7-1)(7-2)这些函数具有下面的特性(见图7-2):DK(EK(M)=M.加密和解密运算都使用密钥(即运算都依赖于密钥,并用K作为下标表示),这样,加/解密函数现在变成:图7-2 使用一个密钥的加/解密12有些算法使用不同的加密密钥和解密密钥(见图7-3),也就是说加密密钥K1与相应的解密密钥K2不同,在这种情况下:EK1(M)=C DK
7、2(C)=M (7-3)(7-4)DK2(EK1(M)=M 图7-3 使用两个密钥的加/解密对称加密算法(对称密码算法)有时又叫传统密码(加密)算法、单钥密码(加密)算法、秘密密钥密码(加密)算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。13基于密钥的算法通常有两类:对称加密算法和公开密钥加密算法。对称算法的加密和解密表示为:对称算法的加密和解密表示为:E EK K(M M)=CDK K(C)=M M14公开密钥算法(也叫非对称算法、双钥算法)是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。用公开密钥K加密表示为E
8、K(M)=C.虽然公开密钥和私人密钥是不同的,但用相应的私人密钥解密可表示为:DK(C)=M有时消息用私人密钥加密而用公开密钥解密,这用于数字签名,尽管可能产生混淆,但这些运算可分别表示为:EK(M)=CDK(C)=M公开密钥算法 密码编码学的主要目的是保持明文(或密钥,或明文和密钥)的秘密以防止偷听者(也叫对手、攻击者、截取者、入侵者、敌手或干脆称为敌人)知晓。这里假设偷听者完全能够接获收发者之间的通信。密码分析学是在不知道密钥的情况下。恢复出明文的科学。成功的密码分析能恢复出消息的明文或密钥。密码分析也可以发现密码体制的弱点,最终得到上述结果(密钥通过非密码分析方式的丢失叫做泄露。)157
9、.1.3 密码分析及其分类(1)唯密文攻击唯密文攻击(又称唯密文分析)。密码分析者有一些消息的密文,这些消息都用同一加密算法加密。已知:C1=EK(P1),C2=EK(P2),Ci=EK(Pi)推导出:P1,P2,Pi;K或者找出一个算法从Ci+1=EK(Pi+1)推出Pi+1。16常用的密码分析(攻击)有四类,当然,每一类都假设密码分析者知道所用的加密算法的全部知识:(2)已知明文攻击已知明文攻击。密码分析者不仅可得到一些消息的密文,而且也知道这些消息的明文。已知:P1,C1=Ek(P1),P2,C2=Ek(P2),Pi,Ci=Ek(Pi),推导出:密钥k,或从Ci+1=Ek(Pi+1)推出
10、Pi+1的算法。(3)选择明文攻击选择明文攻击。分析者不仅可得到一些消息的密文和相应的明文,而且他们也可选择被加密的明文。已知:P1,C1=Ek(P1),P2,C2=Ek(P2),Pi,Ci=Ek(Pi)其中P1,P2,Pi是由密码分析者选择的。17(4)自适应选择明文攻击自适应选择明文攻击。这是选择明文攻击的特殊情况。密码分析者不仅能选择被加密的明文,而且也能基于以前加密的结果修正这个选择。(5)选择密文攻击选择密文攻击。密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,例如密码分析者存取一个防窜改的自动解密盒,密码分析者的任务是推出密钥。已知:C1,P1=Dk(C1),C2,P
11、2=Dk(C2),Ci,Pi=Dk(Ci),推导出:k。(6)选择密钥攻击选择密钥攻击。这种攻击并不表示密码分析者能够选择密钥,它只表示密码分析者具有不同密钥之间的关系的有关知识。这种方法有点奇特和晦涩,不是很实际。18(7)软磨硬泡软磨硬泡(Rubber-hose)攻击攻击。密码分析者威胁、勒索,或者折磨某人,直到他给出密钥为止。行贿有时称为购买密钥攻击。这些是非常有效的攻击,并且经常是破译算法的最好途径。1.全部破译全部破译。密码分析者找出密钥K,这样DK(C)=P。2.全盘推导全盘推导。密码分析者找到一个代替算法A,在不知道密钥K的情况下,等价于DK(C)=P。3.实例(或局部)推导实例
12、(或局部)推导。密码分析者从截获的密文中找出明文。4.信息推导信息推导。密码分析者获得一些有关密钥或明文的信息。这些信息可能是密钥的几个比特、有关明文格式的信息等等。19Lars Knudsen把破译算法分为不同的类别,安全性的递减顺序为:一个密码系统的安全性(security,safety)主要与两个方面的因素有关:(1)一个是所使用密码算法本身的保密强度。(2)另外一个方面就是密码算法之外的不安全因素。因此,密码算法的保密强度并不等价于密码系统整体的安全性。207.1.4 密码系统的安全性及其分类(1)无条件安全性(unconditional security)(2)计算安全性(compu
13、tational security)(3)可证明安全性(provable security)21评估密码系统安全性主要有三种方法:(1)破译该密码系统的实际计算量(包括计算时间或费用)十分巨大,以至于在实际上是无法实现的。(2)破译该密码系统所需要的计算时间超过被加密信息有用的生命周期。例如,战争中发起战斗攻击的作战命令只需要在战斗打响前需要保密;重要新闻消息在公开报道前需要保密的时间往往也只有几个小时。(3)破译该密码系统的费用超过被加密信息本身的价值。如果一个密码系统能够满足以上准则之一,就可以认为是满足实际安全性的。22密码系统要达到计算安全性(实际安全性),就要满足以下准则:l数据复杂
14、性数据复杂性(Data Complexity)。用作攻击输入所需的数据量。l处理复杂性处理复杂性(Processing Complexity)。完成攻击所需要的时间,这个经常叫做工作因素。l存储需求存储需求(Storage Requirement)。进行攻击所需要的存储量。作为一个法则,攻击的复杂性取这三个因数的最小化,有些攻击包括这三种复杂性的折中:存储需求越大,攻击可能越快。23不同方式衡量攻击方法的复杂性:l第一阶段第一阶段:1949年之前,密码学还不是科学而是艺术,密码算法的设计者都是凭借自己的直观设计密码算法。l第二阶段第二阶段:19491975年,密码学成为科学,以1949年Sha
15、nnon的“The Communication Theory of Secret Systems”为标志。l第三阶段第三阶段:1976年以后,出现了密码学的新方向247.1.5 加密编码的发展历程加密编码的发展历程香农对信息的定义是:信息是消除不确定性的东西,对于加密而言,在让接受者获取信息的同时,希望对手能够获取的信息尽量少,这意味着一个密码系统,对于对手的不确定性应该越大越好,可见密码系统的安全性问题可以转化为信息论中熵、条件熵、平均互信息量的问题。一个一般的密码系统,其加密解密可以表示为:EK(M)=CDK(C)=M对于对手,一般已知密文C,欲增强密码系统的不确定性,则可以增加K的不确定
16、性,或者说从互信息量的角度,通过C获取的关于M(或者K)的互信息量要小;从另外一个角度,C作为条件时,K和M的不确定性大。257.2 7.2 加密编码中的信息论分析加密编码中的信息论分析在密码学中有两种疑义度:1)对于给定密文C,密钥K的疑义度可表示为 H(K|C)=p(ki,cj)log2p(ki|cj)(7-5)2)对于给定密文C,明文M的疑义度可表示为 H(M|C)=p(mi,cj)log2p(mi|cj)267.2.1 7.2.1 加密编码中的熵概念加密编码中的熵概念27破译者的任务是从截获的密文中提取有关明文的信息或从密文中提取有关密钥的信息I(M;C)H(M)H(M/C)I(K;C
17、)H(K)H(K/C)H(M/C)和H(K/C)越大,破译者从密文能够提取出有关明文和密钥的信息就越小。对于合法的接收者,在已知密钥和密文条件下提取明文信息:H(M/C,K)0 I(M;CK)H(M)H(M/C,K)H(M)疑义度 28 因为 H(K/C)H(M/K,C)H(M/C)H(K/M,C)(M和K交换)H(M/C)(熵值H(K/M,C)总是大于等于零)H(M/C,K)0,上式得 H(K/C)H(M/C)即已知密文后,密钥的疑义度总是大于等于明文的疑义度。我们可以这样来理解,由于可能存在多种密钥把一个明文消息M加密成相同的密文消息C,即满足 的K值不止一个。但用同一个密钥对不同明文加密
18、而得到相同的密文则较困难,无法解密。疑义度 29又因为 H(K)H(K/C)H(M/C),则 上式说明,保密系统的密钥量越少,密钥熵H(K)就越小,其密文中含有的关于明文的信息量I(M;C)就越大。至于破译者能否有效地提取出来,则是另外的问题了。作为系统设计者,自然要选择有足够多的密钥量才行。疑义度 30在破译密码时,有时候我们会尝试用一个一个的密钥尝试加密所有的明文,看得到的明文是否有意义,这样就可以在一定的程度上判断密钥是否是正确的。一个密码系统,就是需要让对手看来有更大的自由度,这样他们就无法确定明文。可以认为明文冗余度对于密码系统自由度的销噬。7.2.2 密码系统的自由度香农给出的唯一
19、解距离的计算公式:(7-12)U为唯一解距离,H(K)为密码体制的熵,D为语言冗余度。根据以上方法得出的唯一解距离都很短。你认为信息论中的冗余度与在这里的冗余度一样吗?在此距离下是有唯一解吗?317.2.3 7.2.3 唯一解距离与理想保密唯一解距离与理想保密327.2.4 7.2.4 完善保密与一次一密体制完善保密与一次一密体制香农定义了完善保密(完全保密,Perfect Secrecy):对一个密码体制而言,如果对所有明文空间中的任一明文x和密文空间中的任一密文y,都有,即截获密文后,明文的概率分布不发生改变,则称该密码体制具有完善保密性(Perfect secrecy)。或称该密码体制是
20、完全保密的。根据密文与明文长度相等是否获得关于明文信息?337.2.5 7.2.5 具有误导功能的低密钥可信度具有误导功能的低密钥可信度加密算法加密算法如何让错误密钥得到的明文也有意义?选择题的扩充一次一密的改进347.2.6 7.2.6 多重不确定的密码体制多重不确定的密码体制现有密码系统中只有密钥是不确定的密码分析有哪些确定的条件,算法可以让这些条件不确定?是否可以让算法、加密重数等信息也不确定?世界上最早的一种密码产生于公元前两世纪。是由一位希腊人提出的,人们称之为棋盘密码,原因为该密码将26个字母放在55的方格里,i,j放在一个格子里,具体情况如下图7-4所示:357.3 7.3 古典
21、密码及近代密码古典密码及近代密码 7.3.1 7.3.1 常见古典密码常见古典密码1 12 23 34 45 51 1a ab bc cd de e2 2f fg gh hijijk k3 3l lm mn no op p4 4q qr rs st tu u5 5v vw wx xy yz z图7-4 棋盘密码古代密码多数可以通过字母频率攻击来破解,以恺撒密码为例,即使在不知道移位所对应的数字是3的情况下(因为可以是其它数字,而要破解的关键就是要找到这个数字),可以通过检查字母出现的频率来推测,比如:原文:p a n d a s o f t w a r e 密码:s d q g d v r i
22、 w z d u h 367.3.2 7.3.2 古典密码的分析古典密码的分析在这里,“d”出现的次数最多,由于英语中最常出现的两个字母是“a”和“e”,于是可以分别进行检验。在“e”的情况下,“d”在“e”的后面第25位,然后用25来检验其它字母,出现如下情况:密码:s d q g d v r i w z d u h 向后25位译码:t e r h e w s j x a e v i这个字母序列没有丝毫意义,所以这次尝试不成功。然后再用3来试验,可以得到如下结果:密码:s d q g d v r i w z d u h向后3位译码:p a n d a s o f t w a r e37183
23、4年,伦敦大家的实验物理学教授惠斯顿发明了电机,这是通信向机械化、电气化跃进的开始,也是密码通信能够采用在线加密技术提供了前提条件。对于分组密码,分组长度是固定的,如何对任意长度的明文进行处理才能保证通过密文唯一地得到明文?387.3.3 7.3.3 近代密码近代密码前面两章介绍了古典密码和近代密码,它们的研究还称不上是一门科学。直到1949年香农发表了一篇题为“保密系统的通信理论”的著名论文,该文首先将信息论引入了密码,从而把已有数千年历史的密码学推向了科学的轨道,奠定了密码学的理论基础。397.4 7.4 现代密码学现代密码学有利于对密码算法的安全性进行公开测试评估;防止密码算法设计者在算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息论 编码 加密
限制150内