网络信息安全技术密码技术.ppt
《网络信息安全技术密码技术.ppt》由会员分享,可在线阅读,更多相关《网络信息安全技术密码技术.ppt(59页珍藏版)》请在三一办公上搜索。
1、第二章 密码技术,2.1 引言2.2 对称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结,1,第二章 密码技术 2.1 引言 密码技术是信息交换安全的基础,通过数据加密、消息摘要、数字签名及密钥交换等技术实现了数据机密性、数据完整性、不可否认性和用户身份真实性等安全机制,从而保证了网络环境中信息传输和交换的安全。密码算法大致可以分为三类:(1)对称密码算法,如DES、IDEA和RC等算法;(2)非对称密码算法,如RSA、DSA等算法;(3)单向散列函数,如MD5、MD2和SHA等算法。,2,第二章 密码技术,2.1 引言2.2 对称密码算法2.3 非对称密
2、码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结,3,2.2、对称密码算法2.2.1 基本原理 对称密码算法是指加密和解密数据使用同一个密钥,即加密和解密的密钥是对称的,这种密码系统也称为单密钥密码系统。原始数据(即明文)经过对称加密算法处理后,变成了不可读的密文(即乱码)。如果想解读原文,则需要使用同样的密码算法和密钥来解密,即信息的加密和解密使用同样的算法和密钥。,4,对称密码算法的特点是计算量小、加密速度快。缺点是加密和解密使用同一个密钥,容易产生发送者或接收者单方面密钥泄露问题,在网络环境下应用时必须使用另外的安全信道来传输密钥,否则容易引起密钥泄露和信息失密问题。,5,6
3、,对称密码算法基本原理,2.2.2 DES密码算法 DES(Data Encryption Standard)作为 ISO 和 ANSI的数据加密标准已经有近三十年历史了,经受住了长期的各种密码分析攻击,仍保持较好的安全性。DES是一种分组密码算法,使用56位密钥将64位的明文转换为64位的密文,密钥长度为64位,其中有8位是奇偶校验位。在DES算法中,只使用了标准的算术和逻辑运算,加密和解密速度很快,并且易于实现硬件化和芯片化。,7,1.DES算法描述 对64位的明文分组进行加密操作。(1)首先通过一个初始置换(IP),将64位明文分组分成左半部分和右半部分,各为32位。(2)然后进行 16
4、 轮完全相同的运算,这些运算称为函数 f,在运算过程中,数据和密钥结合。(3)经过 16 轮运算后,再通过一个初始置换的逆置换(IP1),将左半部分和右半部分合在一起,最终得到一个64位的密文。每一轮的运算步骤如下:(1)首先进行密钥置换,通过移动密钥位,从56位密钥中选出48位密钥。,8,(2)然后进行 f 函数运算:通过一个扩展置换(也称 E 置换)将数据的右半部分扩展成48位;通过一个异或操作与48 位密钥结合,得到一个 48位数据;通过8个S-盒代换将48位数据变换成32位数据;对32位数据进行一次直接置换(也称P-盒置换)。(3)通过一个异或操作将函数 f 的输出与左半部分结合,其结
5、果为新的右半部分;而原来的右半部分成为新的左半部分。每一轮运算的数学表达式为:其中,L i和 R i为第 i 轮迭代的左半部分和右半部分。,9,10,2.DES算法关键操作(1)初始置换、逆初始置换及其参数表 DES算法在加密前,首先执行一个初始置换操作,按照规定的初始置换表将64位明文的位置进行变换,得到一个乱序的64位明文。经过16轮运算后,通过一个逆初始置换操作,按照规定的逆初始置换表将左半部分(32位)和右半部分(32位)合在一起,得到一个64位密文。初始置换和逆初始置换并不影响 DES 的安全性,其主要目的是通过置换将明文和密文数据变换成字节形式输出,易于DES芯片的实现。,11,(
6、2)密钥置换及其参数表 在64位密钥中,每个字节的第8位为奇偶校验位,经过密钥置换表置换后去掉奇偶校验位,实际的密钥长度为56位。在每一轮运算中,将从56位密钥中产生不同的48位子密钥 Ki,这些子密钥按下列方式确定:将56位密钥分成两部分,每部分为28位;根据运算的轮数,按照每轮左移位数表将这两部分分别循环左移 1位或 2位;按照压缩置换表从56位密钥中选出48位子密钥,它也称压缩置换或压缩选择。,12,(3)扩展置换及其参数表 按照扩展置换表将数据的右半部分 Ri 从32位扩展成48位,以便与48位密钥进行异或运算。(4)S-盒代换及其参数表 按照8个S-盒代换表将异或运算得到的48位结果
7、变换成32位数据。每个S-盒为一个非线性代换网络,有6位输入,4位输出,并且每个S-盒代换都不相同。48位输入被分成8个6位组,每个组对应一个S-盒代换操作。S-盒代换是 DES 算法的关键步骤,因为所有其它运算都是线性的,易于被分析,而S-盒代换是非线性的,其安全性高于其它步骤。,13,(5)P-盒置换及其参数表 S-盒输出的 32 位结果还要按照P-盒置换表将异或运算得到的进行一次P-盒置换,其中任何一位不能被映射两次,也不能省略。最后,P-盒置换的结果与 64 位数据的左半部分进行一个异或操作,然后左半部分和右半部分进行交换,开始下一轮运算。(6)DES解密 DES 使用相同的函数来加密
8、或解密每个分组,但两者的密钥次序是相反的。例如,如果每轮的加密密钥次序为K1,K2,K3,K16,则对应的解密密钥次序为K16,K15,K14,K1,并根据轮数密钥循环右移1位或2位。,14,3.DES工作模式 DES 的工作模式有四种:(1)电子密本(ECB);(2)密码分组链接(CBC);(3)输出反馈(OFB);(4)密文反馈(CFB)。ANSI的银行标准中规定加密使用ECB和CBC模式,认证使用CBC和CFB模式。在实际应用中,经常使用ECB模式。在一些安全性要求较高的场合下,使用CBC模式,它比ECB模式复杂一些,但可以提供更好的安全性。,15,4.DES实现方法 DES算法有硬件和
9、软件两种实现方法。硬件实现方法采用专用的DES芯片,使DES加密和解密速度有了极大的提高,例如,DEC公司开发的一种DES芯片的加密和解密速度可达1Gb/s,能在1秒内加密16.8 M个数据分组,并且支持 ECB 和 CBC 两种模式。还有一些DES芯片采用并行处理结构,在一个DES芯片中有多个可以并行工作的DES模块,并采用高速时钟,大大提高了DES加密和解密速度。,16,软件实现方法的处理速度要慢一些,主要取决于计算机的处理能力和速度。例如,在80486微机上,每秒可处理43K个DES分组;在HP 9000/887工作站上,每秒可处理196K个DES分组。在实际应用中,数据加密产品将引起系
10、统性能的下降,尤其在网络环境下应用时,将引人很大的网络延时。为了在安全性和性能之间求得最佳的平衡,最好采用基于DES芯片的数据加密产品。,17,5.三重DES算法 为了提高DES算法的安全性,人们还提出了一些 DES变型算法,其中三重DES算法(简称3DES)是经常使用的一种DES变型算法。在3DES中,使用两个或三个密钥对一个分组进行三次加密。在使用两个密钥情况下,第一次使用密钥K1,第二次使用密钥K2,第三次再使用密钥K1;在使用三个密钥情况下,第一次使用密钥K1,第二次使用密钥K2,第三次再使用密钥K3。经过3DES加密的密文需要2112次穷举搜索才能破译,而不是256次。3DES算法进
11、一步加强了DES的安全性,在一些高安全性的应用系统中,大都将3DES算法作为一种可选的加密算法。,18,19,6.DES安全性 对一个密码系统的评价尚无严格的理论和统一的标准,只能从抵抗现有密码分析手段的能力来评价一个密码系统的好坏。自从DES问世后,有很多的密码专家和研究机构对DES进行了大量的研究和分析,迄今为止还未找到破译DES的有效方法,经受住了近三十年的公开挑战和攻击,包括差分密码分析和相关密钥密码分析等方法的攻击。因此,多数人认为DES算法的安全性是良好的。也有人对DES提出了一些批评:DES的56位密钥可能太短、DES的迭代次数可能太小、S-盒可能存在不安全因素等。在1998年,
12、有人利用一台高速计算机,使用穷举搜索法在56小时内破译了DES。因此,在一些基于DES的数据加密系统中,可以通过增加DES的密钥长度或采用3DES等方法来增强DES的安全强度。,20,第二章 密码技术,2.1 引言2.2 对称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结,21,2.3、非对称密码算法2.3.1 基本原理 非对称密码算法是指加密和解密数据使用两个不同的密钥,即加密和解密的密钥是不对称的,这种密码系统也称为公钥密码系统(Public Key Cryptosystem)。非对称密码算法将随机产生两个密钥:一个用于加密明文,其密钥是公开的,称为公
13、钥;另一个用来解密密文,其密钥是秘密的,称为私钥。,22,23,非对称密码算法基本原理,如果两个人使用非对称密码算法传输机密信息,则发送者首先要获得接收者的公钥,并使用接收者的公钥加密原文,然后将密文传输给接收者。接收者使用自己的私钥才能解密密文。由于加密密钥是公开的,不需要建立额外的安全信道来分发密钥,而解密密钥是由用户自己保管的,与对方无关。从而避免了在对称密码系统中容易产生的任何一方单方面密钥泄露问题以及分发密钥时的不安全因素和额外的开销。非对称密码算法的特点是安全性高、密钥易于管理,缺点是计算量大、加密和解密速度慢。因此,非对称密码算法比较适合于加密短信息。,24,在实际应用中,通常采
14、用由非对称密码算法和对称密码算法构成混合密码系统,发挥各自的优势。使用对称密码算法来加密数据,加密速度快;使用非对称密码算法来加密对称密码算法的密钥,形成高安全性的密钥分发信道,同时还可以用来实现数字签名和身份验证机制。在非对称密码算法中,最常用的是RSA算法。在密钥交换协议中,经常使用Diffie-Hellman算法。,25,2.3.2 RSA算法 RSA算法是用三个发明人Rivest、Shamir和Adleman的名字命名的,它是第一个比较完善的公钥密码算法,既可用于加密数据,又可用于数字签名,并且比较容易理解和实现。RSA算法经受住了多年的密码分析的攻击,具有较高的安全性和可信度。1.R
15、SA算法描述 RSA的安全性基于大数分解的难度,其公钥和私钥是一对大素数的函数,从一个公钥和密文中恢复出明文的难度等价于分解两个大素数之和。,26,(1)两个密钥产生方法 选取两个大素数:p和q,并且两数的长度相同,以获得最大程度的安全性。计算两数的乘积:npq。随机选取加密密钥e,使 e 和(p1)(q1)互素。计算解密密钥 d,为满足 ed 1 mod(p1)(q1),则de1 mod(p1)(q1),d和n也互素。e 和 n 是公钥,d是私钥。两个素数p和q不再需要,可以被舍弃,但绝不能泄漏。(2)数据加密方法 对于一个明文消息m,首先将它分解成小于模数n的数据分组。例如,p和q都是10
16、0位的素数,n则为200位,每个数据分组mi 应当小于200位。,27,对于每个数据分组mi,按下列公式加密:ci mi e(mod n),其中e是加密密钥。将每个加密的密文分组ci 组合成密文c输出。(3)数据解密方法 对于每个密文分组ci,按下列公式解密:mi ci d(mod n),其中d是解密密钥。将每个解密的明文分组mi 组合成明文m输出。下面举一个简单的例子来说明RSA方法:假设p47,q71,则npq3337。选取加密密钥e,如e79,且 e和(p1)(q1)46703220互素(没有公因子)。,28,计算解密密钥 d791 mod 32201019,d 和n也互素。e和n是公钥
17、,可公开;d 是私钥,需保密;丢弃p和q,但不能泄漏。假设一个明文消息 m 6882326879666683,首先将它分解成小于模数n的数据分组,这里模数n为4位,每个数据分组mi可分成3位。m被分成六个数据分组:m1688;m2232;m3687;m4966;m5668;m6003(若位数不足,左边填充0补齐)。现在对每个数据分组 mi 进行加密:c1688 79 mod 33371570,c123279 mod 33372756,。,29,将密文分组 ci 组合成密文输出:c1570 2756 2091 2276 2423 158。现在对每个密文分组ci进行解密:m1 1570 1019
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 信息 安全技术 密码 技术

链接地址:https://www.31ppt.com/p-4105103.html