《(中职)电子商务安全基础第3章 密码学基础课件.ppt》由会员分享,可在线阅读,更多相关《(中职)电子商务安全基础第3章 密码学基础课件.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、YCF正版可修改PPT(中职)电子商务安全基础第3章 密码学基础ppt课件第第 3章章 密码学基础密码学基础电子商务安全基础3.13.1密码学基础概述密码学基础概述3.23.2分组密码技术分组密码技术3.33.3公钥密码技术主要内容主要内容3.43.4使用密码通信3.53.5实验项目3.1 密码学基础概述密码学基础概述 密码技术通过信息的变换或编码,将机密消息变换成乱型文字,使非指定的接收方不能从其截获的乱码中得到任何有意义的信息,并且不能仿造任何乱码型号的信息。密码学的历史已有4000多年,古埃及人曾把象形文字写在石碑上,这种文字对于现代人来说就是千年之谜。自从人类有了秘密传输信息的需求,加
2、密技术一直伴随着人类社会的进步而不断发展。密码学的发展经历了纯手工阶段、机械化阶段、电子阶段、计算机和网络时代阶段。3.1.1 3.1.1 对称加密和非对称加密对称加密和非对称加密v加密、解密基本概念 密码学定义:应用复杂的数学运算以增强电子交易安全性的科学,是实现网络和信息安全的重要技术方法。加密:使用数学的方法将原始消息(明文)重新组织、变换成只有授权用户才能解读的密码形式(密文)。解密:将密文重新恢复成明文。v加密技术类型 1)对称加密 2)非对称加密 3.1.1 3.1.1 对称加密和非对称加密对称加密和非对称加密v对称加密 定义:又称私钥加密,加密密钥与解密密钥是相同的。优点:算法简
3、单,密钥较短,且破译困难,加密和解密的速度快,适合对大量数据进行加密。缺点:密钥管理困难。密钥必须通过安全可靠的途径传递;有大量的私钥需要保护和管理 密钥管理是对称加密应用系统安全的关键性因素。目前常用的对称加密算法包括DES、3DES、AES和IDEA等 3.1.1 3.1.1 对称加密和非对称加密对称加密和非对称加密v非对称加密 定义:又称公钥加密,加密和解密使用不同的密钥。特点:每个用户有唯一的一对密钥公开密钥(公钥)和私有密钥(私钥)。公钥是公开的,存放在公共区域;私钥是保密的,必须存放在安全保密的地方。非对称加密算法的保密性比较好。缺点:但其加密和解密花费时间长、速度慢,不适合于对文
4、件加密,只适用于对少量数据进行加密。常用的非对称加密算法有RSA、ECC等。3.1.2 3.1.2 密码分析密码分析v基本定义从截获的密文中推断出原来的明文或密钥,这一过程称为密码分析从事这一工作的人称为密码分析员研究如何从密文推演出明文、密钥或解密算法的学问称为密码分析学v保密通信系统模型3.1.3 3.1.3 传统密码技术传统密码技术v数据加密 定义:通过某种函数进行交换,把正常数据报文明文转换成密文。v两个传统的基本变换方法 1)替换法 定义:将明文中的每个字母都用其他字母代替。它是一种最简单的加密技术,典型应用-恺撒密码(Caesar Cipher)2)换位法 定义:换位是将明文中字母
5、的位置重新排列。最简单的换位是逆序法,即将明文中的字母倒过来输出。例如:明文为help me;密文为em pleh。3.1.4 3.1.4 对加密算法的攻击对加密算法的攻击4 4种典型的攻击方式种典型的攻击方式v密文攻击 攻击者手里只有密文,对于明文的有关信息则一无所知v已知明文攻击 攻击者知道部分明文/密文之间的对应关系v选择明文攻击 攻击者知道明文和密文之间的对应关系。v选择密文攻击 攻击者可以选择一段密文,并得到解密的明文3.2 3.2 分组密码技术分组密码技术3.2.1 3.2.1 DESDES数据加密标准数据加密标准v基本概念DES是一种对二元数据进行加密的算法,数据分组长度为64位
6、,密文分组长度也是64位,使用的密钥为64位,有效密钥长度为56位,有8位用于奇偶校验,解密时的过程和加密时相似,但密钥的顺序正好相反特点:运算速度快,密钥产生容易缺点:不能提供足够的安全性,因为其密钥容量只有56位改进技术:三重DES或3DES系统 使用3个不同的密钥对数据块进行3次(或2次)加密,该方法比进行3次普通加密更加有效。强度大约和112位的密钥强度相当。vDES算法加解密过程DES算法的加密由四部分完成,分别为:初始置换函数IP、子密钥Ki及获取、密码函数F、末置换函数IP-1。3.2.1 3.2.1 DESDES数据加密标准数据加密标准DES加密过程vDES算法的安全性 为了克
7、服DES密钥空间小的缺陷提出了三重DES的变形方式 DES算法漏洞:DES算法中只用到64位密钥中的其中56位,而第8,16,24,64位8个位并未参与DES运算 把密钥的8,16,24,64位作为有效数据使用,将不能保证DES加密数据的安全性3.2.1 3.2.1 DESDES数据加密标准数据加密标准u AES分组密码原理3.2.2 3.2.2 AESAES加密算法加密算法产生产生:1997年NIST公开征集新的数据加密标准,即AES(Advanced Encryption Standard,高级加密标准)比利时Joan Daeman和Vincent Rijmen提交的Rijndael算法被
8、提议为AES的最终算法。AES是分组密钥,设计有三个密钥长度:128、192、256位AES分组密码图示(16位)u AES分组密码原理3.2.2 3.2.2 AESAES加密算法加密算法原理原理:AES算法输入128位数据,密钥长度也是128位,用来表示对一个数据分组加密的轮数(加密轮数与密钥长度的关系如表1 所示)。每一轮都需要一个与输入分组具有相同长度的扩展密钥的参与。算法中要用一个密钥扩展程序把外部密钥扩展成更长的比特串,以生成各轮的加密和解密密钥密钥长度(Nk)/字分组大小(Nb)/字循环次数(Nr)/次AES1284410AES1926412AES2568414加密轮数与密钥长度的
9、关系表u AES分组密码原理3.2.2 3.2.2 AESAES加密算法加密算法AES加密与解密流程加密与解密流程:u AES算法安全性3.2.2 3.2.2 AESAES加密算法加密算法1)AES加密算法将密钥的位数提高到16字节(128位)以上,极大地增加了破解方的难度。2)AES加密算法除对数据进行普通替代和置换外,还引入了域名乘法和加法运算,以提高加密强度。3)AES算法强调通过大量轮数来增加加密数据的复杂性。3.3 3.3 公钥密码技术公钥密码技术v概述公钥密码体制则为密码学的发展提供了新的理论和技术基础。一方面,公钥密码算法的基本工具不再是代换和置换,而是数学函数;另一方面,公钥密
10、码算法是以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。3.3.1 3.3.1 3.3.1 3.3.1 RSARSARSARSA公开密钥密码算法公开密钥密码算法公开密钥密码算法公开密钥密码算法v RSA的产生 Diffie和Hellman提出了非对称密码系统的设想,并给出了其算法的必要条件,即:公钥公开;私钥解密。1977年,MIT的Ron Rivest,Adi Shamir和Leonard Adleman 三位博士设计了以他们的名字命名的RSA公开密钥密码算法。1992年被国际标准化组织(ISO)正式纳入国际标准。核心思想核心思想:利用了将两大素数相乘生
11、成一个合数很容易,但要把一个大合数还原为两个素数却十分困难的事实。3.3.1 3.3.1 3.3.1 3.3.1 RSARSARSARSA公开密钥密码算法公开密钥密码算法公开密钥密码算法公开密钥密码算法v RSA密码算法计算过程 (1)用户首先选择一对不同的大素数p和q;p和q的长度要接近,都处在107510100的数量级;p-1和q-1都应包含大的质因子。(2)计算n=pq。(3)计算f(n)=(p-1)(q-1),此后素数p和q不再需要,应该丢弃,不要让任何人知道。(4)找一个与f(n)互质的数据e,且1ef(n)。(5)计算d,使de=1modf(n)。(6)公钥KU=(n,e),私钥K
12、R=(n,d)。(7)若m为明文,c为密文,加密过程为(me)modn=c。(8)解密过程为(cd)modn=m。3.3.1 3.3.1 3.3.1 3.3.1 RSARSARSARSA公开密钥密码算法公开密钥密码算法公开密钥密码算法公开密钥密码算法RSA算法中ammodn的计算,是首先将m表示为二进制形式:bkbk-1,b0,然后,应用RSA的快速指数实现算法:c=0;d=1;For i=k downto 0 doc=2c;d=(dd)mod n;if bi=1thenc=c+1;d=(da)mod nReture d;d最终为所求的加密结果3.3.1 3.3.1 3.3.1 3.3.1 R
13、SARSARSARSA公开密钥密码算法公开密钥密码算法公开密钥密码算法公开密钥密码算法v RSA安全性 RSA的安全性取决于大合数分解的困难性。对RSA算法的攻击主要有:(1)强行攻击:包括对所有的私钥都进行尝试。(2)数学攻击:实质上等效于对两个素数乘积的因式分解。(3)定时攻击:依赖于解密算法的进行时间。3.3.1 3.3.1 3.3.1 3.3.1 RSARSARSARSA公开密钥密码算法公开密钥密码算法公开密钥密码算法公开密钥密码算法RSA加密解密过程图解(1)产生一对密钥。1)选择两个素数,如p=7,q=17;2)计算N=pq=717=119;3)(N)=(p-1)(q-1)=616
14、=96;4)从0,95间选一个与96互质的数e=5;5)根据5d=1mod96得5d=77(因为577=496+1);6)得到公钥PK=(5,119),私钥SK=(77,119)。(2)用这对密钥进行加密解密实验。1)将明文分组,使每组明文的二进制值不超过N,即不超过119。现在设明文为X=19。2)用公钥PK=(5,119)加密。先计算Xe=195=2476099;再除以119,商20807,余数为66。密文即为66。3)用私钥SK=(77,119)解密。先计算Yd=6677=127;再除以119,得余数为19。明文即为19。3.3.1 3.3.1 3.3.1 3.3.1 RSARSARSA
15、RSA公开密钥密码算法公开密钥密码算法公开密钥密码算法公开密钥密码算法3.3.1 3.3.1 3.3.1 3.3.1 RSARSARSARSA公开密钥密码算法公开密钥密码算法公开密钥密码算法公开密钥密码算法v RSA与DES比较 RSA的优点:不必考虑如何安全地传输密钥RSA的缺点:实现速度比DES慢。具体比较如下:(1)DES效率高、速度快。(2)RSA密钥管理好。(3)RSA容易签名和认证。为发挥出两种加密体制各自的优点,通常采用混合密码体制,即公开密钥密码用来保护和分发会话密钥;会话密钥则用于对称密钥密码算法中。v概述数字签名可用作数据完整性检查,并提供拥有私码凭据目的:认证网络通信双方
16、身份的真实性,防止相互欺骗或抵赖。3.3.2 3.3.2 RSARSA数字签名方案数字签名方案v数字签名必须满足如下3个条件:(1)收方条件:接收者能够核实和确认发送者对消息的签名。(2)发方条件:发送者事后不能否认和抵赖对消息的签名。(3)公证条件:公证方能确认收文的信息,做出仲裁,但不能伪造这一过程。v实现类型 直接数字签名和有仲裁的数字签名 3.3.2 3.3.2 RSARSA数字签名方案数字签名方案v直接数字签名-只涉及通信双方设消息接收者已经或者可以获得消息发送者的公钥。发送者用其私钥对整个消息或者消息散列码进行加密来形成数字签名。通过对整个消息和签名进行再加密来实现消息和签名的机密
17、性3.3.2 3.3.2 RSARSA数字签名方案数字签名方案v直接数字签名 首先执行签名函数,然后再执行外部的加密函数。出现争端时,某个第三方必须查看消息以及签名。公钥密码体制的应用数字签名3.3.2 3.3.2 RSARSA数字签名方案数字签名方案v直接数字签名 缺点:其有效性依赖于发送方私钥的安全性可以对私钥进行管理控制,代价是阻碍或减弱了方案的使用。v有仲裁的数字签名 可以解决直接数字签名中容易产生的发送者否认发送过某个信息的问题。数字仲裁方案一般都按以下方式进行:设定A想对数字消息签名,送达给B,C为A、B共同承认的一个可信赖仲裁者。第1步:A将准备发送给B的签名消息首先传递给C。第
18、2步:C对A传送过来的消息以及签名进行检验。第3步:C对经检验的消息标注日期,并附上一个已经过仲裁证实的说明。3.4 3.4 使用密码通信使用密码通信安全性包括数据安全性、通信安全性、信息安全性等,它们连成一条链子,整个系统的安全性取决于其中最脆弱的连接的安全性。每一个环节都必须安全:加密算法、协议、密钥管理和其他。一般的数据加密可以在通信的3个层次上实现:链路加密、节点加密和端到端加密链路加密、节点加密和端到端加密。3.4.1 3.4.1 通信信道加密通信信道加密 链路加密链路加密 定义:链路加密是传输数据仅在物理层前的数据链路层进行加密。接收方是传送路径上的各节点机,信息在每台节点机内都要
19、被解密和再加密,依次进行,直至到达目的地。特点:1)每一个经过的节点都必须有密码装置,以便解密、加密报文。2)包括路由信息在内的链路上的所有数据均以密文形式出现3)掩盖了被传输消息的源点与终点4)掩盖消息的频率和长度特性,从而可以防止对通信业务进行分析缺点:给网络的性能和可管理性带来了副作用3.4.1 3.4.1 通信信道加密通信信道加密 链路加密链路加密 缺点:1)链路加密通常用在点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使用一种链模式对链路上传输的数据进行加密,这就给网络的性能和可管理性带来了副作用。2)在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明
20、文形式存在,因此所有节点在物理上必须是安全的,否则就会泄露明文内容。3)密钥分配复杂3.4.1 3.4.1 通信信道加密通信信道加密 节点加密节点加密 节点加密在操作方式上与链路加密类似 相同点:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后进行加密。不同点:节点加密不允许消息在网络节点以明文形式存在 节点加密要求报送和路由信息以明文形式传输缺点:对于防止攻击者分析通信业务是脆弱的3.4.1 3.4.1 通信信道加密通信信道加密 端到端端到端加密加密 定义:数据在发送端被加密,在最终目的地(接收端)解密,中间节点处不以明文的形式出现。特点:1)消息在被传输时到达终
21、点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。2)只在发送端和最终端才有加、解密设备,中间任何节点不需要有密码设备3)价格便宜些,更可靠,更容易设计、实现和维护。4)避免了其他加密系统所固有的同步问题5)只能加密报文,而不能对报头加密;不能掩盖被传输消息的源点与终点,所以它对于防止攻击者分析通信业务是脆弱的。3.4.2 3.4.2 硬件加密与软件加密硬件加密与软件加密 软件加密软件加密 原理:软件加密一般是用户在发送信息前,先调用信息安全模块对信息进行加密,然后发送,到达接收方后,由用户使用相应的解密软件进行解密并还原。优点:灵活和可移动,易使用、
22、易升级缺点:速度慢、开销大和易于改动3.4.2 3.4.2 硬件加密与软件加密硬件加密与软件加密 硬件加密硬件加密 使用硬件加密的原因如下:1)速度上的优势 将加密移到专用芯片上,会使整个系统速度加快。2)安全性 硬件加密设备可以用防篡改盒安全地封装起来防止他人修改。电磁辐射有时会暴露设备中正在处理的东西。可以将加密盒子屏蔽起来,使得信息不致泄露。3.4.3 3.4.3 销毁信息销毁信息 1)在大多数计算机上删除一个文件时,该文件并没有真正被删除。删除掉的唯一东西就是磁盘索引文件的入口。2)虚拟内存技术意味着计算机可以随时将内存信息读/写到磁盘上3)为了删除某个文件,以使恢复软件不能读恢复的文
23、件,必须对磁盘上文件的所有位进行物理写覆盖。3.5 3.5 实验项目实验项目v实验项目4古典密码技术应用【实验目的】(1)实现简单的古典密码算法恺撒加密算法,并验证恺撒加密过程;(2)理解密码学的相关概念如明文、密文、加密密钥、解密密钥、加密算法和解密算法等。【实验内容】编写一段程序,实现古典密码技术中的恺撒密码,对选定的文字进行加密和解密,并完成实验报告的撰写。【实验要求】(1)按步骤完成实验报告的所有设计内容,并附上关键步骤的截图和程序主要部分的源代码;(2)记录实验结果,并对实验中出现的问题进行分析和总结。3.5 3.5 实验项目实验项目v实验项目5口令破解和加密软件的使用【实验目的】(1)提高对加密和解密原理的认识;(2)提高口令破解软件的使用能力;(3)提高安全软件使用意识和使用能力。【实验内容】(1)了解口令破解技术和口令破解常用方法,找到破解技术在现实中的应用;(2)加密和解密软件的安装、使用。【实验要求】(1)完成实验报告的所有设计内容,并附上关键步骤的截图。(2)记录实验结果。操作步骤参考教材P663.5 3.5 实验项目实验项目v实验项目6密码破解方法训练【实验目的】掌握各种环境下的密码破解方法【实验内容】尝试各种环境下的密码破解【实验要求】(1)完成实验报告的所有设计内容,并附上关键步骤的截图。(2)记录实验结果。具体训练内容参考教材P72主讲人: