1 / 40

网络安全 — 技术与 实践 (第 2 版) 刘建伟 王育民 编著 清华大学出版社

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

zagiri
Download Presentation

网络安全 — 技术与 实践 (第 2 版) 刘建伟 王育民 编著 清华大学出版社

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 普通高等教育“十一五”国家级规划教材 教育部2011年精品教材 网络安全—技术与实践(第2版) 刘建伟 王育民 编著 清华大学出版社

  2. 课件制作人声明 • 本课件总共有17个文件,版权属于刘建伟所有,仅供选用此教材的教师和学生参考。 • 本课件严禁其他人员自行出版销售,或未经作者允许用作其他社会上的培训课程。 • 对于课件中出现的缺点和错误,欢迎读者提出宝贵意见,以便及时修订。 • 课件制作人:刘建伟 • 2013年10月9日

  3. 单钥加密体制(第2讲) Rijndeal算法与AES 二 三 四 一 五 一 IDEA RC5 分组密码的工作模式 流密码

  4. 单钥加密体制(第2讲) Rijndeal算法与AES 二 三 四 一 五 一 IDEA RC5 分组密码的工作模式 流密码

  5. AES评选过程:1998年8月20日,NIST公布了15个候选算法。第一轮选出5个,第二轮选定Rijndael。于2000年10月2日,由NIST正式对外公布。AES评选过程:1998年8月20日,NIST公布了15个候选算法。第一轮选出5个,第二轮选定Rijndael。于2000年10月2日,由NIST正式对外公布。 5个候选算法:Mars, RC6, Rijndael, Serpent, Twofish Rijndael算法的原型是Square算法,其设计策略是宽轨迹策略(Wide Trail Strategy),以针对差分分析和线性分析; Rijndael是迭代分组密码,其分组长度和密钥长度都是可变的;为了满足AES的要求,分组长度为128bit,密码长度为128/192/256bit,相应的轮数r为10/12/14。 设计人:比利时密码学家Daemen和Rijinmen。 • 一、AES Candidates和Rijndeal

  6. 一、AES Candidates和Rijndeal • 为了简化讨论,这里只讨论密钥长度128bits,分组长度128bits的情况,但不失一般性。 • 128bits的消息(明文、密文)分组被分成16个Bytes(1Bytes=8bits,所以16Bytes=16×8bits=128bits),记为: • InputBlock= • 密钥分组如下:InputKey = • 内部数据结构的表示是一个4×4矩阵: Rijndeal密码概述

  7. 一、AES Candidates和Rijndeal • 与DES一样,Rijndeal算法也是由基本的“轮变换”经过多次迭代而成。密钥长度为128bits时,轮数为10。当密钥长度和分组长度增大时,轮数要相应增加。 • Rijindael中的轮变换为: • 这里,State是轮消息矩阵,既被看作输入,也被看作输出; • RoundKey是轮密钥矩阵,它是由输入密钥通过密钥表导出的。 Rijndeal密码概述(续)

  8. 一、AES Candidates和Rijndeal 一轮的完成将导致State的元素改变值(也就是改变状态) 对于加密算法, 输入到第1轮的State就是明文矩阵InputBlock,而最后1轮中输出的State就是密文消息矩阵; 对于解密,输入到第1轮的State就是密文矩阵InputBlock,而最后1轮中输出的State就是明文消息矩阵; 每一轮(最后1轮除外)变换由4个不同的变换组成,这些变换就是将要介绍的内部函数: Rijndeal密码概述(续)

  9. 一、AES Candidates和Rijndeal 1、内部函数SubBytes(State) • SubBytes(State)函数为State的每个字节(也就是x)提供了一个非线性代换,任一非0的字节x∈F28被下面的变换所取代: • y = Ax-1+b mod28 • 注意:x-1体现了变换的非线性,A是可逆的,所以此变换是也可逆的:x-1=A-1(y-b)mod28  x • 其中:

  10. 这个函数在State的每一行上运算: 这个运算实际是一个换位密码,仅仅改变了元素的位置,而不改变元素本身。既然换位密码仅仅重排元素的位置,因此这个变换是可逆的。 • 一、AES Candidates和Rijndeal 2、内部函数ShiftRows(State)

  11. 这个函数对State的每一列作用,迭代4次;下面仅描述对一列的作用,一次迭代的输出仍是一列。这个函数对State的每一列作用,迭代4次;下面仅描述对一列的作用,一次迭代的输出仍是一列。 首先令State的一列为: 为了表述清楚,这里省略了列数。 把这一列表示为3次多项式: 因为s(x)的系数是字节,也就是说是F28 域中的元素,所以这个多项式是F28 上的。 • 一、AES Candidates和Rijndeal 3、内部函数MixColumns(State)

  12. 一、AES Candidates和Rijndeal MixColumns(State) 续 列s(x)上的运算定义为将这个多项式乘以一个固定的3次多项式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 很容易验证,上述乘法的系数可由以下矩阵乘法得出:

  13. 一、AES Candidates和Rijndeal MixColumns(State) 续 注意到 F2上,c(x)与x4+1是互素的,所以在F2(x)中,逆c(x)-1 (modx4+1)是存在的。这等于说,上述矩阵变换是可逆的。

  14. 一、AES Candidates和Rijndeal 4、AddRoundKey(State, RoundKey) 这个函数仅仅是逐字节、逐比特地将RoundKey中的元素与State中的元素相加。这里的加,是F2中的加,也就是异或运算,是平凡可逆的。 RoundKey比特已经被列表,不同轮的密钥比特是不同的。它们使用一个固定的“密钥表”导出密钥,该“密钥表”是非秘密的。具体细节可参阅有关NIST的标准文件。 到此为止,我们完成了对Rijndael算法的内部函数的描述,因此也完成了加密运算的描述。

  15. 一、AES Candidates和Rijndeal Rijndael的解密运算 注意:它与Feistel密码不同。Feistel密码的加密和解密可以使用同样的电路(硬件)和代码(软件),而Rijndael算法的加密和解密必须分别使用不同的电路和代码。

  16. 单钥加密体制(第2讲) Rijndeal算法与AES 二 三 四 一 五 一 IDEA RC5 分组密码的工作模式 流密码

  17. Xuejia Lai和James Massey提出; IDEA是对称、分组密码算法,输入的明文为64位,密钥为128位,生成的密文为64位; IDEA是一种相对较新的算法,有坚强的理论基础,但仍应谨慎使用(尽管该算法已被证明可对抗差分分析和线性分析); IDEA是一种专利算法(在欧洲和美国),专利由Ascom-Tech AG拥有; PGP中已实现了IDEA。 • 二、欧洲数据加密标准IDEA

  18. 单钥加密体制(第2讲) Rijndeal算法与AES 二 三 四 一 五 一 IDEA RC5 分组密码的工作模式 流密码

  19. RC系列是Ron Rivest为RSA公司设计的一系列密码: RC1从未被公开,以致于许多人们称其只出现在Rivest的记事本上; RC2是变长密钥加密密法;(RC3在设计过程中在RSA内被攻破); RC4是Rivest在1987年设计的变长密钥的序列密码; RC5是Rivest在1994年设计的分组长、密钥长的迭代轮数都可变的分组迭代密码算法; DES(56),RC5-32/12/5, RC5-32/12/6,RC-32/12/7已分别在1997年被破译。 • 三、RC5

  20. 单钥加密体制(第2讲) Rijndeal算法与AES 二 三 四 一 五 一 IDEA RC5 分组密码的工作模式 流密码

  21. 四、分组密码的工作模式 密码分组链接模式 ——CBC • 电码本模式——ECB 1 2 输出反馈模式——OFB 密码反馈模式——CFB 3 4 计数器模式——CTR 5

  22. 电码本模式(ECB-Electric Code Book) ECB加密: ECB解密: 注释:ECB模式是确定性的,也就是说,如果在相同的密钥下将 加密2次,那么输出的密文分组也是相同的。如果明文消息是可猜测的,那么攻击者就会用试凑法猜测出明文。通常人们不希望使用确定性密码。因此在大多数应用中,建议不要使用ECB模式。 • 四、分组密码的工作模式 1、 ECB模式

  23. ECB的电路结构

  24. 密码分组链接模式(CBC-Cipher Block Chaining) CBC加密 输入: 输出: CBC解密: 输入: 输出: • 四、分组密码的工作模式 2、CBC模式

  25. 四、分组密码的工作模式 n bit存储 n bit存储 D(IV) E(IV) CBC电路结构 Ci-1 Ci-1 Pi Ci Ci Pi

  26. CBC电路结构

  27. 四、分组密码的工作模式 CBC的特性 • 第一个密文分组C1的计算需要一个特殊的输入分组C0,习惯上称其为初始化矢量。IV是一个随机的n比特分组,每次会话都要使用一个新的随机IV。由加密过程可知,由于IV的随机性,后续的密文分组都将被随机化,因此CBC的输出是随机化的密文分组。发送给接收者的密文消息应该包括IV。因此对于m个明文分组,CBC将输出m+1个密文分组。

  28. 密码反馈模式CFB——Cipher Feedback Mode CFB加密 输入: 输出: • 四、分组密码的工作模式 • CFB解密 输入: 输出: 3、CFB模式

  29. 四、分组密码的工作模式 CFB电路结构 E E 选择MSB_s(左边s)比特 选择MSB_s(左边s)比特

  30. CFB电路结构

  31. OFB加密 输入: 输出: • 四、分组密码的工作模式 • OFB解密 输入: 输出: 4、OFB模式

  32. 四、分组密码的工作模式 OFB电路结构 E

  33. OFB电路结构

  34. 四、分组密码的工作模式 • CTR加密 输入: 输出: • CTR解密: 输入: 输出: 5、CTR模式

  35. CTR电路结构

  36. 分组密码总结

  37. 单钥加密体制(第2讲) Rijndeal算法与AES 二 三 四 一 五 一 IDEA RC5 分组密码的工作模式 流密码

  38. 五、流密码(序列密码) 一 二 三 四 五 六 • 明文m=m1,m2,…….mk • 移位寄存器是产生序列密码的有效方法 • 密文ci=miki ,i=1,2,…….k • 序列密码的安全性完全依赖于伪随机数的强度 • 解密过程与加密过程一致 • 伪随机序列k=k1,k2,…….kk

  39. 五、流密码(序列密码) 流密码原理框图 K1 K1 安全信道 密钥流生成器 KG 密钥流生成器 KG ki ki mi ci ci mi

  40. 谢谢

More Related