通信加密方式解析课件

上传人:文**** 文档编号:242774832 上传时间:2024-09-03 格式:PPT 页数:211 大小:742.76KB
返回 下载 相关 举报
通信加密方式解析课件_第1页
第1页 / 共211页
通信加密方式解析课件_第2页
第2页 / 共211页
通信加密方式解析课件_第3页
第3页 / 共211页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第5章,数据加密与鉴别,1,第5章数据加密与鉴别1,本章主要内容:,密码学及数据加密的基本概念,传统密码技术,对称密钥密码和公开密钥密码体制,密钥管理,网络通信加密方式,加密软件,PGP,鉴别、CA认证和电子商务安全技术,2,本章主要内容:2,本章要求:,了解密码学及数据加密的基本概念;,了解传统密码技术和密码的分类;,了解对称密钥密码和公开密钥密码体制的概念、特点和典型密码算法;,了解密钥管理的过程及作用;,了解网络通信加密的方式及特点;,3,本章要求:3,了解加密软件,PGP,的功能及其应用;,了解鉴别、数字签名的概念和作用;,了解CA认证的概念、过程和作用;,了解电子商务涉及的安全技术及相应的应用协议。,4,了解加密软件PGP的功能及其应用;4,本章分为八小节:,51 数据加密概述,52 传统密码技术,53,对称密钥密码体制,54 公开,密钥密码体制,55 密钥管理,56 网络保密通信,57 加密软件PGP,58 鉴别与认证技术,5,本章分为八小节:5,前述的安全立法、加强行政人事管理、访问控制、系统软硬件保护等是保护网络系统安全的有效措施,但它们都不能从根本上解决数据安全问题,都存在一些不易解决的问题。采用密码技术保护网络中数据的安全是一种非常实用、经济、有效的方法。,6,前述的安全立法、加强行政人事管理、访问控制、系统软硬件保护等,对信息进行,加密,可以防止攻击者窃取网络机密信息,可以使系统信息不被无关者识别,也可以检测出非法用户对数据的插入、删除、修改及滥用有效数据的各种行为。,基于数据加密的,数字签名,和,鉴别,技术除具有保密功能外,还可以进行用户的身份验证和数据源及其内容的鉴别。,5.1 数据加密概述,7,对信息进行加密可以防止攻击者窃取网络机密信息,可以使系统信息,5.1.1 . 密码学的发展,密码学,(Cryptology)是一门古老的学科。早在几千年前,人类就已经有了保密通信的思想和方法,但这些保密方法都是非常朴素、原始和低级的,而且大多数是无规律的。近现代一些著名的战争中都使用了密码技术。近年来,密码学研究之所以十分活跃,主要原因是它与计算机科学的蓬勃发展密切相连。,8,5.1.1 . 密码学的发展密码学(Cryptology)是,此外,还有电信、金融领域和防止日益广泛的计算机犯罪的需要。密码技术应用于计算机网络中的实例越来越多。,密码学,从其发展来看,可分为两大阶段:传统密码学和计算机密码学。,第一阶段:,传统密码学,。主要是靠人工进行信息加密、传输和破译,9,此外,还有电信、金融领域和防止日益广泛的计算机犯罪的需要。密,第二阶段:,计算机密码学,。利用计算机进行自动或半自动地加密、解密和传输,1. 传统方式计算机密码学,2. 现代方式计算机密码学,对称密钥密码体制,公开密钥密码体制,10,第二阶段:计算机密码学。利用计算机进行自动或半自动地加密、解,密码学,包括密码编码学和密码分析学两部分,这两部分相互对立,但也相互促进,相辅相成。,密码编码学,研究的是通过编码技术来改变被保护信息的形式,使得编码后的信息除指定接收者之外的其他人都不可理解,密码分析学,研究的是如何攻破一个密码系统,恢复被隐藏起来的信息的本来面目,11,密码学包括密码编码学和密码分析学两部分,这两部分相互对立,但,5.1.2,. 密码学的基本概念,加密在网络上的作用就是防止有价值的信息在网上被窃取并识别;,基于加密技术的鉴别的作用是用来确定用户身份的真实性和数据的真实性。,12,5.1.2. 密码学的基本概念加密在网络上的作用就是防止有价,加密,:把信息从一个可理解的明文形式变换成一个错乱的、不可理解的密文形式的过程,明文,(Plain Text),:原来的信息(报文)、消息,就是网络中所说的报文(Message),密文,(Cipher Text),:经过加密后得到的信息,解密,:将密文还原为明文的过程,13,加密 :把信息从一个可理解的明文形式变换成一个错乱的、不可理,密钥,(Key),:,加密和解密时所使用的一种专门信息(工具),密码算法,(Algorithm),:,加密和解密变换的规则(数学函数),有加密算法和解密算法,加密系统,:加密和解密的信息处理系统,加密过程,是通过某种算法并使用密钥来完成的信息变换,14,密钥(Key):加密和解密时所使用的一种专门信息(工具)14,明文P,解密密钥K,d,解密(D),加密密钥K,e,加密(E),明文P,密文C,攻击者,简单的密码系统示意图,15,明文P解密密钥Kd解密(D)加密密钥Ke加密(E)明文P密文,加密实际上是要完成某种函数运算C=,(P, K),,对于一个确定的加密密钥,K,e,,,加密过程可看作是只有一个自变量的函数,记作E,k ,,加密变换为:,C= E,k,(P),(加密变换作用于明文P后得到密文C),同样,解密也完成某种函数的运算P=g(C, K)对于确定的解密密钥,K,d,,解密过程为:,P= D,k,(C),(解密变换作用于密文C后得到明文P),16,加密实际上是要完成某种函数运算C=(P, K),16,由此可见,密文C经解密后还原成原来的明文,必须有,P= D,k,(E,k,(P)= D,k,E,k,(P),此处“,”是复合运算,因此要求,D,k,E,k,为恒等变换,即D,k,与 E,k,是互逆变换,17,由此可见,密文C经解密后还原成原来的明文,必须有 17,5.1.3. 密码的分类,按密码的历史发展阶段和应用技术分:手工密码、机械密码、电子机内乱密码和计算机密码,按密码转换的操作类型分:替代密码和移位密码,18,5.1.3. 密码的分类按密码的历史发展阶段和应用技术分:手,按保密程度划分,有理论上保密的密码、实际上保密的密码和不保密的密码,按明文加密时的处理方法分:分组密码和序列密码,按密钥的类型分:对称密钥密码和非对称密钥密码,19,按保密程度划分,有理论上保密的密码、实际上保密的密码和不保密,分组密码,分组密码的加密方式是:首先将明文序列以固定长度进行分组,每组明文用相同的密钥和算法进行变换,得到一组密文。分组密码是以块为单位,在密钥的控制下进行一系列线性和非线性变换而得到密文的。,20,分组密码20,分组密码的加/解密运算是:输出块中的每一位是由输入块的每一位和密钥的每一位共同决定。,加密算法中重复地使用替代和移位两种基本的加密变换,此即Shannon 1949年发现的隐藏信息的两种技术:打乱和扩散。,21,分组密码的加/解密运算是:输出块中的每一位是由输入块的每一位,打乱:就是改变数据块,使输出位与输入位之间没有明显的统计关系(替代);,扩散:就是通过密钥位转移到密文的其它位上(移位)。,分组密码的特点:良好的扩散性;对插入信息的敏感性,较强的适应性;加/解密速度慢;差错的扩散和传播。,22,打乱:就是改变数据块,使输出位与输入位之间没有明显的统计关系,加密/解密,输出块,输入块,加/解密钥块,发/收信端,分组密码,23,加密/解密输出块输入块加/解密钥块发/收信端分组密码23,序列密码,序列密码加密过程是:把报文、语音、图像等原始信息转换为明文数据序列,再将其与密钥序列进行“异或”运算,生成密文序列发送给接收者。接收者用相同的密钥序列与密文序列再进行逐位解密(异或),恢复明文序列。,24,序列密码24,序列密码加/解密的密钥,是采用一个比特流发生器随机产生二进制比特流而得到的。它与明文结合产生密文,与密文结合产生明文。,序列密码的安全性主要依赖于随机密钥序列。,25,序列密码加/解密的密钥,是采用一个比特流发生器随机产生二进制,序列密码,比特流,发生器,密/明文输出,明/密文输入,发/收信端,异或,26,序列密码比特流密/明文输出明/密文输入发/收信端异或26,加密和解密过程都要使用密钥。如果加密密钥和解密密钥相同或相近,由其中一个很容易地得出另一个,这样的系统称为,对称密钥系统,,加密和解密密钥都是保密的;如果加密密钥与解密密钥不同,且由其中一个不容易得到另一个,则这种密码系统是,非对称密钥系统,,往往其中一个密钥是公开的,另一个是保密的。,27,加密和解密过程都要使用密钥。如果加密密钥和解密密钥相同或相近,前者也称为,传统密钥密码体制,,后者称为,公开密钥密码体制,。,相应地,这两种密码体制各有一些典型算法。对称密钥密码体制的主要算法有DES、IDEA、TDEA(3DES)、MD5、RC5等,也叫单密钥算法;公开密钥密码体制的主要算法有RSA、Elgamal、背包算法、Rabin、DH等。,28,前者也称为传统密钥密码体制,后者称为公开密钥密码体制。28,5.2 传统密码技术,5.2.1. 数据的表示,5.2.2. 替代密码,5.2.3. 移位密码,5.2.4. 一次一密钥密码,29,5.2 传统密码技术5.2.1. 数据的表示29,5.2.1. 数据的表示,传统加密方法加密的对象是文字信息。文字由字母表中的字母组成,在表中字母是按顺序排列的,赋予它们相应的数字标号,即可用数学方法进行运算(变换)了。将字母表中的字母看作是循环的,则字母的加减形成的代码可用求模运算来表示了。如,A+4=E,X+6=D (mod 26),30,5.2.1. 数据的表示30,5.2.2 . 替代密码,替代也叫置换。替代密码就是明文中的每个或每组字符由另一个或另一组字符所替换,即形成密文。,在经典密码学中,有简单替代、多名码替代、多字母替代和多表替代加密法。,31,5.2.2 . 替代密码31,(1) 简单替代密码,简单替代的就是明文的一个字母,用相应的密文字母代替。规律是根据密钥形成一个新的字母表,与原明文字母表有相应的对应关系。,32,(1) 简单替代密码32,典型的一种替代密码是凯撒密码,又叫循环移位密码。其加密方法就是将明文中的每个字母都用其右边固定步长的字母代替,构成密文。,例如:步长为4,则明文A、B、C、Y、Z可分别由E、F、G、C、D代替。如果明文是“about”,则变为密文“efsyx”,其密钥k=+4。两个循环的字母表对应。,33,典型的一种替代密码是凯撒密码,又叫循环移位密码。其加密方法就,A B C D, , W X Y Z,E F G H, , A B C D,(a),A B C D, ,W X Y Z,Z Y X W, ,B C B A,(b),A B C D, ,W X Y Z,C F I L, ,Q T W Z,(c),图5.2 替代加密,(a) 移位映射 (b) 倒映射 (c) 步长映射(步长为3),34,A B C D ,(2) 多表替代密码,一种常用的多表替代密码叫Vigenere密码。它是循环使用有限个字母实现替代。 Vigenere密码就是把26个字母循环移位,排列在一起,形成26,26的方阵表。加密和解密时的明文、密钥、密文就是表中的行、列及交点的内容。,35,(2) 多表替代密码35,5.2.3. 移位密码,移位密码变换:只对明文字母重新排序,位置变化了,而不隐藏它们。是一种打乱原文顺序的替代法。,把明文按行写出,读出时按列进行,得到的即为密文。,36,5.2.3. 移位密码36,如明文为“this is a bookmark”,将其分为三行五列,则为以下形式:,t h i s i,s a b o o,k m a r k,按列从左至右读,可得到密文:,tskhamibasoriok,37,如明文为“this is a bookmark”,将其分为三,如果把明文字母按一定顺序排列成矩阵形式,用另一种顺序选择相应的列输出得到密文。如用“china”为密钥,对“this is a bookmark”排列成矩阵如下:,t h i s i,s a b o o,k m a r k,按“china”各字母排序“23451”顺序,输出得到密文 ioktskhamibasor,38,如果把明文字母按一定顺序排列成矩阵形式,用另一种顺序选择相应,再如:对于句子“移位密码加密时只对明文字母重新排序字母位置变化但它们没被隐藏”,可选择密钥“,362415,”,并循环使用该密钥对上句进行移位加密。密钥的数字序列代表明文字符(汉字)在密文中的排列顺序。,39,再如:对于句子“移位密码加密时只对明文字母重新排序字母位置变,按照该密钥加密可得到一个不可理解的新句子(密文)“密密位码移加对字只明时文新字重排母序置但位变母化没藏们被它隐”。解密时只需按密钥,362415,的数字从小到大顺序将对应的密文字符排列,即可得到明文。,40,按照该密钥加密可得到一个不可理解的新句子(密文)“密密位码移,简单异或,简单异或操作起来很简单,它主要是按位进行两个二进制位的异或,结果得到密文或明文。即,p,k=c,c,k=p,该方法简单,但容易破译。,41,简单异或41,5.2.4. 一次,一密钥密码,一次,一密钥密码,是一种理想的加密方案。就是一个随机密码字母集,包括多个随机密码,这些密码就好象一个本本,其中每页上记录一条密码。类似日历的使用过程,每使用一个密码加密一条信息后,就将该页撕掉作废,下次加密时再使用下一页的密码。,42,5.2.4. 一次一密钥密码 42,一次,一密钥密码,可推广到二进制数据的加密。用二进制数据组成一次密码本,用异或代替加法,对二进制密码和明文进行操作;解密时用同样的密码和密文进行异或,得到明文。,一次,一密钥密码,必须是随机产生的,这样才可做到最好效果的保密。,43,一次一密钥密码可推广到二进制数据的加密。用二进制数据组成一次,发送者使用密钥本中每个密钥字母串去加密一条明文字母串,加密过程就是将明文字母串和密钥本中的密钥字母串进行模,26,加法运算。,接收者有一个同样的密钥本,并依次使用密钥本上的每个密钥去解密密文的每个字母串。接收者在解密信息后也销毁密钥本中用过的一页密钥。,44,发送者使用密钥本中每个密钥字母串去加密一条明文字母串,加密过,例如,如果消息是:ONETIMEPAD,密钥本中的一页密钥是:GINTBDEYWX,则可得到密文:VWSNKQJOXB,这是因为:O+G=V (mod 26),N+I=W (mod 26),E+N=S (mod 26), ,45,例如,如果消息是:ONETIMEPAD45,一次一密的密钥字母必须是随机产生的。对这种方案的攻击实际上是依赖于产生密钥序列的方法。不要使用伪随机序列发生器产生密钥,因为它们通常有非随机性。如果采用真随机序列发生器产生密钥,这种方案就是安全的。,46,一次一密的密钥字母必须是随机产生的。对这种方案的攻击实际上是,一次一密密码在今天仍有应用场合,主要用于高度机密的低带宽信道。美国与前苏联之间的热线电话据说就是用一次一密密钥本加密的,许多前苏联间谍传递的信息也是用,一次,一密钥密码加密的。至今这些信息仍是保密的,并将一直保密下去。,47,一次一密密码在今天仍有应用场合,主要用于高度机密的低带宽信道,5.3 对称密钥密码体制,5.3.1. 对称密钥密码的概念,也叫传统密钥密码体制,其基本思想就是“加密密钥和解密密钥相同或相近”,由其中一个可推导出另一个。使用时两个密钥均需保密。,传统密钥密码算法有: DES、IDEA、TDEA(3DES)、MD5、RC5等,典型的算法是,DES算法。,48,5.3 对称密钥密码体制5.3.1. 对称密钥密码的概念,密文 C,明文输出,P,明文输入,P,加密算法,解密算法,对称密钥,对称加密体制模型,49,密文 C明文输出明文输入加密算法解密算法对称密钥对称加密体制,5.3.,2. DES算法,(1) DES概述,DES,(数据加密标准)算法能对,64,位二进制数码组成的数据组在,64,位密钥的控制下进行加密和解密变换。64位密钥中有8位作为校验位(第8、16、24、32、40、48、56和64位),因此真正成为密钥的只有56位。,50,5.3.2. DES算法50,在70年代初,DES已推出并广泛应用,1977年被NBS公布为数据加密标准。,DES最先用于军事系统,后又推广到民用,应用最多的是在银行和商业系统。但由于其保密性能受到质疑,曾有很多专家希望用其它方法取代之。,51,在70年代初,DES已推出并广泛应用,1977年被NBS公布,(2) DES算法的主要过程, 初始置换:, 子密钥生成:, 乘积变换:, 末置换:,初始置换(IP),乘积变换,子密钥生成,输入64位明文(密文),64位密钥组,末置换(IP,-1,),输出64位密文(明文),52,(2) DES算法的主要过程初始置换(IP)乘积变换子密钥生,(3) 初始置换IP,初始置换(permutation)按照固定的矩阵进行(移位),此部分与密钥无关,如下表。,58 50 42 34 26 18 10 2,60 52 44 36 28 20 12 4,62 54 46 38 30 22 14 6,64 56 48 40 32 24 16 8,57 49 41 33 25 17 9 1,59 51 43 35 27 19 11 3,61 53 45 37 29 21 13 5,63 55 47 39 31 23 15 7,53,(3) 初始置换IP 53,(4) 子密钥生成,外部输入的56位密钥(64位中去掉8个校验位)通过置换和移位操作,生成,加密和解密需要的16个48位的子密钥。,具体步骤如下:,54,(4) 子密钥生成54,第一步:56位密钥通过置换选择PC-1(见,表5.4)置换,然后分为左右各28位;,第二步:两个28位按其轮数进行不同位数的左移(见表5.5) ;,第三步:将左右两部分合成56位后,再经过置换选择PC-2 (见表5.6)置换(压缩置换)为48位的子密钥。,55,第一步:56位密钥通过置换选择PC-1(见表5.4)置换,然,K,1,56位密钥,PC-1,C,0,(28位),LS,1,LS,16,C,0,(28位),LS,1,LS,16,PC-2,C,1,(28位),C,1,(28位),C,16,(28位),C,16,(28位),K,16,PC-2,子密钥的生成,56,K156位密钥PC-1C0(28位)LS1LS16C0(28,(5) 乘积变换,此过程与密钥有关,且非常复杂,是加密/解密过程的关键。该过程包括线性变换和非线性变换。DES采用的是分组加密。该过程通过多次重复的替代和置换方法,打乱原输入数据组,加大非规律性,增加系统分析的难度。,57,(5) 乘积变换57,该过程包括如下步骤:,第一步:经过IP置换后的64位明文分为左右各32位两部分L,i-1,和R,i-1,;,第二步:将R,i-1,的32位进行扩展置换(E盒子变换,见表5.7)成48位后,与第一组子密钥K,i,进行异或运算;,58,该过程包括如下步骤:58,K,i,L,i-1,R,i-1,R,i,P盒转换,L,i,扩展变换,S盒转换,一轮DES变换,59,KiLi-1Ri-1RiP盒转换Li扩展变换S盒转换一轮,第二步的置换过程改变了位的次序,重复了某些位,使32位变换为48位。在扩展置换中,对于每个输入的4位分组,第1和第4位分别表示输出分组中的2位,第2和第3位分别表示输出分组中的1位。如处于输入分组的第3位移到了输出分组的第4位,输入分组的第4位移到了输出分组的第5位和第7位。尽管输出分组大于输入分组,但每个输入分组产生唯一的输出分组。,60,第二步的置换过程改变了位的次序,重复了某些位,使32位变换为,第三步:异或结果经过8个S盒子压缩变换(选择变换,见表5.8),得到32位输出(每个盒子有6位输入,输出是4位);,第四步:8个盒的32位输出再经过一个线性变换(P,置换,,,见,表5,.,9),得到32位输出;,第五步:P置换的32位输出与L,i-1,异或,得到新的32位输出,此即R,i,;,第六步:L,i,= R,i-1,,与R,i,作为下一轮回的输入,61,第三步:异或结果经过8个S盒子压缩变换(选择变换,见表5.8,48位输入,32位输出,S盒1,S盒2,S盒3,S盒4,S盒5,S盒8,S盒6,S盒7,S盒变换,62,48位输入32位输出S盒1S盒2S盒3S盒4S盒5S盒8S盒,第三步的S盒变换是将每个S盒的6位输入变换为4位输出,因此,48位输入经过8个S盒变换,得到32位输出,该过程也叫压缩变换。见表5.8中每个S盒是一个4行16列的表,盒中的每一项都是一个4位二进制数对应的十进制数。S盒的6位输入决定了其对应的输出在哪一行哪一列。,63,第三步的S盒变换是将每个S盒的6位输入变换为4位输出,因此,,如6位输入的第1和第6位组合构成了2位二进制数,可表示十进制数03,它对应着表中的一行;6位输入的第2到第5位组合构成了4位二进制数,可表示十进制数015,它对应着表中的一列。假设S1盒的6位输入是110100,其第1位和第6位组合为10,它对应S1盒的第2行;中间4位组合为1010,它对应S1盒的第10列。S1盒的第2行第10列的数是9,其二进制数为1001(行和列的计数均从0开始而非从1开始)。1001即为输出,则1001就代替了110100。,64,如6位输入的第1和第6位组合构成了2位二进制数,可表示十进制,(6) 末置换,末置换是DES算法的最后一步,是一次简单的数码移位,也与密钥无关。它是把乘积变换输出的64位码,按表5.10所示进行重新排列,其结果即为64位密文。该组密文与其它各组明文加密得到的密文合在一起,即为原报文的加密结果。,65,(6) 末置换65,(7) DES解密,DES的解密算法与加密算法相同,解密密钥也与加密密钥相同。只是解密时逆向取用加密时用的密钥顺序。即加密时第1-16轮回迭代使用的子密钥顺序是k,1,k,16,,而解密时使用的子密钥顺序是k,16, k,1,,产生子密钥时的循环移位是向右的。,66,(7) DES解密66,(8) DES加密过程的数学模型,L,0,R,0,=IP(M,64,),(M,64,为64位输入明文),K,i,=ks(i,key),i=1,2,16,(ks表示密钥运算函数,产生48位的子密钥),L,i,=R,i-1,/R,i,=L,i-1,f (R,i-1,K,i,),(Ri-1,Ki)中涉及到E变换、S盒代替、P盒变换和异或运算等步骤,C,64,=IP,-1,(L,16,R,16,),67,(8) DES加密过程的数学模型67,(9) DES解密过程的数学模型,L,16,R,16,=IP(C,64,),K,i,=ks(i,key) i=16,15,1,R,i-1,=,L,i,L,i-1,= R,i,(R,i,K,i,),M,64,=IP,-1,(L,0,R,0,),68,(9) DES解密过程的数学模型68,5.3.3,. 对称密码体制的其它算法简介,(1) 三重DES算法,(TDEA),三重DES算法需要执行三次DES的加密。一般三重DES算法使用两个DES密钥。其算法步骤为:,发送端用密钥K,1,进行DES加密;,发送端用密钥K,2,对上一结果进行DES解密;,发送端用密钥K,1,对上一结果进行DES加密;,接收方则相应地使用K1解密,K2加密,再使用K1解密 。,69,5.3.3. 对称密码体制的其它算法简介69,K,1,E,M,K,2,D,K,3,E,K,3,D,C,K,2,E,K,1,D,M,C,三重DES的加密解密过程,70,K1EMK2DK3EK3DCK2EK1DMC三重DES的加密,(2) 国际数据加密算法,(IDEA),IDEA是分组密码算法,分组长度为64位,但密钥长度128位。,该算法是用128位密钥对,64,位二进制码组成的数据组进行加密的,也可用同样的密钥对64位密文进行解密变换。,IDEA的密钥比DES的多一倍,增加了破译难度,被认为是多年后都有效的算法。,71,(2) 国际数据加密算法(IDEA)71,IDEA算法也是通过一系列的加密轮回操作的,每轮中也使用压缩函数进行变换,只是不使用移位置换。,IDEA中使用的运算有:,异或,模2,16,加法,模2,16,+1乘法,这三种运算彼此混合可产生很好的效果。运算时IDEA把数据分为四个子分组,每个16位。,72,IDEA算法也是通过一系列的加密轮回操作的,每轮中也使用压缩,5.4 公开密钥密码体制,5.4.1. 公钥密钥密码体制的概念,加密密钥与解密密钥不同,且由其中一 个不容易得到另一个,则这种密码系统是非对称密钥系统。往往其中一个密钥是公开的,另一个是保密的。因此,相应的密码体制叫公开密钥密码体制。,73,5.4 公开密钥密码体制5.4.1. 公钥密钥密码体制的,W.Diffie,和M.Hellman 1976年在IEEE Trans.on Information 刊物上发表了 “New Direction in Cryptography”文章,提出了“公开密钥密码体制”的概念,开创了密码学研究的新方向。,74,W.Diffie和M.Hellman 1976年在IEEE,在公开密钥密码体制中,加密密钥是公开的,解密密钥是保密的,加/解密算法都是公开的。,公开密钥密码体制的主要算法有RSA、背包算法、 Elgamal、Rabin、DH等。,75,在公开密钥密码体制中,加密密钥是公开的,解密密钥是保密的,加,公钥体制加/解密模型,加密(E),解密(D),发送M,接收M,K,e,K,d,密文C=E(M,K,e,),76,公钥体制加/解密模型加密(E)解密(D)发送M接收MKe,用K,e,对明文加密后,再用K,d,解密,即可恢复出明文,即,M=D,Kd,E,Ke,(M),加密和解密运算可以对调,即,M=D,Kd,E,Ke,(M) = E,Ke,D,Kd,(M),77,77,但加密密钥不能用来解密,即,MD,Ke,E,Kd,(M),在计算上很容易产生密钥对K,e,和K,d,已知K,e,是不能推导出K,d,的,或者说从K,e,得到K,d,是“计算上不可能的”。,78,但加密密钥不能用来解密,即78,5.4.2. 数论基础,(1) 模运算,若a=b+kn对某些整数k成立,则a,b (mod n ),称b 为a模n的余数,或a与b是模n的同余,79,5.4.2. 数论基础79,(2) 素数,一个只能被1和它本身整除的正整数。如以下各数为素数: 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113, ,2521,2365347734339,2,756839,-1等都是素数。,80,(2) 素数80,(3) 两数互素,两个数的最大公因子为1,则两数互素。,gcd(a,n)=1 a和n互素,15与28互素,13与500互素,而15与27不是互素,一个素数与它的倍数以外的任何其它数都是互素的,81,(3) 两数互素81,(4),因子分解,对于一个数进行因子分解,就是找出其各个素数因子,如:,15=3,5,,,80=2,2,2,2,5,,,252601=41,61,101,等。,在数论中,因子分解是一个古老的问题。分解一个数很简单,但其过程很费时。目前最好的因子分解算法有:,82,(4) 因子分解 82,数域筛选法,:对大于,110,位字长的数,数域筛选法是已知的最快的因子分解算法。当它最初被提出时,还不算实用,但随着后来的一系列改进,成为新的一种因子分解实用算法。,二次筛选法:,对于低于,110,位的十进制数,二次筛选法是已知的最快算法,且已得到广泛应用。该算法最快的版本叫多重多项式二次筛选的双重大素数算法。,83,数域筛选法:对大于110位字长的数,数域筛选法是已知的最快的,椭圆曲线法:,该算法曾用于寻找,43,位长数字的因子,对于更大的数是无用的。,此外,还有蒙特卡罗算法、连分式算法、试除法等因子分解算法。,84,椭圆曲线法:该算法曾用于寻找43位长数字的因子,对于更大的数,5.4.3. RSA算法,RSA算法,是,1978年由三名美国MIT科学家Rivest, shamir和Adelman提出的一种著名的公开密钥密码算法(以该三位姓氏的第一个字母命名)。,85,5.4.3. RSA算法85,经过多年的分析研究,在众多的公钥体制中,RSA倍受推崇,已被ISO/TC97的数据加密技术分委员会SC20推荐为公钥数据加密标准。,RSA算法,是建立在,素数理论,(Euler函数和欧几里德定理)基础上的算法。,86,经过多年的分析研究,在众多的公钥体制中,RSA倍受推崇,已被,由数论知识可知,将一个具有大素数因子的合数进行分解是很困难的,或者说这个计算量是令人望而生畏的。RSA正是建立在这个理论基础之上的。,RSA算法的加密密钥K,e,是公开的,而解密密钥K,d,是保密的。,87,由数论知识可知,将一个具有大素数因子的合数进行分解是很困难的,在此不介绍RSA的理论基础(复杂的数学分析和理论推导),只简单介绍密钥的选取和加、解密的实现过程。,假设用户A要对发送给B的数据加密,则可根据以下步骤选择密钥和进行密码变换:,88,在此不介绍RSA的理论基础(复杂的数学分析和理论推导),只简,(1) 随机地选取两个不同的大素数p和q(一般为100位以上的十进制数,)予以保密;,(2) 计算 n = p,q,作为A的公开模数;,(3) 计算 Euler 函数,(n)=(p-1) (q-1) (mod n ),(4) 随机地选取一个与(p-1),(q-1)互素的整数e,作为A的公开密钥;,89,(1) 随机地选取两个不同的大素数p和q(一般为100位以上,(5) 用欧几里德算法,计算满足同余方程,E,D,1 (mod,(n),的解d,作为A用户的保密密钥;,(6) 任何向A发送明文的用户,均可用A的公开密钥 e 和公开模数 n,根据式,C=M,e,(mod n),得到密文C,90,(5) 用欧几里德算法,计算满足同余方程90,(7) 用户A收到C后,可利用自己的保密密钥d,根据,M=C,d,(mod n),得到明文M,91,(7) 用户A收到C后,可利用自己的保密密钥d,根据91,RSA算法举例,对“HI”进行加密:,(1) 选密钥,设p=5,q=11,,则n=55,(n)=40,取e=3(公钥),,则d=27 (mod 40)(,私钥),92,RSA算法举例92,(2) 加密,设明文编码为:,空格=00,A=01,B=02, ,Z=26,则明文 HI=0809,C,1,=(08),3,=512,17 (mod 55),C,2,=(09),3,=729,14 (mod 55),N=14,Q=17,所以,密文为QN,93,(2) 加密93,(3) 恢复明文,M,1,=C,d,=(17),27,08 (mod 55),M,2,=C,d,=(14),27,09 (mod 55),因此明文为“HI”。,94,(3) 恢复明文94,DES和RSA算法的特点和比较,(1) DES的特点,可靠性较高,(16轮变化,增大了混乱性和扩散性,输出不残存统计信息);,加密/解密速度快;,算法容易实现,(可由软件和硬件实现,硬件实现速度快),,通用性强;,95,DES和RSA算法的特点和比较95,算法具有对称性,密钥位数少,存在弱密钥和半弱密钥,便于穷尽攻击;,密钥管理复杂。,96,算法具有对称性,密钥位数少,存在弱密钥和半弱密钥,便于穷尽攻,(2) RSA算法的特点,密钥管理简单,(网上每个用户仅保密一个密钥,且不需密钥配送);,便于数字签名;,可靠性较高,(取决于分解大素数的难易程度);,算法复杂,加密/解密速度慢, 难于实现。,97,(2) RSA算法的特点97,5.4.4. 混合加密方法,对称密钥密码算法的特点是算法简单,加/解密运算速度快;但其密钥管理复杂,不便于数字签名。而公开密钥密码算法的特点是密钥管理简单,便于数字签名;但算法的理论复杂,加/解密运算速度慢。两者的优缺点互补。,98,5.4.4. 混合加密方法98,因此,在实际应用中,公开密钥密码系统并没有完全取代对称密钥密码系统。而是采用对称密钥加密方法与公开密钥加密方法相结合(混合)的方式,如下图所示。,99,因此,在实际应用中,公开密钥密码系统并没有完全取代对称密钥密,加密后的,对称密钥,明文,明文,对称,密钥,加密(对,称算法),加密(公,钥算法),对称,密钥,加密(对,称算法),加密(公,钥算法),B的公钥,B的私钥,密文,两种密码体制的混合应用,100,加密后的明文明文对称加密(对加密(公对称加密(对加密(公B的,这种混合加密方式的原理是:在发送端先使用DES或IDEA对称算法加密数据,然后使用公开算法RSA加密前者的对称密钥;到接收端,先使用RSA算法解密出对称密钥,再用对称密钥解密被加密的数据。要加密的数据量通常很大,但因对称算法对每个分组的处理仅需很短的时间就可完成,因此对大量数据的加密/解密不会影响效率(若使用DES加密芯片,则速度会更快);,101,这种混合加密方式的原理是:在发送端先使用DES或IDEA对称,用RSA算法将对称密钥加密后就可公开了,而RSA的加密密钥也可以公开,整个系统需保密的只有少量RSA算法的解密密钥,因此这些密钥在网络中就很容易被分配和传输了;又因为对称密钥的数据量很少(64/128位),RSA只需对其做12个分组的加密/解密即可,也不会影响系统效率的。因此,使用这种混合加密方式既可以体现对称算法速度快的优势,也可发挥公钥算法密钥管理方便的优势,二者各取其优,扬长避短。,102,用RSA算法将对称密钥加密后就可公开了,而RSA的加密密钥也,5.5 密钥管理,当合理的密码算法确定后,密码系统的保密强度完全取决于密钥的保密程度。因此,密钥管理在整个保密系统中占有重要地位,若密钥得不到合理的保护和管理,即使算法再复杂,保密系统也是脆弱的。密钥管理的目的就是要保证数据保密系统安全性。,103,5.5 密钥管理当合理的密码算法确定后,密码系统的保密强度,密钥管理包括密钥的产生、密钥的存储和保护、密钥的更新、密钥的分发和传输、密钥的验证、密钥的使用、密钥的销毁等。这些问题的本质就是要正确地解决密钥从产生到使用全过程的安全性和实用性。,密钥管理最主要的过程是密钥的产生、保护、分发和使用。,104,密钥管理包括密钥的产生、密钥的存储和保护、密钥的更新、密钥的,5.5.1. 密钥的产生,密钥的产生是密钥管理中的基本问题。首先要保证所产生的密钥具有良好的随机性,避免产生简单、明显的密钥或一串容易记忆的字符或数字。现在代网络的信息量越来越大,需要密钥量也大,密钥的产生要能自动大量地进行。,105,5.5.1. 密钥的产生105,密钥的产生主要利用噪声源技术,该技术就是产生二进制的随机序列或与之对应的随机数。其主要理论基础是混沌理论。,使用随机系列发生器可以自动地产生大量随机的密钥。,106,密钥的产生主要利用噪声源技术,该技术就是产生二进制的随机序列,5.5.2. 密钥的保护和分发,密钥的分层保护也叫主密钥管理体制。它是以对称密钥为基础的管理体制。把密钥分为几层,高一层密钥保护低一层密钥。,一般把密钥分为主密钥、辅助主密钥和会话密钥三个层次。主密钥对辅助主密钥进行加密保护,辅助主密钥对会话密钥进行加密保护。再用会话密钥对传输的具体信息进行加密保护。,107,5.5.2. 密钥的保护和分发107,该思想就是把网络中大量使用的会话密钥置于辅助主密钥的保护之下,通过网络送到各通信点。再由极少量的主密钥保护辅助主密钥。,也可根据网络的大小分为一级密钥、二级密钥和三级密钥等。,整个网络的密钥的保护与传输,都由计算机控制,实现密钥管理的自动化。,108,该思想就是把网络中大量使用的会话密钥置于辅助主密钥的保护之下,一种公开密钥的保护体制,若A与B通信,A产生公钥K,e,和私钥K,d,;,A将K,e,传输给B;,B用K,e,加密其产生的一个会话密钥K,s,,并传输给A;,A用K,d,解密K,s,;,用K,s,加密A发给B的数据;,通信结束后, K,s,被清除。,109,一种公开密钥的保护体制109,5.5.3. 一种网络环境下的密钥管理算法,-Kerberos,Kerberos的主要功能是解决保密密钥管理与分发问题。,Kerberos建立在一个安全的、可信赖的密钥分配中心(KDC)的概念上。建有KDC的系统用户只需保管与KDC之间使用的密钥加密密钥与KDC通信的密钥即可。,110,5.5.3. 一种网络环境下的密钥管理算法110,KDC的工作过程:,假设A要与B通信,A先向KDC提出申请与B的联系和通信会话密钥;,KDC为A和B选择一个会话密钥K,s,,分别用A和B知道的密钥进行加密,然后分送给A和B;,111,KDC的工作过程:111,A和B得到KDC加密过的信息后,分别解密之,得到会话密钥K,s,;,至此,A与B即可用进行通信了。通信结束后, K,s,随即被销毁。,KDC可以看作一个密钥源,它可以与DES 一起使用,也可以是一个公开密钥源。,112,A和B得到KDC加密过的信息后,分别解密之,得到会话密钥Ks,5 . 6 网络保密通信,5.6.1. 通信安全,要保证系统的通信安全,就要充分认识到网络系统的脆弱性,特别是网络通信系统和通信协议的弱点,估计到系统可能遭受的各种威胁,采取相应的安全策略,尽可能地减少系统面临的各种风险,保证计算机网络系统具有高度的可靠性、信息的完整性和保密性。,113,5 . 6 网络保密通信5.6.1. 通信安全113,网络通信系统可能面临各种各样的威胁,如来自各种自然灾害、恶劣的系统环境、人为破坏和误操作等。所以,要保护网络通信安全,不仅必须要克服各种自然和环境的影响,更重要的是要防止人为因素造成的威胁。,114,网络通信系统可能面临各种各样的威胁,如来自各种自然灾害、恶劣,线路安全:,通信过程中,通过在通信线路上搭线可以窃取(窃听)传输信息,还可以使用相应设施接收线路上辐射的信息,这些就是通信中的线路安全问题。可以采取相应的措施保护通信线路安全。采用,电缆加压技术,可保护通信电缆安全。,115,线路安全:通信过程中,通过在通信线路上搭线可以窃取(窃听)传,TCP/IP服务的脆弱性:,基于,TCP/IP,协议的服务很多,常用的有,Web,服务、,FTP,服务、电子邮件服务等,;,人们不太熟悉的有,TFTP,服务、,NFS,服务、,Finger,服务等。这些服务都在不同程度上存在安全缺陷。,116,TCP/IP服务的脆弱性:基于TCP/IP协议的服务很多,常,5.6.2.,通信加密,(1) 硬件加密和软件加密,网络中的数据加密可分为两个途径,一种是通过硬件实现数据加密,一种是通过软件实现数据加密。通过硬件实现网络数据加密有三种方式:链路加密、节点加密和端,-,端加密;软件数据加密就是指使用前述的加密算法进行的加密。,117,5.6.2. 通信加密 117,硬件加密:,所有加密产品都有特定的硬件形式。这些加、解密硬件被嵌入到通信线路中,然后对所有通过的数据进行加密。虽然软件加密在今天正变得很流行,但硬件加密仍是商业和军事等领域应用的主要选择。选用硬件加密的原因有:,118,硬件加密:所有加密产品都有特定的硬件形式。这些加、解密硬件被,快速。加密算法中含有许多复杂运算,采用硬件措施将提高速度,而用软件实现这些复杂运算将影响速度;,安全。使用硬件加密设备可将加密算法封装保护,以防被修改。,易于安装。将专用加密硬件放在电话、传真机中比设置在微处理器中更方便。安装一个加密设备比修改配置计算机系统软件更容易。,119,快速。加密算法中含有许多复杂运算,采用硬件措施将提高速度,而,软件加密:,任何加密算法都可用软件实现。软件实现的劣势是速度、开销和易于改动,而优势是灵活性和可移植性,易使用,易升级。软件加密程序很大众化,并可用于大多数操作系统。这些加密程序可用于保护个人文件,用户通常用手工加,/,解密文件。软件加密的密钥管理很重要,密钥不应该存储在磁盘中,密钥和未加密文件在加密后应删除。,120,软件加密:任何加密算法都可用软件实现。软件实现的劣势是速度、,(2) 通信加密方式,链路加密,:是传输数据仅在数据链路层上进行加密。链路加密是为保护两相邻节点之间链路上传输的数据而设立的。只要把两个密码设备安装在两个节点间的线路上,并装有同样的密钥即可。被加密的链路可以是微波、卫星和有线介质。,121,(2) 通信加密方式 121,在链路上传输的信息是密文(包括信息正文、路由及检验码等控制信息),而链路间节点上必须是明文。因为在各节点上都要进行路径选择,而路由信息必须是明文,否则就无法进行选择了。,122,在链路上传输的信息是密文(包括信息正文、路由及检验码等控制信,这样,信息在中间节点上要先进行解密,以获得路由信息和检验码,进行路由选择、差错检测,然后再被加密,送至下一链路。同一节点上的解密和加密密钥是不同的。,123,这样,信息在中间节点上要先进行解密,以获得路由信息和检验码,,P,P,节点1,节点2,节点3,节点n,L,2,L,n-1,L,1,E,1,D,n,P,P,D,1,E,2,D,2,E,3,C,1,C,2,C,n-1,链路加密,124,PP节点1节点2节点3节点nL2Ln-1L1E1DnPPD1,节点加密,:是为解决数据在节点中是明文的缺点的加密方式。在中间节点装有加密/解密保护装置,由该装置完成一个密钥向另一个密钥的变换。因而该方式使得在节点内也不会出现明文。,125,节点加密:是为解决数据在节点中是明文的缺点的加密方式。在中间,但该方式与链路加密一样,都存在一个共同缺点:即也需要公共网络提供商配合,修改他们的交换节点,增加安全单元或保密装置。,126,但该方式与链路加密一样,都存在一个共同缺点:即也需要公共网络,端,端加密:,是传输数据在应用层上完成加密的。端,端加密是对两个用户之间传输的数据提供连续的安全保护。数据在初始节点上被加密,直到目的节点时才能被解密,在中间节点和链路上数据均以密文形式传输。,127,端端加密:是传输数据在应用层上完成加密的。端端加密是对两,只有在发送端和接收端才有加密和解密设备,中间各节点不需要有密码设备。,因为信息的报头为路径选择信息,各中间节点虽不进行解密,但必须检查报头信息,所以路径选则信息不能被加密,必须是明文。,所以,端-端加密只能对信息的正文(报文)进行加密,而不能对报头加密。,128,只有在发送端和接收端才有加密和解密设备,中间各节点不需要有密,P,P,L,1,L,2,L,n-1,节点2,节点3,节点n,节点1,E,D,C,C,C,端,端加密,129,PPL1L2Ln-1节点2节点3节点n节点1EDCCC端端,几种通信加密方式的比较:,常用的通信加密方式是链路加密和端端加密。,链路加密,是对整个链路的通信采取保护措施,而,端端加密,则是对整个网络系统采取保护措施。,130,几种通信加密方式的比较:常用的通信加密方式是链路加密和端端,链路加密:,方式比较简单,实现也较容易,只要把两个密码设备安装在两个节点间的线路上,并装有同样的密钥即可;,链路加密时由于报头在链路上均被加密,因此可防止报文流量的分析攻击。链路加密可屏蔽掉报文的频率、长度等特征,从而使攻击者得不到这些特征值;,131,链路加密:131,一个链路被攻破,而不影响其它链路上的信息;,一个中间节点被攻破时,通过该节点的所有信息将被泄露;,加密和维护费用大,用户费用很难合理分配。,132,一个链路被攻破,而不影响其它链路上的信息;132,端端加密:,可提供灵活的保密手段,如主机到主机、主机到终端、主机到进程的保护;,并非所有用户发送的所有信息都需要加密。只有需要保护的信息的发收方才需设置加密,个人用户可选择安装所需设备,因此加密费用低,加密费用能准确分摊;,133,端端加密:133,加密在网络应用层实现,可提高网络加密功能的灵活性;,因为不能对路由信息进行加密,所以容易受到信息流量分析攻击;,整个通信过程中各分支相互关联,任何局部受到破坏时将影响整个通信过程。,134,加密在网络应用层实现,可提高网络加密功能的灵活性;134,通信加密方式的选择,在需要保护的链路数较多,或在文件保护、邮件保护、支持端端加密的远程调用等通信场合,宜采用端端加密方式,以利于降低成本,又能支持高灵活性、高保密性通信;,在多个网络互连的环境中,宜采用端端加密方式;,135,通信加密方式的选择135,在需要保护的链路数少,且要求实时通信、不支持端端加密远程调用等场合,宜采用链路加密方式;,在需要抵御信息流量分析场合,可考虑采用链路加密和端端加密相结合的加密方式。链路加密是对路由信息进行的,端端加密是对端端传输的报文进行的。,总的来说,与链路加密相比,端端加密具有成本低、保密性强、灵活性好等优点,应用场合较多。,136,在需要保护的链路数少,且要求实时通信、不支持端端加密远程调,5 . 7 加密软件PGP,PGP,(Pretty Good Privacy),是一个广泛应用于电子邮件和其它文件加密的软件,推出后受到亿万用户的支持,已成为电子邮件加密的事实上的标准。,PGP软件功能强,速度快,而且源代码全免费,使用方便(它把整个加密技术交给用户)。,137,5 . 7 加密软件PGP PGP(Pretty Goo,PGP实现了目前大部分流行的加密和认证算法,如DES、IDEA、RSA等加密算法,及MD5、SHA等散列算法。,PGP的巧妙之处在于它汇集了各种加密方法的精华。,138,PGP实现了目前大部分流行的加密和认证算法,如DES、IDE,PGP不但可以对用户的邮件保密,以防止非授权者阅读,还能对邮件加上数字签名让收信人确信邮件未被第三者篡改,让人们可以安全地通信。,139,PGP不但可以对用户的邮件保密,以防止非授权者阅读,还能对邮,数据的加密主要使用了IDEA算法(因为它速度快,安全性好);使用RSA算法对IDEA的密钥加密(因为RSA公钥加密算法的密钥管理方便)。这样,两类体制的算法结合在一起,扬长避短,各尽其能。,140,数据的加密主要使用了IDEA算法(因为它速度快,安全性好);,PGP还使用MD5作为散列函数,对数据的完整性进行保护,并与加密算法结合,提供签名功能。,PGP兼有,数据加密,和,数字签名,两种功能,其加密功能和
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


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

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


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