《数据加密技术创新》由会员分享,可在线阅读,更多相关《数据加密技术创新(50页珍藏版)》请在金锄头文库上搜索。
1、 数据加密技术本章主要内容:本章主要内容: 重重 点:点: 1:密码学的基本概念密码学的基本概念 2:传统的数据加密方法传统的数据加密方法重重难点:难点: 3:数据加密标准数据加密标准重重难点:难点: 4:公共密钥加密公共密钥加密 5:密钥管理与分配密钥管理与分配重重难点:难点: 6:数据加密技术的应用数据加密技术的应用 数字签名数字签名 报文报文 摘要摘要 7:CA与数字证书与数字证书重重难点:难点: 8:单向散列单向散列(Hash)算法算法重重 点:点: 9:密码技术的应用密码技术的应用 SSL和和SET协议协议 PGP加密系统加密系统 密码技术在网络通信中的应用链路加密:路途经过每一节点
2、都要解密加密报文,可以对报头实现加密。端-端加密:在发送端加密,在接收端解密。只能加密报文,不能加密报头。加密技术在电子商务方面的应用:RSA。加密技术在VPN中的应用:加密通道。PGP应用本章学习的教学要求l了了解解:数数据据加加密密的的有有关关术术语语和和方方法法、传传统统的的数据加密方法数据加密方法l掌掌握握:对对称称加加密密算算法法和和公公开开密密钥钥加加密密算算法法的的特特点点和和应应用用、数数字字签签名名、报报文文摘摘要要、SSL和和SET协议、协议、PGP加密系统加密系统概述早在早在4000多年前,密码技术已有使用;如隐多年前,密码技术已有使用;如隐写术。写术。密码学包括两方面的
3、内容:密码学包括两方面的内容: 密码编码学和密码分析学。密码编码学和密码分析学。明文明文加密密文密文明文:明文:M密文:密文:C加密函数:加密函数:E解密函数:解密函数:D密钥:密钥:K加密:加密:EK(M) = C解密:解密:DK(C) = M先加密后再解密,原始的明文将恢复:先加密后再解密,原始的明文将恢复:DK(EK(M) = M解密重点:重点:密码学的密码学的有关概念概念重点:重点:密码学算法模型密码学算法模型 明文明文在网在网上传上传输输干扰干扰/窃听窃听明文明文加密密钥加密密钥Ke解密密钥解密密钥Kd第一阶段:第一阶段:19491949年之前,古典密码学年之前,古典密码学(1)吴用
4、写给卢俊义:)吴用写给卢俊义: 芦花丛中一扁舟,俊杰俄从此地游,芦花丛中一扁舟,俊杰俄从此地游, 义士若能知此理,反躬逃难可无忧。义士若能知此理,反躬逃难可无忧。(2)关羽的)关羽的“汉夫子竹汉夫子竹” 中中风竹风竹诗为诗为”莫莫嫌孤叶淡,终久不凋零嫌孤叶淡,终久不凋零”;雨竹雨竹诗为诗为”不谢不谢东君意,丹青独立名东君意,丹青独立名”。关羽以此向刘备暗。关羽以此向刘备暗传传“身在曹营心在汉身在曹营心在汉” 。 重点:重点:密码学的发展(按技术发展阶段分类)密码学的发展 (按技术发展阶段分类)第二阶段:第二阶段: 1949年年1975年,现代密码学年,现代密码学主要特点:主要特点:数据的安全基
5、于数据的安全基于密钥密钥而不是算法的而不是算法的保密保密第三阶段:第三阶段: 1976年以后,公钥密码学年以后,公钥密码学主要特点:主要特点:公钥密码使得发送端和接收端公钥密码使得发送端和接收端“无密无密钥传输的保密通信钥传输的保密通信”成为可能成为可能。重点:重点:密码学的发展(按历史发展阶段分类)第一阶段:第一阶段:手工阶段,以手工方式完成加密作业。手工阶段,以手工方式完成加密作业。第二阶段第二阶段:机械阶段,以机械密码机或电动密码:机械阶段,以机械密码机或电动密码机完成加解密作业。机完成加解密作业。第三阶段:第三阶段:电子机内乱密码,通过电子电路,以电子机内乱密码,通过电子电路,以严格的
6、程序进行逻辑运算以少量制乱元素生产大量严格的程序进行逻辑运算以少量制乱元素生产大量的加密乱数。的加密乱数。第四阶段:第四阶段:计算机密码,以计算机密码软件进行计算机密码,以计算机密码软件进行算法加解密。算法加解密。密码学的分类按密码算法分类按密码算法分类l对称密码算法对称密码算法l3DES算法算法lRC2和和RC4l公共密码算法公共密码算法l数字签名算法数字签名算法lAES算法算法l单向散列算法单向散列算法补充:补充:重点:重点:4.1.3密码学与信息安全的关系密码学与信息安全的关系数据加密技术是保证信息安全基本要素(数据加密技术是保证信息安全基本要素(保密性、完保密性、完整性、可用性、可控性
7、、不可否认性整性、可用性、可控性、不可否认性)的手段:)的手段:数据加密技术是如何保证信息安全基本要数据加密技术是如何保证信息安全基本要素的?素的? 信息的私密性信息的私密性(Privacy):对称加密对称加密 信息的完整性信息的完整性(Integrity):报文摘要报文摘要 信息的源发鉴别信息的源发鉴别(Authentication):数字签名数字签名 信息的防抵赖性信息的防抵赖性(Non-Reputation):数字签名数字签名l替换密码替换密码:明文中每一个字符被替换成密文中的另明文中每一个字符被替换成密文中的另外一个字符。外一个字符。古典密码技术古典密码技术1、单表替代密码、单表替代密
8、码: 又称为循环移位密码。又称为循环移位密码。 算法可表示为如下函数:算法可表示为如下函数:f(a)=(a+k) mod n其中:其中:a表示明文字母,表示明文字母,n为字符集中字母为字符集中字母个数,个数,k为密钥。为密钥。 单表替代密码单表替代密码wuhdwb lpsrvvleoh密文:密文:Ci=E(Pi)=Pi+3TREATY IMPOSSIBLE算法:算法:明文:明文: 字母表:字母表:(密码本)密码本) ABCDEFGHIJKLMNOPQRSTUVWXYZ defghijklmnopqrstuvwxyzabc难点(选学):难点(选学):多表替代密码多表替代密码2、多表替换技术、多表
9、替换技术:又称为费杰尔又称为费杰尔Vigenere)密码,这种替代法是循环的使用有限个字母密码,这种替代法是循环的使用有限个字母来实现替代的一种方法。来实现替代的一种方法。 以明文字母指定行,以密钥字母指定列,以明文字母指定行,以密钥字母指定列, 从从而在而在费杰尔费杰尔Vigenere)表中查找密文字母。)表中查找密文字母。如如:I am dying to miss you.密钥为密钥为love.则:则: Iamd ying tomi ssyo u. love love love love love费杰尔费杰尔Vigenere)密码表)密码表明文:明文:AVOID REUSING OR RE
10、CYCLING OLD PASSWORDS. A V O I D R E U S I N G O R R E C Y C L I N G O L D P A S S W O R D S密文:密文:ANIW VGNO OOGR IROD DRLS REDE CPUY ASCS ILS换换位位密密码码(Transposition cipher)算算法有三种:法有三种:置换密码即换位密码置换密码即换位密码列换位法列换位法行换位法行换位法矩阵换位法矩阵换位法密码分析密码分析:就是在未知密钥的前提下,从密文中恢复出明文或推导出密钥。密码分析方法主要有:l唯密文攻击l已知明文攻击l选择密文攻击l选择密钥攻
11、击古典密码分析方法主要有:l穷举分析l根据字母频率分析养个娃娃不读书,养个娃娃不读书,不如养头老母猪!不如养头老母猪!对称加密算法对称加密算法(symmetric algorithm)有时也称传统密码算法,就是加密密钥有时也称传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也能够从解密密钥中推算出来,反过来也成立。成立。加密:加密:EK(M) = C解密:解密:DK(C) = M密钥:密钥:K重点:重点:对称密码技术对称密码技术数据加密标准数据加密标准重点:重点:数据加密标准数据加密标准(对称加密算对称加密算法法)对称加密模型对称加密模型特点:加密和解密使用的密钥相同特点:加密和解密
12、使用的密钥相同对称加密的要求对称加密的要求: 1、需要有强大的加密算法、需要有强大的加密算法 2、发送方和接受方必须以安全的方式获得密钥,、发送方和接受方必须以安全的方式获得密钥,在对称加密体系中在对称加密体系中不需要对加密算法进行保密不需要对加密算法进行保密对称加密算法通信模型DES是是最典型最典型的的对称加密算法对称加密算法。DES是是美国政府美国政府1977年采纳的数据加密标准;是由年采纳的数据加密标准;是由IBM公司公司为为非机密数据加密所非机密数据加密所设计的方案;后来被国设计的方案;后来被国际标准局采纳为际标准局采纳为国际标准国际标准。DES是一种分组加密算法,输入的明文为是一种分
13、组加密算法,输入的明文为64位,密钥位,密钥为为56位,生成的密文为位,生成的密文为64位。位。DES对对64位的明文分组进行操作。通过一个初始置换,位的明文分组进行操作。通过一个初始置换,将明文分组分成左半部分和右半部分,各将明文分组分成左半部分和右半部分,各32位长。然位长。然后进行后进行16轮完全相同的运算。轮完全相同的运算。数据加密标准(DES)输入输入64比特明文数据比特明文数据初始置换初始置换IP在密钥控制下在密钥控制下16轮迭代轮迭代初始逆置换初始逆置换IP-1输出输出64比特密文数据比特密文数据交换左右交换左右32比特比特 DES算法加密流程P115注: 16轮的迭代过程不要求
14、掌握轮的迭代过程不要求掌握DES算法的安全性分析算法的安全性分析不同密钥长度承受攻击的情况如下表:不同密钥长度承受攻击的情况如下表:DES算法的安全性分析算法的安全性分析攻击者定义表如下:攻击者定义表如下:优点:点:算法查对简单,具有比较广泛的应用。算法查对简单,具有比较广泛的应用。缺点:缺点:其安全性完全取决于密钥的保密性。其安全性完全取决于密钥的保密性。对称加密算法在网络安全中的应用 了解:了解: 其它常用的对称加密算法三重三重DES(Trible DES):):采用采用2个或个或3个密钥个密钥对明文进行对明文进行3次加密运算,密钥长度由次加密运算,密钥长度由DES的的56位位变成变成11
15、2位或位或128位。位。IDEA (International Data Encryption Algorithm)AES(Advanced Encryption Standard RC5重难点:重难点:公共密钥加密公共密钥加密(非对称加密算法)公共密钥加密的历史意义:公共密钥加密的历史意义: DES加密算法及其他类似的对称加密算法的加加密算法及其他类似的对称加密算法的加密密钥和解密密钥相同,因此密钥必须保密。密密钥和解密密钥相同,因此密钥必须保密。 而公开密钥密码体系新算法则是使用的加密密而公开密钥密码体系新算法则是使用的加密密钥和解密密钥完全不同,不能根据加密密钥推算钥和解密密钥完全不同,
16、不能根据加密密钥推算出解密密钥;其加密密钥是公开的,解密密钥是出解密密钥;其加密密钥是公开的,解密密钥是私有的即保密的,只有得到解密密钥才能解密信私有的即保密的,只有得到解密密钥才能解密信息。息。公开密钥密码体系给密码技术带来了新的变革。公开密钥密码体系给密码技术带来了新的变革。公开密钥算法公开密钥算法公开密钥算法(公开密钥算法(public-key algorithm)也也称非对称算法,加密密钥不同于解密密钥,称非对称算法,加密密钥不同于解密密钥,而且解密密钥不能根据加密密钥计算出来。而且解密密钥不能根据加密密钥计算出来。加密密钥叫做公开密钥(加密密钥叫做公开密钥(public-key,简称
17、简称公钥),解密密钥叫做私人密钥(公钥),解密密钥叫做私人密钥(private-key,简称私钥)。简称私钥)。公钥:公钥:K1私钥:私钥:K2加密:加密:EK1(M) = C解密:解密:DK2(C) = M签名:签名:DK2(M) = C验签:验签:EK1(C) = Mn特点:加密和解密需要不同的密钥(私钥特点:加密和解密需要不同的密钥(私钥/公钥公钥密码对)私钥需要秘密保存,公钥不需要保密。密码对)私钥需要秘密保存,公钥不需要保密。公共密钥算法通信模型(中文)公开密钥算法通信模型(英文)RSA公共密钥密码系统公共密钥密码系统lRSA算法是麻省理工大学的算法是麻省理工大学的Ron Rives
18、t,Adi Shamir和和Leonard Adleman(RSA算算法即为三人名字的缩写)于法即为三人名字的缩写)于1977年研制并于年研制并于1978年首次发表的一种算法。年首次发表的一种算法。lRSA算法的数学基础是数论的欧拉定理,它算法的数学基础是数论的欧拉定理,它的安全性依赖于大数因子分解的困难性。的安全性依赖于大数因子分解的困难性。公共密钥加密算法应用公共密钥加密算法应用公共密钥密码学系统在应用中非常简单,先公共密钥密码学系统在应用中非常简单,先看这样一个应用实例。看这样一个应用实例。假设假设A和和B想进行通信,如图所示,不像对称想进行通信,如图所示,不像对称密钥系统那样,两人共享
19、一个秘密密钥,而密钥系统那样,两人共享一个秘密密钥,而是是B(A消息的接收者)有两个密钥:公共密消息的接收者)有两个密钥:公共密钥(钥(Public Key)和私有密钥()和私有密钥(Private Key)。其中公共密钥世界上每个人(包括)。其中公共密钥世界上每个人(包括入侵者)都知道,而私有密钥则只有入侵者)都知道,而私有密钥则只有B一个人一个人知道。知道。公共密钥加密算法应用公共密钥加密算法应用A为了同为了同B进行通信,进行通信,A首先得到首先得到B的公共密钥。的公共密钥。接着,接着,A使用使用B的公共密钥和已知(比如标准的)加密的公共密钥和已知(比如标准的)加密算法加密所要发送的消息传
20、送给算法加密所要发送的消息传送给B。B接收到接收到A的加密消息后,使用自己的私有密钥和已知的加密消息后,使用自己的私有密钥和已知(比如标准的)解密算法对(比如标准的)解密算法对A的消息进行解密。的消息进行解密。通过这种方式,双方不需要商定任何共享的密钥,通过这种方式,双方不需要商定任何共享的密钥,A就可以向就可以向B发送秘密的消息。如图下图所示。发送秘密的消息。如图下图所示。 A加密加密明文明文 B解密解密明文明文秘文秘文B的公钥的公钥B的私钥的私钥重难点:重难点: RSA算法过程解析算法过程解析为了选取公共密钥和私有密钥,需要做以下工为了选取公共密钥和私有密钥,需要做以下工作:作:第一步第一
21、步:选取两个大质数:选取两个大质数p和和q。p和和q应该为多应该为多大适宜?质数的值越大,破解大适宜?质数的值越大,破解RSA就越困难,就越困难,但是进行加密和解密的时间就越长。但是进行加密和解密的时间就越长。RSA实验实验室的建议是,安全性要求相对较低时室的建议是,安全性要求相对较低时p和和q的乘的乘积达到积达到768位,安全性要求相对较高时乘积达位,安全性要求相对较高时乘积达到到1024位位RSA Key 1999。假定假定B选取选取p=3和和q=5(当然这里的值太小不够(当然这里的值太小不够安全,只是描述其使用过程)。安全,只是描述其使用过程)。RSA算法过程解析算法过程解析第二步:第二
22、步:计算计算n=pq和和z=(p-1)(q-1)。那么那么n=15,z=8。第三步:第三步:选择小于选择小于n的数的数e,并且和,并且和z互质(即互质(即e和和z没有公约数)。选择字母没有公约数)。选择字母e是因为此值在是因为此值在加密时要用到。加密时要用到。B选取选取e=3,因为,因为3和和8没有公约数。没有公约数。RSA算法过程解析算法过程解析第四步第四步:找到一数:找到一数d,使其满足,使其满足ed-1被被z整除。整除。另一种方式描述为,给定的另一种方式描述为,给定的e,选择,选择d满足满足ed除除以以z的模余数是的模余数是1(即满足(即满足ed mod z=1)。)。选择字母选择字母d
23、,因为解密时要用到。,因为解密时要用到。最后最后B选取选取d=11,因为,因为ed-1=311-1恰好被恰好被8整整除。即(除。即(3d-1)8为整除。分别让为整除。分别让d=1,2,3,4,一一代入,寻找一一代入,寻找d。注意:注意:d有多个值,即有多个私钥。有多个值,即有多个私钥。RSA算法过程解析算法过程解析第五步:第五步:取数对(取数对(n,e)作为)作为B的公共密钥,的公共密钥,取数对(取数对(n,d)作为)作为B的私有密钥。的私有密钥。取数对(取数对(15,3)作为)作为B的公共密钥(即可公开的公共密钥(即可公开的密钥简称公钥),取数对(的密钥简称公钥),取数对(15,11)作为)
24、作为B的私有密钥(简称公钥)。的私有密钥(简称公钥)。 加密模型:加密模型: A加密加密明文明文 B加密加密明文明文秘文秘文B的公钥的公钥B的私钥的私钥假定假定A现在想向现在想向B发送字符串发送字符串“name”。将每个字母看作一个将每个字母看作一个126之间的数字之间的数字(a=1,z=26),那么),那么A的加密过的加密过程和程和B的解密过程分别如表的解密过程分别如表2-15和表和表2-16所示。所示。RSA加密及解密算法实例加密及解密算法实例B的公钥即的公钥即A的加密密钥:的加密密钥: (n,e)=(15,3)加密过程加密过程:假定:假定A想向想向B发送字母对应的数发送字母对应的数即即A
25、SCII码为码为m,其中要求,其中要求m n。为了进。为了进行加密,行加密,A做一指数运算做一指数运算me,接着计算,接着计算me被被n除的模余数。进行加密时需要除的模余数。进行加密时需要B的公共的公共密钥(密钥(n,e)。明文消息)。明文消息m的加密值为的加密值为c,A发送的密文即为发送的密文即为c,如下表示:,如下表示:加密加密公式:公式:c=memod nRSA加密算法加密算法表表2-15 发送者发送者A对数据数据D的的RSA加密过程加密过程注:注:A用接收者用接收者B的公钥加密的公钥加密 B的公钥:(的公钥:(n,e)=(15,3)明文明文字母字母ASCII码数数值表示表示为mme密文
26、密文c= me mod nn14274414a111m1321977e51255RSA解密算法解密算法B的解密密钥即私钥:的解密密钥即私钥: (n,d)=(15,11)解密过程解密过程: B为解密接收到的密文消息为解密接收到的密文消息c,接收方,接收方B必必须使用自己的私有密钥(须使用自己的私有密钥(n,d)进行解密。)进行解密。解密解密公式:公式:m=cd mod n表表2-16 接收者接收者B的的RSA解密过程解密过程用用B的私钥为(的私钥为(n,d)=(15,11)解密)解密密文密文ccdm= cd mod n 明文字母明文字母14404956516966414n111a71977326
27、74313m5488281255eRSA的破解难度的破解难度RSA算法的提出者用算法的提出者用129位十进制数字作为位十进制数字作为其模数其模数n,并预言要经过,并预言要经过401015年方能攻破。年方能攻破。然而,最近一个世界范围的研究组在因特网然而,最近一个世界范围的研究组在因特网上用上用1600台协同工作的计算机仅用了台协同工作的计算机仅用了8个月个月就攻破了就攻破了LEUT94。这件事并不是说明这件事并不是说明RSA不可靠,而是告诉我不可靠,而是告诉我们,在使用们,在使用RSA加密时,必须选择足够长的加密时,必须选择足够长的密钥。密钥。对当前的计算机水平,只要选择对当前的计算机水平,只
28、要选择1024 bit长的长的密钥(相当于约密钥(相当于约300位十进制)就可以认为是位十进制)就可以认为是无法攻破的。无法攻破的。表表2-14 传统加密与公开密钥加密传统加密与公开密钥加密传统加密加密公开密公开密钥加密加密运行条件:运行条件:1. 加密和解密使用同一密加密和解密使用同一密钥和同和同一算法;一算法;2. 发送方和接收方共享密送方和接收方共享密钥和算和算法。法。运行条件:运行条件:1. 使用同一算法加密和解密使用同一算法加密和解密,而密而密钥为一一对,一个加密一个加密,一个解密;一个解密;2. 发送方和接收方分送方和接收方分别拥有一有一对相互匹配的密相互匹配的密钥。安全条件:安全
29、条件:1. 密密钥必必须保密;保密;2. 如果不掌握其他信息,要想解如果不掌握其他信息,要想解密密文是不可能的,至少是不密密文是不可能的,至少是不现实的;的;3. 知道所用的加密算法以及密文知道所用的加密算法以及密文样本不足以确定密本不足以确定密钥。安全条件:安全条件:1. 私私钥必必须保密;保密;2. 如果没有私如果没有私钥,要想解密密文,要想解密密文是不可能的,至少是不是不可能的,至少是不现实的;的;3. 知道所用的算法、公知道所用的算法、公钥以及密以及密文文样本不足以确定另一个私本不足以确定另一个私钥。重点:重点:密码体制的分类密码体制的分类1、按照明文到密文的转换操作、按照明文到密文的
30、转换操作置换密码和易位密码置换密码和易位密码2、按照明文的处理方法、按照明文的处理方法分组密码和序列密码分组密码和序列密码3、按照密钥的使用个数、按照密钥的使用个数对称密码体制和非对称密码体制对称密码体制和非对称密码体制其它常用的公开密钥算法Ddiffe-Hellman算法算法DSA:Digital Signature Algonrithm算法算法EIGamal算法算法重点:重点: RSA的应用的应用RSA速度慢(较速度慢(较DES)。)。网络应用仍用网络应用仍用DES。RSA加密加密DES的密钥。的密钥。如如P121图图4-8重难点:重难点:数字身份认证技术传统身份认证的方法传统身份认证的方法口令口令个人持证个人持证信息认证技术:信息认证技术:(1)身份认证技术)身份认证技术数字签名数字签名(2)报文认证技术)报文认证技术报文摘要报文摘要