[互联网]第6章 数据加密技术

上传人:tia****nde 文档编号:70635201 上传时间:2019-01-17 格式:PPT 页数:84 大小:942.31KB
返回 下载 相关 举报
[互联网]第6章 数据加密技术_第1页
第1页 / 共84页
[互联网]第6章 数据加密技术_第2页
第2页 / 共84页
[互联网]第6章 数据加密技术_第3页
第3页 / 共84页
[互联网]第6章 数据加密技术_第4页
第4页 / 共84页
[互联网]第6章 数据加密技术_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《[互联网]第6章 数据加密技术》由会员分享,可在线阅读,更多相关《[互联网]第6章 数据加密技术(84页珍藏版)》请在金锄头文库上搜索。

1、1,第六章 数据加密技术,2,密码学概述,密码学的发展历史: 第一阶段:1949年之前。这个阶段,出现了一些密码算法和加密设备,也出现了简单的密码分析手段。这个阶段的主要特点是数据的安全基于算法的保密。 第二阶段:19491975年,密码学成为一门科学。这个阶段密码学的主要特点是数据的安全基于密钥的保密而不是算法的保密。 第三阶段:1976年以后,密码学出现新的发展方向公钥密码学。这个阶段密码学的主要特点是:公钥密码使得发送端和接收端无密钥传输的保密通信成为可能。,3,密码学的基本概念,加密和解密、明文和密文 加密算法和解密算法、加密密钥和解密密钥 对称密钥密码体制和公开密钥密码体制,4,密码

2、算法的分类,依据算法和密钥是否分开划分 古典密码算法 :密钥和密码是一体的,不可分的。 现代密码算法 :算法和密钥分开,算法可公开,密钥保密。 根据加密和解密是否使用相同的密钥划分 对称密钥密码算法:加密和解密使用相同的密钥或可以从加密密钥得到解密密钥。 非对称密钥密码算法,又称公开密钥密码算法:加密和解密使用不同的密钥。 根据每次操作的数据单元是否分块划分 分组密码(Block Cipher)算法:一次对一个数据块进行加密或解密。 序列密码(Stream Cipher )算法:一次对一位或一个字节加密或解密。 按编制原理进行划分 为移位、代替和置换3种以及它们的组合形式。,5,网络通信中的加

3、密方式,链路加密 :在网络的数据链路层进行加密。如果数据从源到目的地的路径上要经过多个节点机,则信息在每个节点机内都要被解密和再加密,依次进行,直至到达目的地。 端到端加密:是指数据在发送端被加密,在最终目的地(接收端)被解密,中间节点处数据不以明文的形式出现。,6,密码的破译,密钥的穷尽搜索 密码分析 唯密文攻击 已知明文攻击 选择明文攻击 选择密文攻击 选择文本攻击,7,密码算法的安全性,理论上是不可破的(无条件安全的)-不论截取者获得了多少密文,但在密文中都没有足够的信息来惟一地确定出对应的明文。 计算上是安全的-密码体制中的密码不能被可使用的计算资源破译。 理论上,只有一次一密密码系统

4、才是不可破解的,所有其他的密码系统在密码攻击中都是可破解的,8,古典密码,9,在计算机出现之前,密码学由基于字符的密码算法构成。不同的密码算法之间互相替代(Substitution)或相互置换(Transposition),好的密码算法是结合这两种方法,每次进行多次运算。现在的计算机密码算法要复杂的多,但基本原理没有变化。其重要的变化是算法只对位而不是字母进行变换,也就是字母表长度从26个字母变为2个字母。大多数好的密码算法仍然是以替代和置换作为加密技术的基本构造块的。,10,1替代密码 替代密码就是明文中的每一个字符被替换为密文中的另外一个字符。接收者对密文进行逆替换即可恢复出明文。在古典密

5、码学中有三种类型的替代密码:单表替代密码、多表替代密码和多字母替代密码。 所谓的单表替代密码,就是明文的每一个字符用相应的密文字符代替。最早的密码系统“凯撒密码”就是一种单表替代密码,也是一种移位替代密码。凯撒密码是对英文的26个字母分别向前移3位,其替代表为,11,明文: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 L M N O P Q R S T U V W X Y Z A B C,12,例如,明文为 network security 则密文为 QHWZRUN VHFXULWB 如将26个字母

6、分别对应于整数025,可得凯撒密码变换为 加密:E(m)=(m+3) mod 26 解密:D(c)=(c?3) mod 26 凯撒密码的密钥k=3。更一般化的移位替代密码变换为 加密:E(m)=(m+k) mod 26 解密:D(c)=(c?k) mod 26,13,显然,这种密码系统是不安全的,它非常容易攻破。首先,简单的单表替代没有掩盖明文不同字母出现的频率;其次,移位替代的密钥空间有限,只有25个密钥,利用暴力攻击法很容易破解。 多表替代密码是以一系列的(两个以上)替代表依次对明文消息的字母进行替代的加密方法。而多字母替代密码是每次对多于一个的字母进行替代的加密方法,它的优点在于将字母的

7、自然频度隐蔽或均匀化,从而利于抗统计分析。更多的替代密码算法细节可参考参考资料。,14,多表替换密码,原理:根据密钥来决定用哪一个字母来替换明文字母,以此来对抗词频统计。 设密钥K=k1k2.kn,明文M=m1m2.mn 加密变换:ci=(mi+ki) mod 26, i=1,2,.,n 解密变换:mi=(ci-ki) mod 26, i=1,2,.,n 假设密钥为hit,明文M=cipherblock 首先把明文划分为长度为3的序列,cip her blo ck, 每个序列中的字母分别与密钥序列中的相应字母进行模26加,得到密文JOI OMK ITH JS。,15,2置换密码 在置换密码中,

