智能控制基础第2章密码学导论(2)

上传人:woxinch****an2018 文档编号:45024999 上传时间:2018-06-14 格式:PPT 页数:45 大小:171.50KB
返回 下载 相关 举报
智能控制基础第2章密码学导论(2)_第1页
第1页 / 共45页
智能控制基础第2章密码学导论(2)_第2页
第2页 / 共45页
智能控制基础第2章密码学导论(2)_第3页
第3页 / 共45页
智能控制基础第2章密码学导论(2)_第4页
第4页 / 共45页
智能控制基础第2章密码学导论(2)_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《智能控制基础第2章密码学导论(2)》由会员分享,可在线阅读,更多相关《智能控制基础第2章密码学导论(2)(45页珍藏版)》请在金锄头文库上搜索。

1、第2章 密码学导论(2) 传统密码学概述1关键知识点 传统密码学的基本原理是“替代”和“换位” 传统密码学的加密和解密采用同一个密钥 传统密码学的安全性很大程度上决定密钥长度 目前常用的传统密码学算法是DES算法,56比 特的DES算法并不安全。 未来拟采用的传统密码学算法是AES算法2主要内容 恺撒加密法 传统密码学基本原理 数据加密标准DES算法 三重DES算法 高级加密标准AES算法 RC4算法 加密操作模式3传统密码学历史 传统密码学起源于古代的密码术。早在古罗马 时代恺撒大帝就采用“替代”方法加密自己发布 的命令,这种“替代”加密方法被称为“恺撒加密 法”。传统密码学的基本原理可以归

2、结为两条 对数据处理的方法:替代和换位。 美国国家标准局(NBS)于1977年颁布的数据加 密标准(DES)是目前广泛应用的传统加密方法 。 美国国家标准与技术学会(NIST)在2001年颁布 的高级加密标准(AES)将是未来取代DES的一 种加密方法。 4凯撒密码 恺撒加密法是将明文中的每个字母用该 字母对应的后续第3个字母替代,这里假 定字母按照字母表顺序循环排列,即明 文中的字母a对应密文中的字母D,明文 中的字母x对应密文中字母A。例如 明文:attack after dark 密文:DWWDFN DIWHU GDUN a b c d e f g h i j k l m n o p q

3、 r s t u v w x y za b c d e f g h I j k l m n o p q r s t u v w x y z5凯撒密码(续) 如果假定每个英文字母对应一个数值(例如a = 1, b = 2), 并且对于每个明文字母p经过凯撒密 码处理后得到密文字母C, 则凯撒密码加密算法 可以表示为C = E(p) = (p + 3) mode 26 凯撒密码的解密算法可以表示为p = D(C) = (C - 3) mod 26 明文: a b c d e f g h i j k l m n o p q r s t u v w x y z 密文: D E F G H I J K

4、L M N O P Q R S T U V W X Y Z A B C 6通用凯撒密码算法 W. Stallings将凯撒密码算法中的字母表移位数 从3扩展到任意数k 26, 这样, 就可以得到通用 凯撒密码加密算法:C = E(p) = (p + k) mode 26 这样, 通用凯撒密码解密算法就可以表示为:p = D(C) = (C - k) mod 26 这里k就是通用凯撒密码的密钥. 由于k只有25 个可能取值, 所以, 在已知加密/解密算法下, 只 要尝试25种密钥, 就可以破译通用凯撒密码.7通用恺撒加密法的启示 从通用恺撒加密法可以得到这样的启示,如果 某个加密法只依靠密钥保密

5、,则这种密钥的选 择应该具有很好的随机性,并且可以选择的空 间足够大,使得攻击者利用现有的计算技术, 在可能的时间范围内无法破译。 根据目前主频为3.0GHz计算机的处理能力,长 度为80的二进制数密钥在目前基本上是无法穷 举了。 通用恺撒加密法的密钥相当于长度为5的二进 制数密钥,当然就很容易被破译。 8课堂练习 采用恺撒算法加密明文“meet you at six” 。9为何需要公开加密/解密算法? 不公开加密算法,则难以破译密码。公开加密 算法, 仅仅是实际应用的需要。 电报的出现才使得加密算法与密钥的分离。加 密算法可以在加密设备中实现,该设备被窃之 后,应该不会影响保密电报的传递。这

