第2章信息加密技术_第1页
第2章信息加密技术_第2页
第2章信息加密技术_第3页
第2章信息加密技术_第4页
第2章信息加密技术_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

计算机网络安全,2020/5/6,计算机网络安全,1,第2章密码技术及应用,数据加密概述古典密码算法对称加密算法非对称加密算法报文鉴别密钥管理,本章要点:,计算机网络安全,2020/5/6,计算机网络安全,2,2.1数据加密概述,数据加密就是将密码学应用在数据传递过程中,保证数据的安全性,其中:利用密码技术可以把某些重要信息或数据从一个可理解的明文形式变换成为一种错乱的、不可理解的密文形式,称为加密过程;密文经过线路传送到达目的端后,用户按特定的解密方法将密文还原为明文,称为解密的过程。,计算机网络安全,2020/5/6,计算机网络安全,3,名词解释:明文(plaintext):未被加密的消息。密文(ciphertext):被加密的消息。密码算法:密码算法也叫密码(cipher),适用于加密和解密的数学函数.(通常情况下,有两个相关的函数:一个用于加密,一个用于解密)。加密系统:由算法以及所有可能的明文,密文和密钥组成。,计算机网络安全,2020/5/6,计算机网络安全,4,加密(encrypt),解密(decrypt):用某种方法伪装消息以隐藏它的内容的过程称为加密;相反的过程叫解密。密钥(key):密钥就是参与加密及解密算法的关键数据。没有它明文不能变成密文,密文不能明文。它必须满足M=D(KD,E(KE,M)函数!,计算机网络安全,2020/5/6,计算机网络安全,5,密码体制,组成:1.明文信息空间M(全体明文的集合)2.密文信息空间C(全体密文的集合)3.密钥空间K(全体密钥的集合K(Ke,Kd)4.加密算法E:5.解密算法D:,分类:,按执行的操作方式分,替换密码,置换密码,按密钥数量分,对称密钥密码(单钥密码),非对称密钥密码(公钥密码),按明文处理方式,流密码(序列密码),分组密码,计算机网络安全,2020/5/6,计算机网络安全,6,典型密码系统,明文M,加密器E,公开信道,密文,解密器D,明文,发送方,接收方,计算机网络安全,2020/5/6,计算机网络安全,7,加密技术,数据传输加密技术,数据存储加密技术,数据完整性鉴别技术,密钥管理技术,加密技术分类,计算机网络安全,2020/5/6,计算机网络安全,8,1)链路加密:不但要加密报文,还要加密报头。要传输到下一个节点必须解密再加密,直到到达目的节点。2)节点加密:在传输中的节点设置一个加、解密保护装置完成密钥转换。除保护装置外不出现明文。3)端到端加密:在发送、接收端才加、解密,中间节点不解密。,数据传输加密技术,计算机网络安全,2020/5/6,计算机网络安全,9,目的是防止在存储环节上的数据失密,可分为密文存储和存取控制两种。密文存储:加密算法转换、附加密码、加密模块;存储控制:对用户资格、权限加以审查和限制。,数据存储加密技术,计算机网络安全,2020/5/6,计算机网络安全,10,目的是对介入信息的传送、存取、处理的人的身份和相关数据内容进行验证,达到保密的要求,一般包括口令、密钥、身份、数据等项的鉴别,系统通过对比验证对象输入的特征值是否符合预先设定的参数,实现对数据的安全保护。,数据完整性鉴别技术,计算机网络安全,2020/5/6,计算机网络安全,11,为了数据使用的方便,数据加密在许多场合集中表现为密钥的应用,以达到保密的要求,因此密钥往往是保密与窃密的主要对象。密钥的管理技术包括密钥的产生、分配保存、更换与销毁等各环节上的保密措施。,密钥管理,计算机网络安全,2020/5/6,计算机网络安全,12,数据加密算法,数据加密算法经历了以下三个阶段。1)古典密码:包括替代加密、置换加密。2)对称密钥密码:包括DES和AES。3)非对称密钥密码:包括RSA、背包密码、McEliece密码、Rabin、椭圆曲线、EIGamalD_H等。目前在数据通信中使用最普遍的算法有DES算法、RSA算法和PGP算法等。,计算机网络安全,2020/5/6,计算机网络安全,13,1.替换加密,2.2古典加密算法,明文中每个字符被替换成密文中的另一个字符,明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ,例:明文:THISISAFILE,密文:EFGHIJKLMNOPQRSTUVWXYZABCD,密文:XLMWMWEJMPI,每个密钥仅对一个消息使用一次,2.置换加密,3.一次一密,密钥:Insert次序:235146明文:attack;第一行begins;第二行atfour;第三行明文:attackbeginsatfour密文:aioabatetcnutgfksr,按照某一规则重新排列字母的顺序,而不是隐藏它们。,计算机网络安全,2020/5/6,计算机网络安全,14,相同密钥,方案,Ri=Li-1F(Ri-1,Ki)解密:Ri-1=LiLi-1=RiF(Ri-1,Ki)=RiF(Li,Ki),计算机网络安全,2020/5/6,计算机网络安全,19,Feistel网络的特点,所有循环的结构都相同,置换在数据的左半部分进行,其方法是先对数据的右半部分应用循环函数F,然后对函数输出结果和数据的左半部分取异或(XOR)。循环函数对每次循环都有相同的通用结构,但由循环子密钥Ki来区分。在置换之后,执行由数据两部分互换构成的交换。解密过程与加密过程基本相同。规则如下:用密文作为算法的输入,但以相反顺序使用子密钥Ki,意味着加密和解密不需要用两种不同的方法。,计算机网络安全,2020/5/6,计算机网络安全,20,Feistel网络的特点,分组大小:较大的分组意味着较强的安全性,但会降低加密解密速度。64位的分组大小是合理的折中,几乎所有的分组设计中都使用它。密钥大小:较大的密钥意味着较强的安全性,但会降低加密解密速度。现代算法中最常用的是128位密钥。循环次数:本质是单一循环的不足,多重循环能够加强安全性。典型的循环次数为16。子密钥生成算法:较大的复杂性会增大密钥分析的难度。循环函数:较大的复杂性意味着给密码分析带来更大的难度。,计算机网络安全,2020/5/6,计算机网络安全,21,DES概述,1.DES算法的历史DES是美国国家标准局NBS(后改名为美国国家标准技术研究所即NIST)公开征集的一种用于政府部门及民间进行计算机数据加密的密码算法。DES是密码技术史上第一个广泛应用于商用数据保密的、公开的密码算法,开创了公开密码算法的先例。DES是分组乘积密码,它用56位密钥(密钥总长64位,其中8位是奇偶校验位)将64位的明文转换为64位的密文。,计算机网络安全,2020/5/6,计算机网络安全,22,DES分别在1983、87、92、94年都通过了安全性评估,作为信息安全处理标准一直使用到1998年,美国的许多专用系统纷纷宣布采用DES作为其信息处理安全标准。随着计算机计算能力的提高,由于DES的一些先天性不足(其密钥过短,只有56位,也是导致其备受批评的重要原因),对DES的成功攻击屡见报道。NIST于1997年发布公告,征集新的数据加密标准为联邦信息处理标准的代替DES。2000年10月,公布了新的数据加密标准AES。DES仍然具有重要的参考价值,它对于掌握分组密码的基本理论与设计思想具有重要意义。,计算机网络安全,2020/5/6,计算机网络安全,23,DES算法主要步骤,64位码,明文输入:,初始置换,乘积变换,逆初始置换,64位码,密文输出:,计算机网络安全,2020/5/6,计算机网络安全,24,DES加密算法图,1)、初始置换:其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则为将输入的第58位换到第一位,第50位换到第2位依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3D64,则经过初始置换后的结果为:L0=D58D50D8;R0=D57D49D7。2)、逆置换:经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。,计算机网络安全,2020/5/6,计算机网络安全,25,初始置换(IP),先将输入的明文按下图所示进行变换。然后将变换后的数据分左右两组,每组32位长。,明文输入(64位),置换后结果(64位),计算机网络安全,2020/5/6,计算机网络安全,26,F函数,Li-1,Ri-1,扩展置换,S-盒替换,P-盒置换,密钥,移位,移位,压缩置换,密钥,Ki,计算机网络安全,2020/5/6,计算机网络安全,27,密钥计算,在64位密钥中,由于不考虑每个字节的第8位(校验位),DES密钥由64位减至56位。将这56位密钥分解成16个48位的子密钥,每个子密钥控制一次迭代过程。每个子密钥参与加密或解密运算过程,从而直接影响到加密或解密变换的结果。,计算机网络安全,2020/5/6,计算机网络安全,28,密钥计算逻辑,64位密钥,置换选择1,(56位),(56位),计算机网络安全,2020/5/6,计算机网络安全,29,优点:加密和解密速度快,加密强度高,且算法公开。缺点:1)实现密钥的秘密分发困难,对于具有n个用户的网络,需要n(n1)/2个密钥。2)密钥管理复杂3)无法完成身份认证等功能,不便于应用在网络开放的环境中。,DES算法的特点,计算机网络安全,2020/5/6,计算机网络安全,30,2.4非对称加密算法,公钥密码学是密码学一次伟大的革命1976年,Diffie和Hellman在“密码学新方向”一文中提出使用两个密钥:公钥、私钥公钥密码算法(public-keyalgorithm,也叫非对称算法):加密的密钥不同于解密的密钥,而且解密密钥不能根据加密密钥计算出来。,计算机网络安全,2020/5/6,计算机网络安全,31,公钥密码体制的加密原理,每个通信实体有一对密钥(公钥,私钥)。公钥公开,用于加密和验证签名,私钥保密,用作解密和签名A向B发送消息,用B的公钥加密B收到密文后,用自己的私钥解密,任何人向B发送信息都可以使用同一个密钥(B的公钥)加密没有其他人可以得到B的私钥,所以只有B可以解密,计算机网络安全,2020/5/6,计算机网络安全,32,公钥密码体制的加密功能,A向B发消息XA加密:Y=EPKb(X)B解密:X=DSKb(Y),假设:A密钥(PKA,SKA),B密钥(PKB,SKB),计算机网络安全,2020/5/6,计算机网络安全,33,公钥密码体制的签名原理,A向B发送消息,用A的私钥加密(签名)B收到密文后,用A的公钥解密(验证),B,计算机网络安全,2020/5/6,计算机网络安全,34,公钥密码体制的签名原理,A向B发送消息XA“加密”:Y=ESKa(X)(数字签名)B“解密”:X=DPKa(Y)注意:不能保证消息的保密性,假设:A密钥(PKA,SKA),B密钥(PKB,SKB),计算机网络安全,2020/5/6,计算机网络安全,35,数字签名和加密同时使用,Z=EPKbY=EPKbESKa(X)?X=DPKaY=DPKaDPKb(Z)?,计算机网络安全,2020/5/6,计算机网络安全,36,公开密钥算法的特点:1)用加密密钥PK对明文X加密后,再用解密密钥SK解密,即可恢复出明文,或写为:DSK(EPK(X)=X。2)加密密钥不能用来解密,即DPK(EPK(X)X。3)在计算机上可以容易地产生成对的PK和SK。4)从已知的PK实际上不可能推导出SK。5)加密和解密的运算可以对调,即:EPK(DSK(X)=X。,计算机网络安全,2020/5/6,计算机网络安全,37,公开密钥算法的分类:公开密钥算法都是基于复杂的数学难题。根据所基于的数学难题来分类,有以下三类系统目前被认为是安全和有效的。1、大整数因子分解系统(RSA)2、离散对数系统(DSA,ElGamal)3、椭圆曲线离散对数系统(ECDSA),计算机网络安全,2020/5/6,计算机网络安全,38,2.4.1RSA公开密钥密码系统,1、RSA的概述1976年,Diffie和Hellman在“密码学新方向”一文中提出1977年,R.Rivest、A.Shamir和L.Adleman教授提出了RSA算法。,计算机网络安全,2020/5/6,计算机网络安全,39,RonaldL.Rivest,ProfessorRivestistheProfessorofElectricalEngineeringandComputerScienceinMITsDepartmentofElectricalEngineeringandComputerScience.HeisafounderofRSADataSecurity(nowmergedwithSecurityDynamicstoformRSASecurity).ProfessorRivesthasresearchinterestsincryptography,computerandnetworksecurity,electronicvoting,andalgorithms.,Rivest博士现任美国麻省理工学院电子工程和计算机科学系教授。,计算机网络安全,2020/5/6,计算机网络安全,40,AdiShamir,Shamir是以色列Weizmann科学学院应用数学系的教授。,计算机网络安全,2020/5/6,计算机网络安全,41,LenAdleman,Adleman现在是美国南加州大学的计算机科学以及分子生物学教授。,计算机网络安全,2020/5/6,计算机网络安全,42,左起:夏广志,Rivest,龚克,姚期智,王小云2005-10-19,计算机网络安全,2020/5/6,计算机网络安全,43,1)生成两个大素数p和q,计算n=p*q;2)计算z=(p-1)*(q-1),并找出一个与z互质的数e;3)利用欧拉函数计算出e的逆d,使其满足e*dmod(p-1)(q-1)=1,mod为模运算;4)公开密钥为:PK=(n,e),用于加密,可以公开出去。5)秘密密钥为:SK=(n,d),用于解密,必须保密。,4、RSA密钥算法的描述,计算机网络安全,2020/5/6,计算机网络安全,44,RSA加解密过程:1)加密过程:设m为要传送的明文,利用公开密钥(n,e)加密,c为加密后的密文。则加密公式为:c=memodn,(0cn);2)解密过程:利用秘密密钥(n,d)解密。则解密公式为:m=cdmodn,(0mn)。,计算机网络安全,2020/5/6,计算机网络安全,45,RSA加解密举例假设张三要传送机密信息(明文)m=85给李四。李四所做工作:1)选取p=11,q=13。则n=p*q=143。z=(p-1)*(q-1)=10*12=120;2)选取e=17(大于p和q的质数),计算其逆,d=17119mod120=113。3)则公钥PK为(143,17),私钥SK为(143,113)。,计算机网络安全,2020/5/6,计算机网络安全,46,张三所做工作:4)张三已经从李四或者其它公开媒体得到公钥PK(143,17),张三算出加密值c=memodn=8517mod143=24并发送给李四。5)李四在收到密文c=24后,利用自己的私钥SK(143,113)计算出明文。m=cdmodn=24113mod143=85这样张三和李四就实现了信息加解密。,计算机网络安全,2020/5/6,计算机网络安全,47,RSA的缺点:1)密钥生成难受到素数产生技术的限制,因而难以做到一次一密。2)安全性有欠缺没有从理论上证明破译RSA的难度与大数分解难度等价。另外,目前人们正在积极寻找攻击RSA的方法。如:攻击者将某一信息作一下伪装,让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。,计算机网络安全,2020/5/6,计算机网络安全,48,3)速度太慢RSA的分组长度太长,为保证安全性,n至少也要600位以上。适合加密短数据。解决办法:广泛使用单,公钥密码结合使用的方法,优缺点互补。单钥密码加密速度快,人们用它来加密较长的文件,然后用RSA来给文件密钥加密,极好的解决了单钥密码的密钥分发问题。,计算机网络安全,2020/5/6,计算机网络安全,49,相同点,RSA签名和RSA加密的异同点,都使用一对密钥:公钥和私钥,不同点,RSA加密:用对方公钥加密,用自己私钥解密RSA签名:用自己私钥签名,用对方公钥验证,计算机网络安全,2020/5/6,计算机网络安全,50,1、报文鉴别报文鉴别就是一种过程,它使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。近年来,广泛使用报文摘要MD(MessageDigest)来进行报文鉴别。,2.5报文鉴别,计算机网络安全,2020/5/6,计算机网络安全,51,2、报文摘要报文摘要(MessageDigests)是单向的散列函数,它以变长的信息为输入,把其压缩成一个定长的值输出。这种将任意长的报文映射为定长的消息摘要的函数叫Hash函数。MD5算法简要的叙述为:md5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。,计算机网络安全,2020/5/6,计算机网络安全,52,报文摘要算法必须满足以下两个条件:,(1)任给一个报文摘要值x,若想找到一个报文y使得H(y)=x,则在计算上是不可行的。(2)若想找到任意两个报文x和y,使得H(x)=H(y),则在计算上是不可行的。,计算机网络安全,2020/5/6,计算机网络安全,53,3、安全散列函数(SHA)美国国家标准局(NIST)为配合数字签名算法(DSA),在1993年对外公布为安全散列函数,在设计的方法上也是依据MD4方法。SHA对任意长度明文的预处理和MD5的过程是一样的,即预处理完后的明文长度是512位的整数倍。SHA的输出是160位,分别存储于5个32位的记录单元中。这5个记录单元的初始值分别用16进位制表示。A=67452301B=EFCDAB89C=98BADCFED=10325476E=C3D2E1F0,计算机网络安全,2020/5/6,计算机网络安全,54,(1)安全性SHA所产生的摘要较MD5多了32位。若两种散列函数在结构上没有任何问题的话,SHA比MD5更安全。(2)速度两种方法都是主要考虑以32位处理器为基础的系统结构。但SHA的运算步骤较MD5多了16个步骤。而且SHA记录单元的长度较MD5多了32位。因此若是以硬件来实现SHA,其速度大约较MD5慢了25。(3)简易性两种方法都是相当的简单,在实现上不需要很复杂的程序或是大量的存储空间。从总体上来讲,SHA对每一步的操作描述较MD5简单。,计算机网络安全,2020/5/6,计算机网络安全,55,报文摘要技术,计算机网络安全,2020/5/6,计算机网络安全,56,2.6密钥管理,密钥要求保密就涉及密钥的管理问题。任何保密都是相对的,而且是有时效的。密钥管理涉及以下几个方面:,产生密钥密钥分配密钥使用与更新密钥存储与备份密钥有效期密钥销毁,计算机网络安全,2020/5/6,计算机网络安全,57,密钥的分配密钥的分配技术解决的是在网络环境中需要进行安全通信的端实体之间建立共享的对称密钥问题。1对称密码体制的密钥分配美国麻省理工学院(MIT)开发了著名的密钥分配协议Kerberos。Kerberos协议通过使用密钥管理中心(KeyDistributionCenter,KDC)来分配和管理密钥。如图2-20所示的是利用KDC进行密钥管理的一种实施方案,用户A和B都是KDC的注册用户,注册密钥分别为Ka和Kb,密钥分配需要三个步骤(图中分别用、和表示)。,计算机网络安全,2020/5/6,计算机网络安全,58,图2-20利用KDC管理密钥的一种方案,计算机网络安全,2020/5/6,计算机网络安全,59,2非对称密码体制的密钥分配分配公开密钥的技术方案有多种。几乎所有的方案都可以归为以下几类:公开宣布公开可以得到的目录公开密钥管理机构公开密钥证书,计算机网络安全,2

温馨提示

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

评论

0/150

提交评论