8、明文和密文的字母保持相同,但顺序被打乱了。在简单的纵行置换密码中,明文以固定的宽度水平地写在一张图表纸上,密文按垂直方向读出;解密就是将密文按相同的宽度垂直地写在图表纸上,然后水平地读出明文。例如:,16,明文:encryption is the transformation of data into some unreadable form,密文:eiffob nsodml ctraee rhmtuf yeaano pttirr trinem iaota onnod nsosa,17,对称密钥密码体制,18,一次一密,通信双方首先安全交换一组密钥,每次交换的信息都选择一个不同的密钥。 一次一

9、密算法有以下要求: 所有的密钥k1,k2, .,kn 必须随机产生; 密钥的长度等于明文的长度; 每个密钥只使用一次;,19,数据加密标准 DES,美国IBM公司W. Tuchman 和 C. Meyer 1971-1972年研制成功。 1967年美国Horst Feistel提出的理论。 美国国家标准局(NBS ) 1973年5月到1974年8月两次发布通告,公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳了IBM的LUCIFER方案。 DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为联邦数据加密标准(Data Encryption Standard),

10、于1977年7月15日生效。,20,数据加密标准 DES,数据加密标准 DES 属于常规密钥密码体制,是一种分组密码。 在加密前,先对整个明文进行分组。每一个组长为 64 bit。 然后对每一个 64 bit 二进制数据进行加密处理,产生一组 64 bit 密文数据。 最后将各组密文串接起来,即得出整个的密文。 使用的密钥为 64 bit(实际密钥长度为 56 bit,有 8 bit 用于奇偶校验)。,21,DES是一种对二元数据进行加密的算法,数据分组长度为64位,密文分组长度也是64位,使用的密钥为64位,有效密钥长度为56位(有8位用于奇偶校验).解密时的过程和加密时相似,但密钥的顺序正

11、好相反,DES的整个体制是公开的,系统的安全性完全靠密钥的保密. 现在DES可由软件和硬件来实现。美国AT&T首先用LSI芯片实现了DES的全部工作模式,该产品称为数据加密处理机DEP DES算法的过程:是在一个初始置换IP后,明文组被分成右半部分和左半部分,每部分32位,以L0和R0表示.然后是16轮迭代的乘积变换,称为函数f,将数据和密钥结合起来.16轮之后,左右两部分再连接起来,经过一个初始逆置换IP-1,算法结束. 初始置换与初始逆置换在密码意义上作用不大,他们的作用在于打乱原来输入x的ASCII码字划分关系,并将原来明文的校验位变成置换输出的一个字节.,DES算法描述,22,23,步

12、骤,第一步:变化明文。对给定的64位明文x,首先通过一个置换IP表来重新排列,从而构造出64位的x0,x0=IP(x)=L0R0。 第二步:按照规则迭代。规则为: Li=Ri-1 Ri=Lif(Ri-1,ki) (I=1,2,16) 符号表示数学上的“异或”运算。f表示一种置换,由S盒置换构成,Ki是一些由密钥编排函数产生的子密钥。 第3步:对L16R16利用IP-1作逆置换,就得到了密文。,DES 加密标准,L0,R0,L1 = R0,IP,L2 = R1,L15 = R14,R1 = L0 f (R0, K1),R2 = L1 f (R1, K2),R15 = L14 f (R14, K1

13、5),L16 = R15,R16 = L15 f (R15, K16),IP1,f,f,f,输出,密文 Y (64 bit),明文 X (64 bit),输入,K16 (48 bit),K2 (48 bit),K1 (48 bit),X0 的左半边 (32 bit),X0 (64 bit),X0 的右半边 (32 bit),R16L16 (64 bit),25,输入(64位),58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17

14、9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7,输出(64位),L0(32位),R0(32位),(1)初始变换IP,26,置换码组 输入(64位),40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17

15、57 25,输出(64位),逆初始变换IP-1,27,(2)子密钥的生成,PC-1,C0,D0,LS1,LS1,C1,D1,LS2,LS2,C2,D2,LS16,LS16,C16,D16,PC-2,K1(48bits),密钥 K, 64 bits,28,28,PC-2,K2(48bits),PC-2,K16(48bits),28,从64位密钥中选位出56位(8位作为奇偶校验位) 拆分:56 bits 的密钥分成两部分,Ci , Di,各28bits,29,子密钥生成,Ci,Di,移位(LS),移位,压缩置换(PC),Ci+1,Di+1,Ki,30,子密钥生成,循环左移:根据迭代的轮数,分别左移

16、一位或两位,压缩置换PC2(置换选择):从56bits中选择48bits,31,(3)函数f: 函数f有两个输入:32位的Ri-1和48位的Ki。(一轮迭代),Li-1,Ri-1,LiRi-1,Ri=Li-1 f (Ri-1 ,Ki ),Ki ( 48bits),32 bits,32 bits,32 bits,E-盒置换,S-盒代替,P-盒置换,32 bits,f,48,32,32,扩展置换(E),首先对32位的Ri-1执行E变换。E变换是对Ri-1的32位进行扩展和置换,形成48位。 将Ri从32位扩展到48位 目的:输入的一位影响下一步的两个替换,使得输出对输入的依赖性传播得更快,密文的每一位都依赖于明文的每一位,1 2 3 4,5 6 7 8,

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

当前位置:首页 > 高等教育 > 大学课件

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