第2章 网络安全教程--信息安全机制

第2章 网络安全教程--信息安全机制

ID:43220841

大小:87.00 KB

页数:31页

时间:2019-10-04

第2章 网络安全教程--信息安全机制_第1页
第2章 网络安全教程--信息安全机制_第2页
第2章 网络安全教程--信息安全机制_第3页
第2章 网络安全教程--信息安全机制_第4页
第2章 网络安全教程--信息安全机制_第5页
资源描述:

《第2章 网络安全教程--信息安全机制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2章信息安全机制本章学习目标通过本章学习,读者应该掌握以下内容:对称加密机制及典型算法非对称加密机制及算法数字签名的原理数据完整性验证的原理及典型算法PGP的使用2.1加密机制2.1.1密码学基础知识一个密码体制被定义为一对数据变换,其中一个变换应用于我们称之为明文的数据项,变换后产生的相应数据项称为密文;而另一个变换应用于密文,变换后的结果为明文。这两个变换分别称为加密变换(Encryption)和解密变换(Decryption)。加密变换将明文和一个称为加密密钥的独立数据值作为输入,输出密文;解密变换将密文和一个称为解密密钥的数据值作

2、为输入加密和解密加密解密M:明文C:密文KE:加密密钥KD:解密密钥2.1.2对称加密算法加密:Ek(M)=C解密:Dk(C)=M序列密码算法(streamcipher)分组密码算法(blockcipher)加密过程主要是重复使用混乱和扩散两种技术,混乱(confusion)是改变信息块使输出位和输入位无明显的统计关系。扩散(diffusion)是将明文位和密钥的效应传播到密文的其它位。对称密码算法有很多种:DES、tripleDES、IDEA、RC2、RC4、RC5、RC6、GOST、FEAL、LOKI2.1.3DES算法首先把明文分成若

3、干个64-bit的分组,算法以一个分组作为输入,通过一个初始置换(IP)将明文分组分成左半部分(L0)和右半部分(R0),各为32-bit。然后进行16轮完全相同的运算,这些运算我们称为函数f,在运算过程中数据与密钥相结合。经过16轮运算后,左、右两部分合在一起经过一个末转换(初始转换的逆置换IP-1),输出一个64-bit的密文分组。1、算法描述密钥位移位,从密钥的56位中选出48位。①通过一个扩展置换将数据的左半部分扩展成48位,②并通过一个异或操作与48位密钥结合,③通过8个S盒(substitutionbox)将这48位替代成新的3

4、2位,④再依照P-盒置换一次。以上四步构成复杂函数f(图中虚线框里的部分)。然后通过另一个异或运算,将复杂函数f的输出与左半部分结合成为新的右半部分。每一轮的运算过程:密钥通常表示为64-bit,但每个第8位用作奇偶校验,实际的密钥长度为56-bit。在DES的每一轮运算中,从56-bit密钥产生出不同的48-bit的子密钥(K1,K2……K16)。首先,56-bit密钥分成两部分(以C、D分别表示这两部分),每部分28位,然后每部分分别循环左移1位或2位(从第1轮到第16轮,相应左移位数分别为:1、1、2、2、2、2、2、2、1、2、2、

5、2、2、2、2、1)。再将生成的56-bit组经过一个压缩转换(compressionpermutation),舍掉其中的某8个位并按一定方式改变位的位置,生成一个48-bit的子密钥Ki。每一轮中的子密钥的生成48-bit组被分成8个6-bit组,每一个6-bit组作为一个S盒的输入,输出为一个4-bit组。每个S-盒是一个4行16列的表,表中的每一项都是一个4-bit的数。S盒的6-bit的输入确定其输出为表中的哪一个项,其方式是:6-bit数的首、末两位数决定输出项所在的行;中间的四位决定输出项所在的列。例如:第6个S盒如表2-1所示

6、,假设第6个S-盒的输入为110101,则输出为第3行第10列的项(行或列的记数从0开始),即输出为4-bit组0001。S-盒置换三重DES如上所言,DES一个致命的缺陷就是密钥长度短,并且对于当前的计算能力,56位的密钥长度已经抗不住穷举攻击,而DES又不支持变长密钥。但算法可以一次使用多个密钥,从而等同于更长的密钥。三重DES算法表示为:C=EK3(DK2(EK1(M)))通常取K3=K1,则上式变为:C=EK1(DK2(EK1(M)))2.1.4RC5算法RC5是RonRevist发明的。RSA实验室对64bit分组的RC5算法进行

7、了很长时间的分析,结果表明对5轮的RC5,差分攻击需要264个明文;对10轮需要245个明文;对15轮需要268个明文,而这里最多只可能有264个明文,所以对15轮以上的RC5的攻击是失败的。Rivest推荐至少使用12轮。RC5是具有参数变量的分组密码算法,其中可变的参量为:分组的大小、密钥的大小和加密的轮次。该算法主要使用了三种运算:异或、加、循环。RC5的分组长度是可变的,下面我们将采用64bit的分组来描述算法。加密需要使用2r+2(其中r表示加密的轮次)个与密钥相关的32bit字,分别表示为S0、S1、S2……S2r+1。创建这个

8、与密钥相关的数组的运算如下:首先将密钥的字节拷贝到32bit字的数组L,如果需要,最后一个字可以用零填充。然后利用线性同余发生器初始化数组S:S0=PSi=(Si-1+Q)mod

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。