版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、散列算法和Hash 函数赵润晓11(华中科技大学物理学院应用物理学1401班,武汉市中国430074摘要中本文介绍了散列算法和Hash 函数的原理、应用,尤其是在网络安全方面,着重研究了报文摘要方法、报文完整性确认方法。关键词散列算法;Hash 函数;报文摘要;MD5;1数据的散列1.1报文摘要网络安全是网络技术重要的一环,随着网络进入人们的日常生活,一方面淘宝等网上购物极大地改变了传统生活,另一方面货币的虚拟化也让不少犯罪分子有了可乘之机。网络安全是大学网络通识课的重要一章,其中现代密码学的种种精妙展现让不少读者激动万分,秘钥算法、报文摘要和数字签名既是网络安全问题下的产物,也体现了人类理性
2、的智慧1。报文摘要要求数据接受者可以较容易的核实报文是否被篡改。因此我们强烈要求一种映射(函数F ,对源报文M ,它应该具有如下特质2:1报文摘要F(M由映射和报文唯一给出,它应到长度小、能反映报文M 的全部信息。2当M 改变时,F(M也一定发生变化。3在计算上找不到以M,使得F(M=F(M.这样一来,满足上述要求的映射F 一旦被找到,那么数据接收方拿到M 和F(M就可以轻易地知道M 是否遭到了篡改。可是上述要求存在一些疑问,因为报文M 长度,是大大超过报文摘要的;那么根据抽屉原理,一定可以找到两个不同的报文,使得它们各自的报文摘要相同。其二,“计算上”得不到F(M=F(M,具体含义是什么?该
3、怎么实现?实际使用的报文摘要算法,散列函数到底是怎么满足上述要求的。1.2巨量数据的排序和检索3百度公司招聘时,曾有一道这样的面试题:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。,请你统计最热门的10个查询串,要求使用的内存不能超过1G 。当我们使用传统的排序时,会发现要经行如此巨量的数据处理,占用内存会达到2.8G 。如果可以运用某种关键词,将查询串映射为关键词,那么资源的利用率
4、就会大大增加。在最佳解答中,程序建立了一个哈希表,这是一个根据关键码值(Key value而直接进行访问的数据结构。数组的特点是寻址容易,插入和删除困难;而链表的特点是:寻址困难,插入和删除容易。而哈希表综合两者的特性,做出了一种寻址容易,插入删除也容易的数据结构。这是怎么做到的呢?1.3散列函数事实上以上两个应用都运用了数据的散列,这是通过散列算法实现的4。简单的散列算法很容易理解,例如:有5个数12,25,30,45,50,这几个数有个规律,就是十位数都不相同。如果我设置一个散列函数f (value =value/10;这样一来平常的时候,我们查找50,要比较5次(其他算法可能不同,这里用
5、散列算法只需要1次,就是解散列函数,key=50/10=5,要找的数就在第5个位子。但是上面散列的问题还是很多的,比如说查找55呢?就会出错“因为55解散列函数之后,也是在第5个位子”,这就叫做一个冲突。当你把散列函除法散列法 图1余数法散列图1是以除16的余数当作关键词所做的散列,可以看到有些关键词没有放入数据,而有的关键词又集中了多个数据,说明除法散列法“散列能力”不强。让数据先乘上一个与之数位相对应的斐波那契数,在进行散列,那么结果会好一些。如图2所示。 图2斐波那契散列以上的散列法都很容易构造冲突,也就是说,很容易找到一对数,他们的散列是相同的。而平方取值散列,找到的难度就提升了。我们
6、对于一个五位数,取其平方后的第4、5、6位的值,例如594262=3531449476,取144作为特征值或者摘要。这是因为平方后的数,中间几位的数值和源数字的每一位都相关,所以当源数据有改动时,特征值总会变化。那59426为例。每一数位变化1后的特征值如图表1,可以发现任何一个微小的变化都对摘要产生了极大的变化。这就得“计算上不可行”成为可行。4819969476996图表1微小的改变和极大地变化2Hash 函数2.1函数的特点Hash 函数是一类比较成熟的散列函数,例如MD5。Hash 函数主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。这些算法都是伪随机函数,任何杂凑值都是等
7、可能的。输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特的变化,将会导致输出比特串中大约一半的比特发生变化。在实际运用中,H 函数满足一下特点5:l 广适性。H 能够应用到大小不一的数据上。2规范性。H 能够生成大小固定的输出。3可操作性。对于任意给定的x ,H (x 的计算相对简单。4单向性。对于任意给定的代码h ,要发现满足H (x =h 的x 在计算上是不可行的。5抗撞击性。对于任意给定的块x ,要发现满足H (y =H (x 而y=x 在计算上是不可行的。一旦这样的Hash 被找到,那么网络安全中的完整性认证就不再是问题。2.2MD5下面介绍一种非常著名应用广泛的Hash 函数
8、。Message Digest Algorithm MD56(消息摘要算法第五版为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有MD5实现。将数据(如汉字运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5算法具有以下特点:1压缩性:任意长度的数据,算出的MD5值长度都是固定的。2容易计算:从原数据计算出MD5值很容易。3抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。4强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据是非常困
9、难的。MD5可以让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。2.3主流散列算法“破译”成功7MD5、SHA-1是当前国际通行的两大密码标准。据了解,MD5由国际著名密码学家图灵奖获得者兼公钥加密算法RSA的创始人Ronald L.Rivest 设计,SHA-1是由美国专门制定密码算法的标准机构美国国家标准技术研究院(NIST与美国国家安全局(NSA设计。两大算法是国际电子签名及许多其它密码应用领域的关键技术,广泛应用于
10、金融、证券等电子商务领域。其中,SHA-1早在1994年便为美国政府采纳,是美国政府广泛应用的计算机密码系统。但是这两项散列技术被中国科学家王小云相继“破译”。2004年8月,在美国加州圣芭芭拉召开的国际密码大会上,并没有被安排发言的王小云教授拿着自己的研究成果找到会议主席,要求进行大会发言。就这样,王小云在国际会议上首次宣布了她及她的研究小组的研究成果对MD5、HAV AL-128、MD4和RIPEMD等四个著名密码算法的破译结果。王小云的研究成果作为密码学领域的重大发现宣告了固若金汤的世界通行密码标准MD5大厦轰然倒塌,引发了密码学界的轩然大波。这次会议的总结报告这样写道:“我们该怎么办?
11、 MD5被重创了,它即将从应用中淘汰。SHA-1仍然活着,但也见到了它的末日。现在就得开始更换SHA-1了。”2005年2月7日,美国国家标准技术研究院发表申明,SHA-1没有被攻破,并且没有足够的理由怀疑它会很快被攻破,开发人员在2010年前应该转向更为安全的SHA-256和SHA-512算法。而仅仅在一周之后,王小云就宣布了破译SHA-1的消息。因为SHA-1在美国等国家有更加广泛的应用,密码被破的消息一出,在国际社会的反响可谓石破天惊。换句话说,王小云的研究成果表明了从理论上讲电子签名可以伪造,必须及时添加限制条件,或者重新选用更为安全的密码标准,以保证电子商务的安全。国际密码学家Len
12、stra利用王小云提供的MD5碰撞,伪造了符合X.509标准的数字证书,这就说明了MD5的破译已经不仅仅是理论破译结果,而是可以导致实际的攻击,MD5的撤出迫在眉睫。王小云说,SHA-1在理论上已经被破译,离实际应用也为期不远。3展望随着主流Hash函数的“破译”成功,报文完整性确认的研究似乎陷入了瓶颈,我认为这其中有两个出路。一是改进散列算法,加强抗冲击性,比如说将多个Hash函数的优点集中;二是放弃散列算法,转而开发更先进的完整性确认方法。致谢感谢李老师的课程,把我带入了计算机网络的世界。参考文献1Hu Bing,Jiang Min,Wu Xia.Basic introduction ab
13、out NetworkTechnology for college students.Publishing House of Electronics Industry,2013,9(in China(胡兵,江敏,吴霞.大学网络技术基础教程,2013Approach(4th Edition.China Machine Press,2009.3Ma Rulin,Jiang Hua,Zhang Qinghua,An Improving Approach forHash-Table Fast Search.Computer Engineering and Science.2008,30(9:66-684Luo Jianfeng.Hash-Table and Comparison of General SearchMechanism and Collision Solution.Shiyan Vocational Institute of Technology Journal.2007,20(5:96-98Approach(4th Edition.China Machine Press,2009.6R Rive
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度女方出轨导致婚姻破裂财产分割及子女抚养权离婚协议书2篇
- 2024年度中金大摩分手后战略调整咨询合同
- 2024年度城市公共区域绿化养护服务承揽合同8篇
- 2024年度员工竞业限制及竞业禁止合同3篇
- 2024年春季学期实习框架协议
- 2024年度上海浦东国际机场免税店经营合同2篇
- 2024年度智能工厂设计与建设总包合同
- 2024年度农民合作社入社服务合同3篇
- 2024年企业人力资源战略规划外包服务协议2篇
- 2024年度模板安置房项目公共设施设备租赁合同3篇
- Unit 5 Fantastic friends(习题教学设计) 2024-2025学年外研版(2024)七年级英语上册
- 2024住院患者静脉血栓栓塞症预防护理与管理专家共识要点(全文)
- 脊椎动物(鱼)课件-2024-2025学年(2024)人教版生物七年级上册
- 广西机场管理集团有限责任公司招聘笔试题库2024
- 2024秋季开学第一课巴黎奥运精神主题班会教案设计3篇
- Unit 2 We're Family教学设计2024年秋人教版新教材七年级英语上册
- 哈尔滨2024年黑龙江哈尔滨铁道职业技术学院招聘教师10人笔试历年典型考题及考点附答案解析
- 卫生院三定方案
- 健身行业中的数据隐私和安全
- 2024年山东德州日报社招聘备案制管理人员30人重点基础提升难、易点模拟试题(共500题)附带答案详解
- 2024年酒店全年营销日历
评论
0/150
提交评论