[精选]计算机网络安全教程 815222.pptx
《[精选]计算机网络安全教程 815222.pptx》由会员分享,可在线阅读,更多相关《[精选]计算机网络安全教程 815222.pptx(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 密码学与信息加密 内容提要n本章介绍密码学的基本概念。n介绍加密领域中两种主流的加密技术:nDES加密(Data Encryption Standard)nRSA加密(Rivest-Shamir-Adleman)n并用程序实现这两种加密技术的算法。最后介绍目前常用的加密工具PGP(Pretty Good Privacy),使用PGP产生密钥,加密文件和邮件。密码学概述n密码学是一门古老而深奥的学科,对一般人来说是非常陌生的。长期以来,只在很小的范围内使用,如军事、外交、情报等部门。计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交叉学科,也是一门新兴的学科。n随着
2、计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。在国外,它已成为计算机安全主要的研究方向。密码技术简介 n密码学的历史比较悠久,在四千年前,古埃及人就开密码学的历史比较悠久,在四千年前,古埃及人就开始使用密码来保密传递消息。始使用密码来保密传递消息。n两千多年前,罗马国王两千多年前,罗马国王Julius Caesare(恺撒)就开(恺撒)就开始使用目前称为始使用目前称为“恺撒密码恺撒密码”的密码系统。但是密码的密码系统。但是密码技术直到本技术直到本20世纪世纪40年代以后才有重大突破和发展。年代以后才有重大突破和发展。n特别是特别是20世纪世纪70年代后期
3、,由于计算机、电子通信的年代后期,由于计算机、电子通信的广泛使用,现代密码学得到了空前的发展。广泛使用,现代密码学得到了空前的发展。消息和加密n遵循国际命名标准,加密和解密可以翻译成:遵循国际命名标准,加密和解密可以翻译成:“Encipher(译成(译成密码)密码)”和和“(Decipher)(解译密码)(解译密码)”。也可以这样命名:。也可以这样命名:“Encrypt(加密)(加密)”和和“Decrypt(解密)(解密)”。n消息被称为明文。用某种方法伪装消息以隐藏它的内容的过程称消息被称为明文。用某种方法伪装消息以隐藏它的内容的过程称为加密,加了密的消息称为密文,而把密文转变为明文的过程称
4、为加密,加了密的消息称为密文,而把密文转变为明文的过程称为解密,图为解密,图8-1表明了加密和解密的过程。表明了加密和解密的过程。明文 密文n明文用M(Message,消息)或P(Plaintext,明文)表示,它可能是比特流、文本文件、位图、数字化的语音流或者数字化的视频图像等。n密文用C(Cipher)表示,也是二进制数据,有时和M一样大,有时稍大。通过压缩和加密的结合,C有可能比P小些。n加密函数E作用于M得到密文C,用数学公式表示为:E(M)=C。解密函数D作用于C产生M,用数据公式表示为:D(C)=M。先加密后再解密消息,原始的明文将恢复出来,D(E(M)=M必须成立。鉴别、完整性和
5、抗抵赖性 n除了提供机密性外,密码学需要提供三方面的功能:鉴别、完整除了提供机密性外,密码学需要提供三方面的功能:鉴别、完整性和抗抵赖性。这些功能是通过计算机进行社会交流,至关重要性和抗抵赖性。这些功能是通过计算机进行社会交流,至关重要的需求。的需求。n鉴别:消息的接收者应该能够确认消息的来源;入侵者不可能伪鉴别:消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。装成他人。n完整性:消息的接收者应该能够验证在传送过程中消息没有被修完整性:消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法消息。改;入侵者不可能用假消息代替合法消息。n抗抵赖性:发送消息者事
6、后不可能虚假地否认他发送的消息。抗抵赖性:发送消息者事后不可能虚假地否认他发送的消息。算法和密钥 n现代密码学用密钥解决了这个问题,密钥用K表示。K可以是很多数值里的任意值,密钥K的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥,即运算都依赖于密钥,并用K作为下标表示,加解密函数表达为:nEK(M)=CnDK(C)=MnDK(EK(M)=M,如图8-2所示。n有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥K1与相应的解密密钥K2不同,在这种情况下,加密和解密的函数表达式为:nEK1(M)=CnDK2(C)=Mn函数必须具有的特性是,DK2(EK1(M)=M,如图8-3所示。对称
7、算法n基于密钥的算法通常有两类:对称算法和公开密钥算法(非对称算法)。对称算法有时又叫传统密码算法,加密密钥能够从解密密钥中推算出来,反过来也成立。n在大多数对称算法中,加解密的密钥是相同的。对称算法要求发送者和接收者在安全通信之前,协商一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加解密。对称算法的加密和解密表示为:nEK(M)=CnDK(C)=M公开密钥算法n公开密钥算法(非对称算法)的加密的密钥和解密的密钥不同,而且公开密钥算法(非对称算法)的加密的密钥和解密的密钥不同,而且解密密钥不能根据加密密钥计算出来,或者至少在可以计算的时间内解密密钥不能根据加密密钥计
8、算出来,或者至少在可以计算的时间内不能计算出来。不能计算出来。n之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。加密密加密密钥加密信息,但只有用相应的解密密钥才能解密信息。加密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。n公开密钥公开密钥K1加密表示为:加密表示为:EK1(M)=C。公开密钥和私人密钥是不同。公开密钥和私人密钥是不同的,用相应的私人密钥的,用相应的私人密钥K2解密可表示为:
9、解密可表示为:DK2(C)=M。DES对称加密技术nDES(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。DES算法的历史n美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。n加密算法要达到的目的有四点。n提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;n具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;nDES密码体制的安全性应该不依赖于算法的保密,其
10、安全性仅以加密密钥的保密为基础;n实现经济,运行有效,并且适用于多种完全不同的应用。DES算法的安全性 nDES算法正式公开发表以后,引起了一场激烈的争论。1977年Diffie和Hellman提出了制造一个每秒能测试106个密钥的大规模芯片,这种芯片的机器大约一天就可以搜索DES算法的整个密钥空间,制造这样的机器需要两千万美元。n1993年R.Session和M.Wiener给出了一个非常详细的密钥搜索机器的设计方案,它基于并行的密钥搜索芯片,此芯片每秒测试5107个密钥,当时这种芯片的造价是10.5美元,5760个这样的芯片组成的系统需要10万美元,这一系统平均1.5天即可找到密钥,如果利
11、用10个这样的系统,费用是100万美元,但搜索时间可以降到2.5小时。可见这种机制是不安全的。DES算法的安全性 n1997年1月28日,美国的RSA数据安全公司在互联网上开展了一项名为“密钥挑战”的竞赛,悬赏一万美元,破解一段用56比特密钥加密的DES密文。计划公布后引起了网络用户的强力响应。一位名叫Rocke Verser的程序员设计了一个可以通过互联网分段运行的密钥穷举搜索程序,组织实施了一个称为DESHALL的搜索行动,成千上万的志愿者加入到计划中,在计划实施的第96天,即挑战赛计划公布的第140天,1997年6月17日晚上10点39分,美国盐湖城Inetz公司的职员Michael S
12、anders成功地找到了密钥,在计算机上显示了明文:“The unknown message is:Strong cryptography makes the world a safer place”。DES算法的原理 nDES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式有两种:加密或解密。nDES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密
13、码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。DES算法的实现步骤nDES算法实现加密需要三个步骤:n第一步:变换明文。对给定的64位比特的明文x,首先通过一个置换IP表来重新排列x,从而构造出64位比特的x0,x0=IP(x)=L0R0,其中L0表示x0的前32比特,R0表示x0的后32位。n第二步:按照规则迭代。规则为nLi=Ri-1nRi=Lif(Ri-1,Ki)(i=1,2,316)n经过第一步变换已经得到L0和R0的值,其中符号表示的数学运算是异或,f表示一种置换,由S盒置换构成,Ki是一些由密钥编排函数产生的比特块。f和Ki将在后面介绍。n第三步
14、:对L16R16利用IP-1作逆置换,就得到了密文y。加密过程如图8-4所示。n从图中可以看出,DES加密需要四个关键点:1、IP置换表和IP-1逆置换表。2、函数f。3、子密钥Ki。4、S盒的工作原理。(1)IP置换表和IP-1逆置换表n输入的64位数据按置换IP表进行重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换IP表如表8-1所示。58501234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157n将
15、输入64位比特的第58位换到第一位,第50位换到第二位,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位。比如:置换前的输入值为D1D2D3D64,则经过初始置换后的结果为:L0=D58D50.D8,R0=D57D49.D7。n经过16次迭代运算后。得到L16、R16,将此作为输入,进行逆置换,即得到密文输出。逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换IP-1,又将第40位换回到第1位,其逆置换IP-1规则表8-2所示。逆置换表IP-1 4084816562464323974715552363313
16、8646145422623037545135321612936444125220602835343115119592734242105018582633141949175725(2)函数fn函数f有两个输入:32位的Ri-1和48位Ki,f函数的处理流程如图8-5所示。nE变换的算法是从Ri-1的32位中选取某些位,构成48位。即E将32比特扩展变换为48位,变换规则根据E位选择表,如表8-3所示。3212345456789891011121312131415161716171819202120212223242524252627282928293031321nKi是由密钥产生的48位比特串,
17、具体的算法下面介绍。将E的选位结果与Ki作异或操作,得到一个48位输出。分成8组,每组6位,作为8个S盒的输入。n每个S盒输出4位,共32位,S盒的工作原理将在第第四步介绍。S盒的输出作为P变换的输入,P的功能是对输入进行置换,P换位表如表8-4所示。1672021291228171152326518311028241432273919133062211425n(3)子密钥kin假设密钥为K,长度为64位,但是其中第8、16、24、32、40、48、64用作奇偶校验位,实际上密钥长度为56位。K的下标i的取值范围是1到16,用16轮来构造。构造过程如图8-6所示。n首先,对于给定的密钥K,应用
18、PC1变换进行选位,选定后的结果是56位,设其前28位为C0,后28位为D0。PC1选位如表8-5所示。57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124n第一轮:对C0作左移LS1得到C1,对D0作左移LS1得到D1,对C1D1应用PC2进行选位,得到K1。其中LS1是左移的位数,如表8-6所示。1122222212222221n表8-6中的第一列是LS1,第二列是LS2,以此类推。左移的原理是所有二进位向左移动,原来最右边的比特位移动
19、到最左边。其中PC2如表8-7所示。14171124153281562110231912,42681672720132415231374755304051453348444939563453464250362932n第二轮:对C1,D1作左移LS2得到C2和D2,进一步对C2D2应用PC2进行选位,得到K2。如此继续,分别得到K3,K4K16。(4)S盒的工作原理nS盒以6位作为输入,而以4位作为输出,现在以S1为例说明其过程。假设输入为A=a1a2a3a4a5a6,则a2a3a4a5所代表的数是0到15之间的一个数,记为:k=a2a3a4a5;由a1a6所代表的数是0到3间的一个数,记为h=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 精选计算机网络安全教程 815222 计算机 网络安全 教程
限制150内