网络安全-技术与实践04_2

上传人:n**** 文档编号:42744809 上传时间:2018-06-03 格式:PDF 页数:40 大小:3.23MB
返回 下载 相关 举报
网络安全-技术与实践04_2_第1页
第1页 / 共40页
网络安全-技术与实践04_2_第2页
第2页 / 共40页
网络安全-技术与实践04_2_第3页
第3页 / 共40页
网络安全-技术与实践04_2_第4页
第4页 / 共40页
网络安全-技术与实践04_2_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《网络安全-技术与实践04_2》由会员分享,可在线阅读,更多相关《网络安全-技术与实践04_2(40页珍藏版)》请在金锄头文库上搜索。

1、网络安全网络安全技术与实践技术与实践(第(第2版版) 刘建伟刘建伟 王育民王育民 编著编著 清华大学出版社 清华大学出版社 普通高等教育“十一五”国家级规划教材 教育部2011年精品教材 课件制作人声明 课件制作人声明 n 本课件总共有17个文件,版权属于刘建伟所 有,仅供选用此教材的教师和学生参考。 n 本课件严禁其他人员自行出版销售,或未经 作者允许用作其他社会上的培训课程。 n 对于课件中出现的缺点和错误,欢迎读者提 出宝贵意见,以便及时修订。 课件制作人:刘建伟 2013年10月9日 单钥加密体制(第单钥加密体制(第2 2讲讲) IDEA 二 三 四 一 五 流密码 RC5 分组密码的

2、工作模式 Rijndeal算法与AES 一 单钥加密体制(第单钥加密体制(第2讲讲) IDEA 二 三 四 一 五 流密码 RC5 分组密码的工作模式 Rijndeal算法与AES 一 ?AES评选过程:1998年8月20日,NIST公布了15个候选算 法。第一轮选出5个,第二轮选定Rijndael。于2000年10月2 日,由NIST正式对外公布。 ?5个候选算法:Mars, RC6, Rijndael, Serpent, Twofish ?Rijndael算法的原型是Square算法,其设计策略是宽轨迹 策略(Wide Trail Strategy),以针对差分分析和线性分析; ?Rijn

3、dael是迭代分组密码,其分组长度和密钥长度都是可 变的;为了满足AES的要求,分组长度为128bit,密码长度 为128/192/256bit,相应的轮数r为10/12/14。 ?设计人:比利时密码学家Daemen和Rijinmen。 一一、AES Candidates和和Rijndeal 一一、AES Candidates和和Rijndeal Rijndeal密码概述 ? 为了简化讨论,这里只讨论密钥长度128bits,分组长 度128bits的情况,但不失一般性。 ? 128bits的消息(明文、密文)分组被分成16个Bytes(1 Bytes=8bits,所以16Bytes=168bi

4、ts=128bits),记为: InputBlock = ? 密钥分组如下:InputKey = ? 内部数据结构的表示是一个44矩阵: =1511731410621395112840mmmmmmmmmmmmmmmmInputBlock1510,mmm1510,kkk? 与DES一样,Rijndeal算法也是由基本的“轮变换”经过 多次迭代而成。密钥长度为128bits时,轮数为10。当密钥 长度和分组长度增大时,轮数要相应增加。 Rijindael中的轮变换为: ? 这里,State是轮消息矩阵,既被看作输入,也被看作输出; ? RoundKey是轮密钥矩阵,它是由输入密钥通过密钥表导 出的

5、。 ),(RoundKeyStateRound =1511731410621395112840kkkkkkkkkkkkkkkkInputKey一一、AES Candidates和和Rijndeal Rijndeal密码概述(续) ? 一轮的完成将导致State的元素改变值 (也就是改变状态) ? 对于加密算法, 输入到第1轮的State 就是明文矩阵InputBlock,而最后1轮中 输出的State就是密文消息矩阵; ? 对于解密,输入到第1轮的State就是密 文矩阵InputBlock,而最后1轮中输出的 State就是明文消息矩阵; ? 每一轮(最后1轮除外)变换由4个不 同的变换组成

6、,这些变换就是将要介绍 的内部函数: 一一、AES Candidates和和Rijndeal Rijndeal密码概述(续) ? SubBytes(State)函数为State的每个字节(也就是x)提供了 一个非线性代换,任一非0的字节xF28被下面的变换所取代: y = Ax-1+b mod28 注意:x-1体现了变换的非线性,A是可逆的,所以此变换 是也可逆的:x-1=A-1(y-b)mod28 x 其中: 011000111111100001111100001111100001111110001111110001111110001111110001=bA一一、AES Candidates

7、和和Rijndeal 1、内部函数SubBytes(State) ? 这个函数在State的每一行上运算: ?这个运算实际是一个换位密码,仅仅改变了元 素的位置,而不改变元素本身。既然换位密码 仅仅重排元素的位置,因此这个变换是可逆的。 2, 31 , 30, 33 , 31 , 20, 23 , 22, 20, 13 , 12, 11 , 13 , 02, 01 , 00, 03 , 32, 31 , 30, 33 , 22, 21 , 20, 23 , 12, 11 , 10, 13 , 02, 01 , 00, 0SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS一一、AE

8、S Candidates和和Rijndeal 2、内部函数ShiftRows(State) ?这个函数对State的每一列作用,迭代4次;下面仅描 述对一列的作用,一次迭代的输出仍是一列。 首先令State的一列为: ?为了表述清楚,这里省略了列数。 ?把这一列表示为3次多项式: ?因为s(x)的系数是字节,也就是说是F28 域中的元素,所以 这个多项式是F28 上的。 3210SSSS012 23 0)(sxsxsxsxs+=一一、AES Candidates和和Rijndeal 3、内部函数MixColumns(State) ?列s(x)上的运算定义为将这个多项式乘以一个固定的3次 多项式

9、c(x)【见注释见注释】,然后模x4+1: d(x) = c(x) s(x) (modx4+1) ?Rijndeal给出:c3=“03”, c2=“01”, c1=“01”, c0=“02” ?在乘积d(x)中,x2的系数是:d2=c2s0+c1s1+c0s2+c3s3 ?很容易验证,上述乘法的系数可由以下矩阵乘法得出: 012 23 3)(cxcxcxcxc+=321001233012230112303210ssssccccccccccccccccdddd=一一、AES Candidates和和Rijndeal MixColumns(State) 续 一一、AES Candidates和和R

10、ijndeal MixColumns(State) 续 F2上,c(x)与x4+1是互素的,所以在F2(x)中, 逆c(x)-1 (modx4+1)是存在的。这等于说,上述 矩阵变换是可逆的。 注意到注意到 ?这个函数仅仅是逐字节、逐比特地将RoundKey中的元素 与State中的元素相加。这里的加,是F2中的加,也就是 异或运算,是平凡可逆的。 ?RoundKey比特已经被列表,不同轮的密钥比特是不同 的。它们使用一个固定的“密钥表”导出密钥,该“密 钥表”是非秘密的。具体细节可参阅有关NIST的标准文 件。 ?到此为止,我们完成了对Rijndael算法的内部函数的描 述,因此也完成了加密

11、运算的描述。 一一、AES Candidates和和Rijndeal 4、AddRoundKey(State, RoundKey) ;)(;)(;)(),(),(1111StateSubbytesStateShiftRowsStateMixColumnsRoundKeyStateyAddRoundKeRoundkeystateRound),();();();(),(RoundKeyStateyAddRoundKeStateMixColumnsStateShiftRowsStateSubbytesRoundkeystateRound注意注意:它与Feistel密码不同。Feistel密码的加密和

12、解密可 以使用同样的电路(硬件)和代码(软件),而Rijndael 算法的加密和解密必须分别使用不同的电路和代码。 一一、AES Candidates和和Rijndeal Rijndael的解密运算 单钥加密体制(第单钥加密体制(第2讲讲) IDEA 二 三 四 一 五 流密码 RC5 分组密码的工作模式 Rijndeal算法与AES 一 ?Xuejia Lai和James Massey提出; ?IDEA是对称、分组密码算法,输入的明文为64位,密钥 为128位,生成的密文为64位; ?IDEA是一种相对较新的算法,有坚强的理论基础,但仍 应谨慎使用(尽管该算法已被证明可对抗差分分析和线性 分

13、析); ?IDEA是一种专利算法(在欧洲和美国),专利由Ascom-Te ch AG拥有; ?PGP中已实现了IDEA。 二二、欧洲数据加密标准欧洲数据加密标准IDEA 单钥加密体制(第单钥加密体制(第2讲讲) IDEA 二 三 四 一 五 流密码 RC5 分组密码的工作模式 Rijndeal算法与AES 一 ?RC系列是Ron Rivest为RSA公司设计的一系列 密码: ?RC1从未被公开,以致于许多人们称其只出现在Rive st的记事本上; ?RC2是变长密钥加密密法;(RC3在设计过程中在RS A内被攻破); ?RC4是Rivest在1987年设计的变长密钥的序列密码; ?RC5是Ri

14、vest在1994年设计的分组长、密钥长的迭代 轮数都可变的分组迭代密码算法; ?DES(56),RC5-32/12/5, RC5-32/12/6,RC-32/12/7 已分别在1997年被破译。 三三、RC5 单钥加密体制(第单钥加密体制(第2讲讲) IDEA 二 三 四 一 五 流密码 RC5 分组密码的工作模式 Rijndeal算法与AES 一 四四、分组密码的工作模式 分组密码的工作模式 电码本模式ECB 1密码分组链接模式 CBC 2密码反馈模式CFB 3输出反馈模式OFB 4计数器模式CTR 5?电码本模式(ECB-Electric Code Book) ECB加密加密: ECB解

15、密解密: ?注释注释:ECB模式是确定性的,也就是说,如果在相 同的密钥下将 加密2次,那 么输出的密文分组也是相同的。如果明文消息是可 猜测的,那么攻击者就会用试凑法猜测出明文。通 常人们不希望使用确定性密码。因此在大多数应用 中,建议不要使用ECB模式。 miPECii, 2 , 1),(=miCDPii, 2 , 1),(=mPPP,21四四、分组密码的工作模式 分组密码的工作模式 1、 ECB模式 ECB的的电路结构 ?密码分组链接模式(CBC-Cipher Block Chaining) ? CBC加密 输入输入: 输出输出: ?CBC解密: 输入输入: 输出输出: mPPPIV,21mCCCIV,21miCPECIVCiii, 2 , 1),(,10=mCCCIV,21mPPP,21miCCDPIVCiii, 2 , 1,)(,10=四四、分组密码的工作模式 分组密码的工作模式 2、CBC模式 n bit存储 存储 E(IV) D(IV) n bit存储 存储 C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 咨询培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号