《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础

上传人:E**** 文档编号:89417536 上传时间:2019-05-24 格式:PPT 页数:34 大小:127KB
返回 下载 相关 举报
《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础_第1页
第1页 / 共34页
《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础_第2页
第2页 / 共34页
《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础_第3页
第3页 / 共34页
《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础_第4页
第4页 / 共34页
《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础》由会员分享,可在线阅读,更多相关《《网络安全原理与应用》电子教案-戚文静 第3章 密码学基础(34页珍藏版)》请在金锄头文库上搜索。

1、第3章 密码学基础,l 密码学的基本概念和术语 l 对称和非对称密码的区别 l 古典密码学的基本方法 掌握DES算法、AES算法RSA算法的基本原理,3.1 密码学概述,3.1.1 密码学的发展史 恺撒(Caesar)密码 维吉尼亚密码(Vigenere cypher) “恩格玛(Enigma)”密码机 DES(数据加密标准) 公开密钥密码 量子密码学,密码学的发展史大体上可以归结为三个阶段,第一阶段:1949年之前,密码学还不是科学,而是艺术。 第二阶段:19491975年,密码学成为科学。 第三阶段:1976年以后,密码学的新方向公钥密码学。,3.1.2密码系统,通常一个密码体制可以表达为

2、一个五元组(M,C,K,E,D),其中: (1)M是可能明文的有限集称为明文空间 (2)C是可能密文的有限集称为密文空间 (3)K是一切可能密钥构成的有限集称为密钥空间 (4)对于密钥空间的任一密钥有一个加密算法和相应的解密算法使得Ek:M-C 和Dk:C-M分别为加密和解密函数,且满足Dk(Ek(M)=M。,3.1.3密码的分类,1、按应用的技术或历史发展阶段划分: 2、按保密程度划分: 3、按密钥方式划分: 4、按明文形态: 5、按编制原理划分:,3.1.4 近代加密技术,1、对称加密算法 对称加密算法(synmetric algorithm),也称为传统密码算法,其加密密钥与解密密钥相同

3、或很容易相互推算出来,因此也称之为秘密密钥算法或单钥算法。对称算法分为两类,一类称为序列密码算法(stream cipher),另一种称为分组密码算法(block cipher)。 对称加密算法的主要优点是运算速度快,硬件容易实现;其缺点是密钥的分发与管理比较困难,特别是当通信的人数增加时,密钥数目急剧膨胀。,2、非对称加密体制 非对称加密算法(Asynmetric Algorithm)也称公开密钥算法(Public Key Algorithm)。 公开密钥体制把信息的加密密钥和解密密钥分离,通信的每一方都拥有这样的一对密钥。其中加密密钥可以像电话号码一样对外公开,由发送方用来加密要发送的原始

4、数据;解密密钥则由接收方秘密保存,作为解密时的私用密钥。 公开密钥体制最大的优点就是不需要对密钥通信进行保密,所需传输的只有公开密钥。这种密钥体制还可以用于数字签名,。公开密钥体制的缺陷在于其加密和解密的运算时间比较长,这在一定程度上限制了它的应用范围。,3.1.5密码的破译,1、密钥的穷尽搜索 2、密码分析 已知明文的破译方法 选定明文的破译方法 差别比较分析法 3、其它密码破译方法,3.2古典密码学,3.2.1代换密码 代换密码的特点是:依据一定的规则,明文字母被不同的密文字母所代替。 1、移位密码 移位密码基于数论中的模运算。因为英文有26个字母,故可将移位密码定义如下: 令P=A,B,

5、C,Z,C=A,B,C,Z,K=0,1,2,25, 加密变换:Ek(x)=(x+k)mod 26 解密变换:Dk(y)=(y-k)mod 26,2、单表代换密码 单表代换密码的基本思想是:列出明文字母与密文字母的一一对应关系,,例如:明文为networksecurity,则相就的密文为:GDPTHMCODARMIPX。,3、多表替换密码 Vigenere密码是一种典型的多表替换密码算法。算法如下: 设密钥K=k1k2kn,明文M=m1m2mn, 加密变换:ci(mi+ki)mod 26,i=1,2,n 解密变换:mi(ci-ki)mod 26,i=1,2,n 例如:明文X=cipher blo

6、ck,密钥为:hit 则把明文划分成长度为3的序列:cip her blo ck 每个序列中的字母分别与密钥序列中相应字母进行模26运算,得密文:JQI OMK ITH JS,3.2.2 置换密码,置换密码的特点是保持明文的所有字母不变,只是利用置换打乱明文字母出现的位置。置换密码体制定义如下: 令m为一正整数,P=C=A,B,C,Z,对任意的置换(密钥),定义: 加密变换:E(x1,x2,xm)=(x(1), x(2), x(m), 解密变换:D(y1,y2,ym)=(x-1(1), x-1 (2), x-1 (m), 置换密码也不能掩盖字母的统计规律,因而不能抵御基于统计的密码分析方法的攻

7、击。,3.3对称密码学,3.3.1分组密码概述,3.3.2Feistel网络,1、扩散和混乱 扩散和混乱是由Shannon提出的设计密码系统的两个基本方法,目的是抵抗攻击者对密码的统计分析。 扩散就是指将明文的统计特性散布到密文中去 混乱就是使密文和密钥之间的统计关系变得尽可能复杂,2、Feistel网络结构及特点 Feistel提出利用乘积密码可获得简单的代换密码。 (1)将明文分组分为左右两个部分:L0,R0,数据的这两部分通过n轮(round)处理后,再结合起来生成密文分组; (2)第i轮处理其上一轮产生的Li-1和Ri-1和K产生的子密钥Ki作为输入。一般说来,子密钥Ki与K不同,相互

8、之间也不同,它是用子密钥生成算法从密钥生成的; (3)每一轮的处理的结构都相同,置换在数据的左半部分进行,其方法是先对数据的右半部分应用处理函数F,然后对函数输出结果和数据的左半部分取异或(XOR); (4)处理函数F对每轮处理都有相同的通用结构,但由循环子密钥Ki来区分; (5)在置换之后,执行由数据两部分互换构成的交换; (6)解密过程与加密过程基本相同。规则如下:用密文作为算法的输入,但以相反顺序使用子密钥Ki; (7)加密和解密不需要用两种不同的方法。,3.3.3 DES算法,1、算法描述 DES算法流程如图3-4所示。首先把明文分成若干个64-bit的分组,算法以一个分组作为输入,通

9、过一个初始置换(IP)将明文分组分成左半部分(L0)和右半部分(R0),各为32-bit。然后进行16轮完全相同的运算,这些运算我们称为函数f,在运算过程中数据与密钥相结合。经过16轮运算后,左、右两部分合在一起经过一个末转换(初始转换的逆置换IP-1),输出一个64-bit的密文分组。,S-盒置换,将48-bit输入转为32-bit的输出,过程如下:48-bit组被分成8个6-bit组,每一个6-bit组作为一个S盒的输入,输出为一个4-bit组。其方式是:6-bit数的首、末两位数决定输出项所在的行;中间的四位决定输出项所在的列。例如:假设第6个S-盒的输入为110101,则输出为第3行第

10、10列的项(行或列的记数从0开始),即输出为4-bit组0001。,S6: 12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11, 10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8, 9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6, 4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,扩展置换 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 2

11、6 27 28 29 28 29 30 31 32 1,P-置换 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25,子密钥的生成,密钥通常表示为64-bit,但每个第8位用作奇偶校验,实际的密钥长度为56-bit。在DES的每一轮运算中,从56-bit密钥产生出不同的48-bit的子密钥(K1,K2K16)。首先,由64-bit密钥经过一个置换选择(PC-1)选出56-bit并分成两部分(以C、D分别表示这两部分),每部分28位,然后每部分分别循环左移1位或2位(从第1轮

12、到第16轮,相应左移位数分别为:1、1、2、2、2、2、2、2、1、2、2、2、2、2、2、1)。再将生成的56-bit组经过一个另一个置换选择(PC-2),舍掉其中的某8个位并按一定方式改变位的位置,生成一个48-bit的子密钥Ki。,3、三重DES 如上所言,DES一个致命的缺陷就是密钥长度短,并且对于当前的计算能力,56位的密钥长度已经抗不住穷举攻击,而DES又不支持变长密钥。但算法可以一次使用多个密钥,从而等同于更长的密钥。三重DES算法表示为: C=EK3(DK2(EK1(M) 通常取K3=K1,则上式变为: C=EK1(DK2(EK1(M) 这样对于三重DES的穷举攻击需要2112

13、次,而不是DES的264次了。,3.3.5 对称密码的工作模式,1、电子密码本模ECB,ECB模式的缺点是:如果密码分析者有很多消息的明密文对,那就可能在不知道密钥的情况下恢复出明文;更严重的问题是敌手通过重放,可以在不知道密钥情况下修改被加密过的消息,用这种办法欺骗接收者。,2、密码分组链模式CBC,加密:Ci=Ek (Pi Ci-1 ) 解密:Pi=Ci-1 Dk (Ci),3、密码反馈模式CFB,在CFB模式下,设分组长度为n,数据可以在比分组长度小的k比特字符里进行加密(1kn)(称为k比特反馈模式)。,4、出反馈模式OFB OFB模式实际上就是一个同步流密码,通过反复加密一个初始向量

14、IV来产生一个密钥流,将此密钥流和明文流进行异或可得密文流。仍然需要一个初始向量(IV)。IV应当唯一但不须保密。加密和解密可表示为: 加密:S0=IV;Si=Ek(Si-1);Ci=PiSi 解密:Pi=CiSi;Si= Ek(Si-1),(5)计数模式CTR 该模式使用一个计数ctr(也是一个初始向量)。如图3-17所示。 加密:Ci=Ek(ctr+i)Pi 解密:Pi= Ek(ctr+i)Ci,3.4非对称密码体制,3.4.1 RSA RSA算法的思路如下:为了产生两个密钥,先取两个大素数,p和q。为了获得最大程度的安全性,两数的长度一样。计算乘积 n=p*q,然后随机选取加密密钥e,使

15、e和(p-1)*(q-1)互素。最后用欧几里得(Euclidean)扩展算法计算解密密钥d,d满足ed1 mod (p-1)(q-1),即de-1 mod (p-1)(q-1)。则e和n为公开密钥,d是私人密钥。两个大数p和q,加密消息时,首先将消息分成比n小的数据分组(采用二进制数,选到小于n的2的最大次幂),设mi表示消息分组,ci表示加密后的密文,它与mi具有相同的长度。 加密过程:ci=mie(mod n) 解密过程:mi=cid(mod n),一个实际的例子来帮助理解RSA算法。 选择素数: p=17 选择e=7 确定d: de=1 mod 160 且 d 160, d=23 因为2

16、37=161= 1160+1 公钥KU=7,187 私钥KR=23,187 假设给定的消息为:M=88,则 加密:C = 887 mod 187 = 11 解密:M = 1123 mod 187 = 88,3.4.2 DiffieHellman算法,利用DiffieHellman算法进行密钥交换的过程可以描述如下: (1)Alice选取大的随机数x,并计算X= gxmod P ,Alice将g、p、X传送给Bob; (2)Bob选取大的随机数y,并计算Y= gymod P ,Bob将Y传送给Alice; (3)Alice计算K= YxmodP ,Bob计算K=Xymod P ,易见,K= K=gxymod P , Alice和Bob获得了相同的密钥值K,双方以K作为加解密钥以对称密钥算法进行保密通信。,对Diffie-Hellman密钥交换算法 的中间人

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

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

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