《网络信息安全技术密码技术.ppt》由会员分享,可在线阅读,更多相关《网络信息安全技术密码技术.ppt(59页珍藏版)》请在第壹文秘上搜索。
1、第二章 密码技术2.1 引言2.2 对称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结1, 2第二章 密码技术2.1 引言2.2 对称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结3456对称密码算法基本原理78 910111213 14151617181920第二章 密码技术2.1 引言2.2 对称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结212223非对称密码算法基本原理非对称密码算法基本原理2425262728293031323334第二章 密码技术2.1 引言2.2 对
2、称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结35363738394041424344454647第二章 密码技术2.1 引言2.2 对称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结48为了防止数据在传输过程中被篡改,通常使用单为了防止数据在传输过程中被篡改,通常使用单项散列函数对所传输的数据进行散列计算,通过项散列函数对所传输的数据进行散列计算,通过验证散列值确认数据在传输过程中是否被篡改。验证散列值确认数据在传输过程中是否被篡改。为了保护数据的完整性,发送者首先计算所为了保护数据的完整性,发送者首先计算所发送数
3、据的检查和,并使用发送数据的检查和,并使用Hash函数计算该检查函数计算该检查和的散列值,然后将原文和散列值同时发送给接和的散列值,然后将原文和散列值同时发送给接收者。接收者使用相同的算法独立地计算所接收收者。接收者使用相同的算法独立地计算所接收数据的检查和及其散列值,然后与所接收的散列数据的检查和及其散列值,然后与所接收的散列值比较。若两者不同,则说明数据被改动。值比较。若两者不同,则说明数据被改动。49F当Hash函数H(M)作用于一个任意长度的消息M时,将返回一个固定长度m的散列值,即h=H(M)。Hash函数具有以下性质:函数具有以下性质:1.给定一个消息M,很容易计算出散列值h.2.
4、给定散列值h,很难根据H(M)=h计算出消息M.3.给定一个消息M,很难找到另一个消息M且满足H(M)=H(M).实际中,Hash函数建立在压缩函数的基础上。对于一个长度为m的输入,Hash函数将输出长度为n的散列值。压缩函数的输入是消息分组的前一轮输出。分组Mi的散列值hi为:hi=f(Mi,hi-1).该散列值和下一轮消息分组一起作为压缩函数的下一轮输入,最后一个分组的散列值就是整个消息的散列值。50(1)Message Digest (MD)系列系列F MD系列是由国际著名密码学家图灵奖获得者兼公钥加密算法RSA的创始人Rivest设计,。51(2)SHA(Security Hash A
5、lgorithm)系列系列F 由美国专门制定密码算法的标准机构NIST和NSA(国家安全局),在1993年,在MD5基础上首先提出SHA-0,1995年SHA-1被提出(即美国的FIPS PUB 180-1标准),消息散列为160位。现今现今SHA-1作为作为DSA数字签名的标准,在数字签名的标准,在2003年,相继对年,相继对SHA系列算法进行扩展,提出系列算法进行扩展,提出SHA-256、SHA-384、SHA-512。52(3)MAC(Message Authentication Code)MAC(Message Authentication Code)算法算法MAC是一种与密钥相关的单
6、项散列函数,称为消息鉴别码。MAC包括一个密钥,只有拥有相同密钥的人才能鉴别这个散列,实现消息的可鉴别性。MAC既可用于验证多个用户之间数据通信的完整性,也用于单个用户鉴别磁盘文件的完整性。将单向散列函数转换成MAC可以通过对称加密算法加密散列值来实现,将MAC转换成单向散列函数只需将密钥公开即可。53(4)(4)其它散列算法其它散列算法F HAVAL可以用来实现可图性判定,RIPEMD-128、RIPEMD-160是欧洲是欧洲MD5和和MD4算法的研究者提出的替代算算法的研究者提出的替代算法,法,Tiger算法主要是设计思想是在算法主要是设计思想是在64位位和和32位计算机上能够很好的使用位
7、计算机上能够很好的使用Hash算算法。法。54比较55MD5曾经是最广泛的摘要算法,但自从在美国加州圣巴巴拉召开的国际密码学会议(Crypto2004)山东大学的王小云教授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,囊括了对MD5、HAVAL-128、 MD4和RIPEMD四个著名HASH算法的破译结果。 王小云的研究成果表明了从理论上讲电子签名可以伪造,必须及时添加限制条件,或者重新选用更为安全的密码标准,以保证电子商务的安全。562007年,年,Marc Stevens,等人等人进一步指出通过伪进一步指出通过伪造软件签名,可重复性攻击造软件签名,可重复性攻击MD5
8、算法;算法;2008年,年,荷兰埃因霍芬技术大学科学家成功把荷兰埃因霍芬技术大学科学家成功把2个可执行个可执行文件进行了文件进行了MD5碰撞,使得这两个运行结果不同碰撞,使得这两个运行结果不同的程序被计算出同一个的程序被计算出同一个MD5;同年同年12月一组科研月一组科研人员通过人员通过MD5碰撞成功生成了伪造的碰撞成功生成了伪造的SSL证书,证书,这使得在这使得在https协议中服务器可以伪造一些根协议中服务器可以伪造一些根CA的签名,因此的签名,因此MD5散列算法已不安全,不再推荐散列算法已不安全,不再推荐使用。使用。57第二章 密码技术2.1 引言2.2 对称密码算法2.3 非对称密码算法2.4 数字签名算法2.5 单向散列函数2.6 章小结58本章总结F密码学是信息安全的基础。F密码算法主要用于实现数据保密性、数据完整性、以及抗抵赖性等安全机制。F一个安全协议或安全系统中可能需要提供多种安全机制和服务,这些安全服务使用单一的密码算法是难以实现的,需要将多种密码有机地组合成一个混合密码系统来实现。F一般情况下,算法的安全性和处理开销成正比。F密码算法有硬件和软件两种实现方法,硬件实现方法不仅速度快,并且安全性更高。59