数据加密与鉴别.ppt
《数据加密与鉴别.ppt》由会员分享,可在线阅读,更多相关《数据加密与鉴别.ppt(162页珍藏版)》请在三一办公上搜索。
1、1,数据加密与鉴别,2,本章主要内容:密码学及数据加密的基本概念传统密码技术对称密钥密码和公开密钥密码体制密钥管理网络通信加密方式加密软件PGP鉴别、CA认证和电子商务安全技术,3,前述的安全立法、加强行政人事管理、访问控制、系统软硬件保护等是保护网络系统安全的有效措施,但它们都不能从根本上解决数据安全问题,都存在一些不易解决的问题。采用密码技术保护网络中数据的安全是一种非常实用、经济、有效的方法。,4,对信息进行加密可以防止攻击者窃取网络机密信息,可以使系统信息不被无关者识别,也可以检测出非法用户对数据的插入、删除、修改及滥用有效数据的各种行为。基于数据加密的数字签名和鉴别技术除具有保密功能
2、外,还可以进行用户的身份验证和数据源及其内容的鉴别。,一、数据加密概述,5,1.密码学的发展,密码学(Cryptology)是一门古老的学科。早在几千年前,人类就已经有了保密通信的思想和方法,但这些保密方法都是非常朴素、原始和低级的,而且大多数是无规律的。近现代一些著名的战争中都使用了密码技术。近年来,密码学研究之所以十分活跃,主要原因是它与计算机科学的蓬勃发展密切相连。,6,此外,还有电信、金融领域和防止日益广泛的计算机犯罪的需要。密码技术应用于计算机网络中的实例越来越多。密码学从其发展来看,可分为两大阶段:传统密码学和计算机密码学。第一阶段:传统密码学。主要是靠人工进行信息加密、传输和破译
3、,7,第二阶段:计算机密码学。利用计算机进行自动或半自动地加密、解密和传输1.传统方式计算机密码学2.现代方式计算机密码学对称密钥密码体制公开密钥密码体制,8,密码学包括密码编码学和密码分析学两部分,这两部分相互对立,但也相互促进,相辅相成。密码编码学研究的是通过编码技术来改变被保护信息的形式,使得编码后的信息除指定接收者之外的其他人都不可理解密码分析学研究的是如何攻破一个密码系统,恢复被隐藏起来的信息的本来面目,9,2.密码学的基本概念,加密在网络上的作用就是防止有价值的信息在网上被窃取并识别;基于加密技术的鉴别的作用是用来确定用户身份的真实性和数据的真实性。,10,加密:把信息从一个可理解
4、的明文形式变换成一个错乱的、不可理解的密文形式的过程明文(Plain Text):原来的信息(报文)、消息,就是网络中所说的报文(Message)密文(Cipher Text):经过加密后得到的信息解密:将密文还原为明文的过程,11,密钥(Key):加密和解密时所使用的一种专门信息(工具)密码算法(Algorithm):加密和解密变换的规则(数学函数),有加密算法和解密算法加密系统:加密和解密的信息处理系统加密过程是通过某种算法并使用密钥来完成的信息变换,12,简单的密码系统示意图,13,加密实际上是要完成某种函数运算C=(P,K),对于一个确定的加密密钥Ke,加密过程可看作是只有一个自变量的
5、函数,记作Ek,加密变换为:C=Ek(P)(加密变换作用于明文P后得到密文C)同样,解密也完成某种函数的运算P=g(C,K)对于确定的解密密钥Kd,解密过程为:P=Dk(C)(解密变换作用于密文C后得到明文P),14,由此可见,密文C经解密后还原成原来的明文,必须有 P=Dk(Ek(P)=Dk Ek(P)此处“”是复合运算,因此要求Dk Ek 为恒等变换,即Dk与 Ek是互逆变换,15,3.密码的分类,按密码的历史发展阶段和应用技术分:手工密码、机械密码、电子机内乱密码和计算机密码按密码转换的操作类型分:替代密码和移位密码,16,按保密程度划分,有理论上保密的密码、实际上保密的密码和不保密的密
6、码 按明文加密时的处理方法分:分组密码和序列密码按密钥的类型分:对称密钥密码和非对称密钥密码,17,分组密码分组密码的加密方式是:首先将明文序列以固定长度进行分组,每组明文用相同的密钥和算法进行变换,得到一组密文。分组密码是以块为单位,在密钥的控制下进行一系列线性和非线性变换而得到密文的。,18,分组密码的加/解密运算是:输出块中的每一位是由输入块的每一位和密钥的每一位共同决定。加密算法中重复地使用替代和移位两种基本的加密变换,此即Shannon 1949年发现的隐藏信息的两种技术:打乱和扩散。,19,打乱:就是改变数据块,使输出位与输入位之间没有明显的统计关系(替代);扩散:就是通过密钥位转
7、移到密文的其它位上(移位)。分组密码的特点:良好的扩散性;对插入信息的敏感性,较强的适应性;加/解密速度慢;差错的扩散和传播。,20,分组密码,21,序列密码序列密码加密过程是:把报文、语音、图像等原始信息转换为明文数据序列,再将其与密钥序列进行“异或”运算,生成密文序列发送给接收者。接收者用相同的密钥序列与密文序列再进行逐位解密(异或),恢复明文序列。,22,序列密码加/解密的密钥,是采用一个比特流发生器随机产生二进制比特流而得到的。它与明文结合产生密文,与密文结合产生明文。序列密码的安全性主要依赖于随机密钥序列。,23,24,加密和解密过程都要使用密钥。如果加密密钥和解密密钥相同或相近,由
8、其中一个很容易地得出另一个,这样的系统称为对称密钥系统,加密和解密密钥都是保密的;如果加密密钥与解密密钥不同,且由其中一个不容易得到另一个,则这种密码系统是非对称密钥系统,往往其中一个密钥是公开的,另一个是保密的。,25,前者也称为传统密钥密码体制,后者称为公开密钥密码体制。相应地,这两种密码体制各有一些典型算法。对称密钥密码体制的主要算法有DES、IDEA、TDEA(3DES)、MD5、RC5等,也叫单密钥算法;公开密钥密码体制的主要算法有RSA、Elgamal、背包算法、Rabin、DH等。,26,二、传统密码技术,1.数据的表示2.替代密码3.移位密码4.一次一密钥密码,27,1.数据的
9、表示传统加密方法加密的对象是文字信息。文字由字母表中的字母组成,在表中字母是按顺序排列的,赋予它们相应的数字标号,即可用数学方法进行运算(变换)了。将字母表中的字母看作是循环的,则字母的加减形成的代码可用求模运算来表示了。如 A+4=E,X+6=D(mod 26),28,2.替代密码替代也叫置换。替代密码就是明文中的每个或每组字符由另一个或另一组字符所替换,即形成密文。在经典密码学中,有简单替代、多名码替代、多字母替代和多表替代加密法。,29,(1)简单替代密码简单替代的就是明文的一个字母,用相应的密文字母代替。规律是根据密钥形成一个新的字母表,与原明文字母表有相应的对应关系。,30,典型的一
10、种替代密码是凯撒密码,又叫循环移位密码。其加密方法就是将明文中的每个字母都用其右边固定步长的字母代替,构成密文。例如:步长为4,则明文A、B、C、Y、Z可分别由E、F、G、C、D代替。如果明文是“about”,则变为密文“efsyx”,其密钥k=+4。两个循环的字母表对应。,31,32,(2)多表替代密码一种常用的多表替代密码叫Vigenere密码。它是循环使用有限个字母实现替代。Vigenere密码就是把26个字母循环移位,排列在一起,形成2626的方阵表。加密和解密时的明文、密钥、密文就是表中的行、列及交点的内容。,33,3.移位密码移位密码变换:只对明文字母重新排序,位置变化了,而不隐藏
11、它们。是一种打乱原文顺序的替代法。把明文按行写出,读出时按列进行,得到的即为密文。,34,如明文为“this is a bookmark”,将其分为三行五列,则为以下形式:t h i s i s a b o o k m a r k按列从左至右读,可得到密文:tskhamibasoriok,35,如果把明文字母按一定顺序排列成矩阵形式,用另一种顺序选择相应的列输出得到密文。如用“china”为密钥,对“this is a bookmark”排列成矩阵如下:t h i s i s a b o o k m a r k按“china”各字母排序“23451”顺序,输出得到密文 ioktskhamiba
12、sor,36,再如:对于句子“移位密码加密时只对明文字母重新排序字母位置变化但它们没被隐藏”,可选择密钥“362415”,并循环使用该密钥对上句进行移位加密。密钥的数字序列代表明文字符(汉字)在密文中的排列顺序。,37,按照该密钥加密可得到一个不可理解的新句子(密文)“密密位码移加对字只明时文新字重排母序置但位变母化没藏们被它隐”。解密时只需按密钥362415的数字从小到大顺序将对应的密文字符排列,即可得到明文。,38,简单异或简单异或操作起来很简单,它主要是按位进行两个二进制位的异或,结果得到密文或明文。即mk=cck=m 该方法简单,但容易破译。,39,4.一次一密钥密码 一次一密钥密码是
13、一种理想的加密方案。就是一个随机密码字母集,包括多个随机密码,这些密码就好象一个本本,其中每页上记录一条密码。类似日历的使用过程,每使用一个密码加密一条信息后,就将该页撕掉作废,下次加密时再使用下一页的密码。,40,一次一密钥密码可推广到二进制数据的加密。用二进制数据组成一次密码本,用异或代替加法,对二进制密码和明文进行操作;解密时用同样的密码和密文进行异或,得到明文。一次一密钥密码必须是随机产生的,这样才可做到最好效果的保密。,41,发送者使用密钥本中每个密钥字母串去加密一条明文字母串,加密过程就是将明文字母串和密钥本中的密钥字母串进行模26加法运算。接收者有一个同样的密钥本,并依次使用密钥
14、本上的每个密钥去解密密文的每个字母串。接收者在解密信息后也销毁密钥本中用过的一页密钥。,42,例如,如果消息是:ONETIMEPAD密钥本中的一页密钥是:GINTBDEYWX则可得到密文:VWSNKQJOXB这是因为:O+G=V(mod 26)N+I=W(mod 26)E+N=S(mod 26),43,一次一密的密钥字母必须是随机产生的。对这种方案的攻击实际上是依赖于产生密钥序列的方法。不要使用伪随机序列发生器产生密钥,因为它们通常有非随机性。如果采用真随机序列发生器产生密钥,这种方案就是安全的。,44,一次一密密码在今天仍有应用场合,主要用于高度机密的低带宽信道。美国与前苏联之间的热线电话据
15、说就是用一次一密密钥本加密的,许多前苏联间谍传递的信息也是用一次一密钥密码加密的。至今这些信息仍是保密的,并将一直保密下去。,45,三、对称密钥密码体制,1.对称密钥密码的概念也叫传统密钥密码体制,其基本思想就是“加密密钥和解密密钥相同或相近”,由其中一个可推导出另一个。使用时两个密钥均需保密。传统密钥密码算法有:DES、IDEA、TDEA(3DES)、MD5、RC5等,典型的算法是DES算法。,46,47,2.DES算法(1)DES概述 DES(数据加密标准)算法能对64位二进制数码组成的数据组在64位密钥的控制下进行加密和解密变换。64位密钥中有8位作为校验位(第8、16、24、32、40
16、、48、56和64位),因此真正成为密钥的只有56位。,48,在70年代初,DES已推出并广泛应用,1977年被NBS公布为数据加密标准。DES最先用于军事系统,后又推广到民用,应用最多的是在银行和商业系统。但由于其保密性能受到质疑,曾有很多专家希望用其它方法取代之。,49,(2)DES算法的主要过程 初始置换:子密钥生成:乘积变换:末置换:,50,(3)初始置换IP 初始置换(permutation)按照固定的矩阵进行(移位),此部分与密钥无关,如下表。58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 6
17、4 56 48 40 32 24 16 8 57 49 41 33 25 17 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,51,3.对称密码体制的其它算法简介(1)三重DES算法(TDEA)三重DES算法需要执行三次DES的加密。一般三重DES算法使用两个DES密钥。其算法步骤为:发送端用密钥K1进行DES加密;发送端用密钥K2对上一结果进行DES解密;发送端用密钥K1对上一结果进行DES加密;接收方则相应地使用K1解密,K2加密,再使用K1解密。,52,53,(2)国际数据加密算法(IDE
18、A)IDEA是分组密码算法,分组长度为64位,但密钥长度128位。该算法是用128位密钥对64位二进制码组成的数据组进行加密的,也可用同样的密钥对64位密文进行解密变换。IDEA的密钥比DES的多一倍,增加了破译难度,被认为是多年后都有效的算法。,54,IDEA算法也是通过一系列的加密轮回操作的,每轮中也使用压缩函数进行变换,只是不使用移位置换。IDEA中使用的运算有:异或模216加法模216+1乘法这三种运算彼此混合可产生很好的效果。运算时IDEA把数据分为四个子分组,每个16位。,55,四、公开密钥密码体制,1.公钥密钥密码体制的概念加密密钥与解密密钥不同,且由其中一 个不容易得到另一个,
19、则这种密码系统是非对称密钥系统。往往其中一个密钥是公开的,另一个是保密的。因此,相应的密码体制叫公开密钥密码体制。,56,W.Diffie和M.Hellman 1976年在IEEE Trans.on Information 刊物上发表了“New Direction in Cryptography”文章,提出了“公开密钥密码体制”的概念,开创了密码学研究的新方向。,57,在公开密钥密码体制中,加密密钥是公开的,解密密钥是保密的,加/解密算法都是公开的。公开密钥密码体制的主要算法有RSA、背包算法、Elgamal、Rabin、DH等。,58,59,用Ke对明文加密后,再用Kd解密,即可恢复出明文,
20、即 M=D KdE Ke(M)加密和解密运算可以对调,即 M=D KdE Ke(M)=E Ke D Kd(M),60,但加密密钥不能用来解密,即 MD KeE Kd(M)在计算上很容易产生密钥对Ke和Kd 已知Ke是不能推导出Kd的,或者说从Ke得到Kd是“计算上不可能的”。,61,2.数论基础(1)模运算若a=b+kn对某些整数k成立 则a b(mod n)称b 为a模n的余数,或a与b是模n的同余,62,(2)素数一个只能被1和它本身整除的正整数。如以下各数为素数:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,8
21、3,89,97,101,103,107,109,113,2521,2365347734339,2756839-1等都是素数。,63,(3)两数互素两个数的最大公因子为1,则两数互素。gcd(a,n)=1 a和n互素15与28互素,13与500互素,而15与27不是互素一个素数与它的倍数以外的任何其它数都是互素的,64,(4)因子分解 对于一个数进行因子分解,就是找出其各个素数因子,如:15=35,80=2 2225,252601=4161101等。在数论中,因子分解是一个古老的问题。分解一个数很简单,但其过程很费时。,65,目前最好的因子分解算法有:数域筛选法:对大于110位字长的数,数域筛选
22、法是已知的最快的因子分解算法。当它最初被提出时,还不算实用,但随着后来的一系列改进,成为新的一种因子分解实用算法。二次筛选法:对于低于110位的十进制数,二次筛选法是已知的最快算法,且已得到广泛应用。该算法最快的版本叫多重多项式二次筛选的双重大素数算法。椭圆曲线法:该算法曾用于寻找43位长数字的因子,对于更大的数是无用的。此外,还有蒙特卡罗算法、连分式算法、试除法等因子分解算法。,66,3.RSA算法RSA算法是1978年由三名美国MIT科学家Rivest,shamir和Adelman提出的一种著名的公开密钥密码算法(以该三位姓氏的第一个字母命名)。,67,经过多年的分析研究,在众多的公钥体制
23、中,RSA倍受推崇,已被ISO/TC97的数据加密技术分委员会SC20推荐为公钥数据加密标准。RSA算法是建立在素数理论(Euler函数和欧几里德定理)基础上的算法。,68,由数论知识可知,将一个具有大素数因子的合数进行分解是很困难的,或者说这个计算量是令人望而生畏的。RSA正是建立在这个理论基础之上的。RSA算法的加密密钥Ke是公开的,而解密密钥Kd是保密的。,69,在此不介绍RSA的理论基础(复杂的数学分析和理论推导),只简单介绍密钥的选取和加、解密的实现过程。假设用户A要对发送给B的数据加密,则可根据以下步骤选择密钥和进行密码变换:,70,(1)随机地选取两个不同的大素数p和q(一般为1
24、00位以上的十进制数)予以保密;(2)计算 n=p q,作为A的公开模数;(3)计算 Euler 函数(n)=(p-1)(q-1)(mod n)(4)随机地选取一个与(p-1)(q-1)互素的整数e,作为A的公开密钥;(5)用欧几里德算法,计算满足同余方程 ED1(mod(n)的解d,作为A用户的保密密钥;(6)任何向A发送明文的用户,均可用A的公开密钥 e 和公开模数 n,根据式 C=Me(mod n)得到密文C(7)用户A收到C后,可利用自己的保密密钥d,根据 M=Cd(mod n)得到明文M,71,RSA算法举例对“HI”进行加密:(1)选密钥 设p=5,q=11,则n=55,(n)=4
25、0 取e=3(公钥),则d=27(mod 40)(私钥),72,(2)加密设明文编码为:空格=00,A=01,B=02,Z=26 则明文 HI=0809C1=(08)3=512 17(mod 55)C2=(09)3=729 14(mod 55)N=14,Q=17所以,密文为QN,73,(3)恢复明文M1=Cd=(17)27 08(mod 55)M2=Cd=(14)27 09(mod 55)因此明文为“HI”。,74,RSA 算法的安全性,攻击方法蛮力攻击:对所有密钥都进行尝试数学攻击:等效于对两个素数乘积(n)的因子分解大数的因子分解是数论中的一个难题,75,DES和RSA算法的特点和比较(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 加密 鉴别
链接地址:https://www.31ppt.com/p-5357023.html