《网络安全与管理实验教程》课件第1章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《网络安全与管理实验教程》课件第1章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全与管理实验教程 网络安全 管理 实验 教程 课件
- 资源描述:
-
1、第 1 章 数据加密算法及Hash算法1.1 数据加密概述1.2 DES算法1.3 RSA算法1.4 MD5算法第 1 章 数据加密算法及Hash算法在互联网上进行文件、电子商务往来等信息传输时存在许多不安全因素,尤其是一些机密文件在网络上传输时,信息安全显得尤为重要。不安全性是互联网的存在基础TCP/IP协议所固有的,因此解决这一问题的方案就是加密,加密后的数据被别人获得后,在解密之前是不可读的。数据加密是所有数据安全技术的核心。加密在网络上的作用是,防止重要的或私有化信息在网络上被截获和篡改。需要说明的是,文件加密不只应用于电子邮件等网络上的传输,也可应用于静态文件的保护。1.1 数据加密
2、概述数据加密概述第 1 章 数据加密算法及Hash算法数据加密是指对原来被称为“明文”的数据按某种算法进行处理,使其成为不可读的一段代码的过程。通常把通过加密得到的代码称为“密文”。数据加密的逆过程称为数据解密,即将密文转化为明文的过程。只有利用相应的密钥对密文进行解密,才能显示出明文的内容,通过这样的途径能够 保 护 数 据 不 被 非 授 权 的 访 问 者 非 法 窃 取。加密技术通常分为两大类:常规密钥密码体制和公开密钥密码体制。第 1 章 数据加密算法及Hash算法所谓常规密钥密码体制,是指加密密钥与解密密钥相同的密码体制。这种加密系统又称为对称密钥系统。美国政府采用的DES加密标准
3、就是一种典型的对称式加密方法。公开密钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。公开密钥密码体制采用非对称的加密算法,RSA算法是其中使用最广泛的加密算法之一。RSA使用两个密钥:一个公共密钥,一个私有密钥。如果用其中的一个密钥加密,则可用另一个解密。两个密钥需要配对使用,否则不能解密。公共密钥可以对外公布,私有密钥只有持有者自己拥有。使用公开密钥密码体制很好地避免了密钥的传输安全性问题。第 1 章 数据加密算法及Hash算法美国国家标准局1973年开始研究除国防部外的其他部门的计算机系统的数据加密标准,于1973年5月15日和19
4、74年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES密码算法要求)主要为以下四点:(1)提供高质量的数据保护,防止数据未经授权地泄露和未被察觉地修改;(2)具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;1.2 DES算法算法第 1 章 数据加密算法及Hash算法(3)DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;(4)实现经济,运行有效,并且适用于多种不同的应用。1977年1月,美国政府正式许可以IBM公司设计的方案作为非机密数据的数据加密标准(Data Encryption Standa
5、rd,DES)。DES算法已经应用于许多需要安全加密的场合,UNIX的密码保护算法就是以DES算法为基础的。第 1 章 数据加密算法及Hash算法DES属于常规密钥密码体制,是一种分组密码。在加密前,先对整个明文进行分组。每一个组长为64 bit(位)。然后对每一个64 bit二进制数据进行加密处理,产生一组64 bit密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥长度为64 bit(实际密钥长度为56 bit,有8 bit用于奇偶校验)。1.2.1 DES算法分析算法分析第 1 章 数据加密算法及Hash算法1密钥的生成密钥的生成DES算法的实现过程中经过了16次的迭代,每一
6、次的迭代都需要一个48 bit的密钥。下面介绍如何从用户提供的64 bit的密钥来获得16个48 bit的密钥,实现过程如图1-1所示。第 1 章 数据加密算法及Hash算法图1-1 DES密钥的生成第 1 章 数据加密算法及Hash算法(1)变换密钥。从用户处取得一个64 bit的密钥K,去除其中作为奇偶校验位的第8、16、24、32、40、48、56、64位,剩下的56位作为有效输入密钥K0。根据表1-1进行密钥变换,得到新的56位密钥。将变换后的密钥等分成两个部分,分别为A0和B0。表1-1中的数据表示密钥K中各位的位置序号。第 1 章 数据加密算法及Hash算法表表1-1 变换密钥数据
7、变换密钥数据57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124第 1 章 数据加密算法及Hash算法(2)密钥移位。把步骤(1)中生成的两个28 bit的密钥(A0、B0)分别循环左移,得到两个新的28 bit的密钥,分别为A1和B1。(3)密钥选取。把步骤(2)中生成的两个28 bit的密钥(A1、B1)合并,生成一个56 bit的密钥。根据表1-2把生成的56 bit密钥压缩为一个48 bit的密钥K1。(4)循环执行。利用生成的两个
8、28 bit的密钥从步骤(2)开始循环执行,直至生成K16结束。循环过程中,根据表1-3来决定步骤(2)循环左移的位数。第 1 章 数据加密算法及Hash算法表表1-2 压缩密钥数据压缩密钥数据1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932第 1 章 数据加密算法及Hash算法表表1-3 循环左移位数循环左移位数序号12345678位数11222222序号910111213141516位数12222221第 1 章 数据加密算法及Hash算法2数据加密数据加密利用D
9、ES算法对数据加密的过程如图1-2所示。64 bit的明文X进行初始置换IP(Initial Permutation)得出X0,其左半边32 bit和右半边32 bit分别记为L0和R0。然后再经过16次的迭代。如果用Xi表示第i次的迭代结果,同时假设Li和Ri分别代表Xi的左半边和右半边(各32 bit),则从图1-2中不难看出,式中,i=1,2,16,而Ki是48 bit密钥,即从原来的64 bit初始密钥经过若干次变换而得出。)K,R(fLRRLi1i1ii1ii第 1 章 数据加密算法及Hash算法图1-2 DES加密算法第 1 章 数据加密算法及Hash算法 在最后一次的迭代之后,左
10、右半边没有交换。这是为了使算法既能加密又能解密。最后一次的变换是IP的逆变换IP-1,其输入是R16L16。Y即为输出的密文。(1)初始置换IP。取得64位的数据X,如果数据长度不足64位,应该将其扩展为64位(例如补零)。将64位数据按表1-4变换(IP),得到64位的数据X0。第 1 章 数据加密算法及Hash算法表表1-4 初始置换数据初始置换数据58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157第 1
11、 章 数据加密算法及Hash算法(2)数据扩展。把64位数据X0等分成左、右两部分,分别记为L0、R0,各为32位。L0不变,按照表1-5把R0由32位扩展为48位。把扩展后的48位数据与密钥K1进行按位异或操作,形成一个新的48位数据。第 1 章 数据加密算法及Hash算法表表1-5 数据扩展数据扩展3212345456789891011121312131415161716171819202120212223242524252627282928293031321第 1 章 数据加密算法及Hash算法(3)数据压缩。将步骤(2)中异或后生成的48位数据分为8个6位长的部分,第16位称为B1,第
12、712位称为B2,依此类推,第4348位称为B8。Bi(i=1,2,8)长度为6位,分别根据表1-6表1-13中提供的数据进行变换,得到8个4位长的数据,即32位。表1-6表1-13中提供的所有数据都被当作4位长度处理。具体的变换过程是这样的:将Bi的第1位和第6位组合为一个2位长度的变量M,M作为表中的行号。将Bi的第2位到第5位组合为一个4位长度的变量N,N作为表中的列号。根据M、N从表中查到相应的值来代替Bi。第 1 章 数据加密算法及Hash算法表表1-6 数据压缩数据压缩(一一)144131215 11831061259070157414213110612 1195384114813
13、6211 15 12973105015 12824917511314 100613第 1 章 数据加密算法及Hash算法表表1-7 数据压缩数据压缩(二二)1518146113497213 12051031347152814 12011069115014711 10413158126932151381013154211671205149第 1 章 数据加密算法及Hash算法表表1-8 数据压缩数据压缩(三三)10091463155113 12711428137093461028514 12 11 1511364981530111212510 147110 1306987415 14311521
14、2第 1 章 数据加密算法及Hash算法表表1-9 数据压缩数据压缩(四四)713 14306910128511 124151381156150347212110 1491069012 11713 15131452843150610113894511 127214第 1 章 数据加密算法及Hash算法表表1-10 数据压缩数据压缩(五五)21241710 11685315 13014914 11212471315015 10398642111 10 1378159125630141181271142136150910453第 1 章 数据加密算法及Hash算法表表1-11 数据压缩数据压缩(六
15、六)12110 1592680133414751110 1542712956113 1401138914 1552812370410113 116432129515 10 11 141760813第 1 章 数据加密算法及Hash算法表表1-12 数据压缩数据压缩(七七)411214 150813312975106113011749110 143512215861411 13 123714 10 15680592611 1381410795015 142312第 1 章 数据加密算法及Hash算法表表1-13 数据压缩数据压缩(八八)13284615111 10931450127115 138
16、10374 12561101492711419121420610 13 153582114741081315 129035611第 1 章 数据加密算法及Hash算法(4)数据变换。对步骤(3)中生成的32位的数据,根据表1-14中的数据进行变换,产生新的32位的数据。步骤(2)至步骤(4)实现的过程,完成了图1-2中函数f的功能。(5)交换数据。将步骤(4)中变换得出的32位数据与L0进行异或运算,所得的结果即为R1的值。把变换的初始值R0赋于L1。至此,完成了一次迭代过程。(6)迭代。DES算法需要进行16次迭代,把第i-1次得到的Li-1和Ri-1的值作为第i次的输入数据,重复执行步骤(
17、2)至步骤(6)的操作。需要注意的是,第i次迭代要选择密钥Ki与数据进行按位异或操作。第 1 章 数据加密算法及Hash算法表表1-14 数据变换数据变换1672021291228171152326518311028241432273919133062211425第 1 章 数据加密算法及Hash算法为保证加密和解密的对称性,DES算法的前15次迭代需要交换Li和Ri的值,第16次迭代不交换两者的数值。至此,把32位的L16和R16进行合并,生成64位的数据R16L16。(7)IP逆变换。根据表1-15中的数据,重新调整R16L16数据位的位置,结果即为64位的密文Y。第 1 章 数据加密算法
18、及Hash算法表表1-15 IP逆变换数据逆变换数据40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725第 1 章 数据加密算法及Hash算法3数据解密数据解密数据解密的算法与加密算法类似,区别在于步骤(2)中,和数据进行按位异或的密钥的使用顺序有所不同。在加密过程中,第i次迭代采用密钥Ki与数据进行异或,而在解密时第i次迭代采用密钥K17-i和数据进行异或。第 1 章 数据加密算法及Hash算法4算法的安全性
19、算法的安全性DES算法具有极高的安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位密钥的穷举空间为256,这意味着如果一台计算机的速度是每秒检测100万个密钥,则它搜索完全部密钥需要将近2285年的时间,这是难以实现的。当然,随着科学技术的发展,当出现超高速计算机后,可以考虑增长DES密钥来达到更高的保密程度。第 1 章 数据加密算法及Hash算法从DES算法的实现过程可以看出,DES算法中只用到64位密钥中的56位,第8,16,24,64位共8个位并未参与DES运算。这一点向我们提出了一个应用上的要求,即DES算法的安全性是基于56位的组合变化才得以
20、保证的。在实际应用中,我们应该避开使用第8,16,24,64位作为有效数据位,而使用其他的56位作为有效数据,如果不这样,对运用DES来达到保密作用的系统将产生数据被破译的危险。第 1 章 数据加密算法及Hash算法【实验目的实验目的】(1)理解常规密钥密码体制的特点。(2)理解DES算法的实现过程。(3)学会利用C语言实现DES算法。【实验环境实验环境】计算机一台,安装有C语言的编译环境。1.2.2 实验实验DES算法的实现算法的实现第 1 章 数据加密算法及Hash算法【实验过程实验过程】(1)学习DES算法的实现过程。(2)利用C语言编写实现DES算法的程序。附录A中给出了利用C语言实现
展开阅读全文