6、就需要 将加密算法与密钥的分离, 只有公开加密/解密算法, 才能由制造商大规模 生产廉价的加密/解密设备和芯片. 才能普及加 密算法的应用。10传统密码学原理 传统密码学包括两条原理: 替代和换位 替代: 将明文中的字母采用其它字母/数字/符号 替代. 如果明文采用比特序列表示, 则将明文比 特模式替代为密文比特模式. 凯撒密码就是采用替代原理设计的加密算法 换位: 将明文中的元素(字母/比特/字母组/比特 组)进行某种形式的重新排列 最简单的一种换位加密算法是围栏技术, 将明文书 写成为上下对角线形式, 再按照行顺序分别读出上 行和下行的字母序列11传统密码学原理(续1) 按照围栏方法对前面

7、举例中的明文“attack after dark”的加密过程如下所示。 经过加密之后的密文就是一串没有意义的字符 串:“ATCATRAKTAKFEDR”。 a t c a t r a kt a k f e d r12课堂练习 采用围栏算法加密明文“meet you at six” 。 思考:是否可以将恺撒算法和围栏算法 两种算法结合,产生一个新的加密算法 ?如果可以,请用新算法加密以上明文 。13传统密码学原理(续2) 围栏加密算法比较简单, 容易被破译. 更加复杂 的换位加密可以将报文逐行写成一个nm矩阵, 然后按照某个定义的列序列, 逐列读出字母. 这种列的先后排序就构成了换位加密的密钥密

8、钥: 2 5 1 3 4 明文: a t t a ck a f t er d a r k 密文: TADCEKAKRTFAATR 行 列25134即按阵中第2、5、1、3、4列的顺序形成密文14课堂练习 采用矩阵加密法加密明文“meet you at six”,请采用34矩阵,密钥为3142。15传统密码学原理(续3) 矩阵加密方法必须事先确定矩阵的n和m的值。 对于矩阵加密方法会提出这样的问题: 如果读入的待加密字符串装不下一个nm的矩阵时 ,应该如何处理? 如果读入的待加密字符串装不满一个nm的矩阵时 ,应该如何处理? 实际上矩阵加密方法属于块加密方法,这两个 问题是块加密方法必须处理的问

9、题。 16传统密码学算法 大部分常用的传统加密算法都是块加密 算法, 它处理固定长度块的明文, 输出相 同长度的密文块 目前最常用, 最重要的传统加密算法包括: (1) 数据加密标准DES (2) 三重数据加密算法3DES或TDEA (3) 高级加密标准AES17数据加密标准DES 数据加密标准,英文缩写DES,是迄今为止应 用最为广泛的标准化加密算法之一。 DES是美国国家标准局(NBS,现在更名为美国 国家标准与技术学会NIST)于1977年标准化的 一种传统密码学加密算法。 DES是在国际商用机器(IBM)公司于1973年提 出的一种加密方法的基础上,经过美国国家安 全局(NSA)的验证

10、和修改后标准化的加密方法 。 18数据加密标准DES(续1) IBM公司提交的加密算法是一种对称密钥的块加密算 法,块长度为128个比特,密钥长度为128个比特。 该加密算法经过NSA安全评估后,将其块长度更改为 64个比特,密钥长度更改为56个比特,并且修改了原 来加密算法中的替代矩阵S-盒。 对于NSA对DES算法的更改有以下评论: (1) NSA降低密钥长度是为了降低DES加密算法的安全性,使得 NSA在必要时,有能力破译DES加密系统。 (2) NSA修改原来加密算法中的S-盒,是为自己破译DES加密系 统设置了后门 19数据加密标准DES(续2) 到了20世纪90年代初期,有两次不成

11、功 的对DES破译的报告显示,DES的S-盒具 有很强的防范攻击的能力。 这说明更改 的S-盒是增强了DES的安全性 到了20世纪90年代中期,对于DES成功 的破译报告表明,较短的密钥长度是 DES算法的安全弱点。 20DES算法概述 DES加密算法总体上是比较容易了解的一种加 密算法。虽然其中具体的“替代”和“换位”的处 理函数还是比较复杂,但是,这并不妨碍对 DES加密算法的理解。 DES算法处理过程沿时间轴纵向可以分成前期 处理、16次循环处理、后期处理部分,横向可 以分成数据处理和密钥处理两个部分。 21DES算法概述(续1)64比特明文初始排列IP第1轮处理第2轮处理第16轮处理左

12、右32比特换位逆初始排列IP 164比特密文56比特密钥密钥排列选择1左循环移位密钥排列选择2密钥排列选择2密钥排列选择2左循环移位左循环移位K1K2K16图2.5 DES算法结构示意图22DES算法概述(续2) DES加密处理分成三个部分: (1) 64比特明文块通过初始排列IP(换位)处理; (2) 通过16个轮回的替代和移位处理, 左右半换位形成 预输出 (3) 预输出的64比特块进行逆初始排列IP-1处理, 产生64 比特块密文 DES解密过程与DES加密过程基本一样, 但是需 要按照相反顺序使用子密钥, 即按照K16, K15, , K1顺序处理每个轮回23DES算法每轮处理过程 每

13、轮处理可以表示为: Li = R i-1, Ri = Li-1 F(Ri-1, Ki)Lj-1 (32比特)Rj-1 (32比特)8个S-盒排列Rj (32比特)Lj (32比特)Cj-1 (28比特)Dj-1 (28比特)左移位左移位排列选择2Cj (28比特)Dj (28比特)待加密64比特数据块56比特密钥图2.6 DES算法每轮处理过程Kj4848比特扩展排列24 16次乘积变换的目的是使明文增大其混 乱性和扩散性,使得输出不残存统计规 律,使破译者不能从反向推算出密钥。 DES开创了算法全部公开的先例。有关 部门与学者经过多年研究和全面考核, 普遍认为DES的保密性良好, 对它的批

14、评是:密钥长度(56位)不够长,迭代 次数(16次)不够多。 25DES算法的解密过程(1) DES算法的解密过程采用加密完全相同的过程 ,只是使用轮回密钥的顺序必须相反。 从DES的每轮处理过程可得: Lj = Rj 1(2.1) Rj = Lj 1 F(R j 1, Kj)(2.2) 假定“|”表示两个符号串的合并操作,L0 | R0 表示经过DES初始排列的待解密数据块,初始 排列操作可以表示为IP。 L0 | R0 = IP(C)(2.3)26DES算法的解密过程(2) 按照DES算法,密文是在第16轮产生的密文块 L16 | R16经过左右换位和逆初始排列产生的, 即 C = IP

15、1(R16 | L16)(2.4) 将公式(2.4)带入公式(2.3)可得 L0 | R0 = IP(IP 1(R16 | L16) = R16 | L16 (2.5) 由于DES解密过程与DES加密过程相同,只是 使用轮回密钥的次序颠倒,即 Lj = Rj 1(2.6) Rj = Lj 1 F(R j 1, K16 (j 1) (2.7)27DES算法的解密过程(3) 利用公式(2.6)和(2.7),公式(2.5),以及公式 (2.1)和(2.2)可以推导出以下公式: L1 = R0 = L16 = R15 (2.8) R1 = L0 F(R0, K16) = R16 F(R15, K16)= (L15 F(R15, K16) F(R15, K16) = L15(2.9) 以此类推,可以用归纳法证明存在以下等式: Lj = R16 j(2.10) Rj = L16 j (2.11)28DES算法的解密过程(4) 当DES算法经过16次解密处理,可以得到: L16 | R16 = R0 | L0 再经过DES算法后期左右换位和逆初始排列的 处理就可以得到: IP 1(L0 | R0) = IP 1(IP(P) = P(2.1

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

当前位置:首页 > 高等教育 > 其它相关文档

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