Hash算法的研究及应用

来源 :湖北工业大学 | 被引量 : 0次 | 上传用户:dukewyh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
网络通讯已经被广泛的应用到现在的日常生活和工作中。但是,由于各种原因的存在,比如:黑客、病毒、网络不通畅等多种原因,导致在网络通讯中传输的文件缺失、被恶意修改甚至是感染病毒。而加密算法的应用,使网络通讯中传输的数据得到了一定程度的保障。 Hash算法是一种不可逆的加密算法,通过Hash算法可以对目标文件计算出一组校验码。在通讯中,通过对文件校验码的比较从而知道文件是否被改变。由于其算法的严苛性和不可逆性,从而使得文件在网络通讯中的传输会更安全。目前,基本上所有的压缩、防毒、文件下载软件都会用到Hash算法作为其文件校验的手段。不仅如此,在关系国家机密的文件同样会使用Hash算法作为文件保护的手段之一。 本文叙述了加密算法在网络通讯中的作用,重点分析了CRC32、MD5和SHA1这三种算法的原理,并通过C++代码加以实现。最后通过实际测试中对三种Hash算法的安全性、冲突性和算法的效率等若干指标的比较。发现,CRC32算法已经成熟,实现简单,但效率一般且安全性不高;MD5算法是目前最为成功的Hash算法之一,基本上没有被破解的可能,效率高,十分稳定,被很多高机密领域所采用。其自身也没有太过明显的缺点和漏洞;SHA-1算法安全性很强,但效率太低。所以,最终得出MD5算法从算法安全性、冲突性及效率等各方面综合考虑是最佳的选择。 但是,无论那种Hash算法都需要生成一个校验码用来对被检查的文件进行检查。考虑到项目的需求是不希望有多余的数据或者文件被传给数据接收者,最终选择了算法上不是太完满的CRC32算法。因为CRC32算法得到的校验码刚好和PE文件格式中的Win32VersionValue这个可选字段的长度一样。 最后选择出CRC32做为该项目中对文件检验的算法。将生成的文件摘要写入到文件的可选字段Win32VersionValue中,使校验码和被校验的文件更紧密的结合在一起,进一步的增加了文件被破解的概率。
其他文献
工作站网络(network of workstations NOW)和Internet工作站(workstation in Internet WII)已经成为传统高性能分布式计算环境的一个高效可行的替代方案,但NOW和WII都面临着有
企业资源计划(ERP)是20世纪90年代初在国外兴起的最先进的企业管理技术和方法之一,ERP系统以供应链管理作为其核心管理思想,支持集团化、跨地区、跨国界运行,其主要目的是将
在自然语言处理(NLP)中,词义消歧(WSD)一直是研究的重点和难点。它是一项“中间任务”,对于自然语言处理中的许多应用领域具有重要的理论和实践意义,包括机器翻译、信息检索
随着电信传输网络的不断发展,业务种类的不断增多,网络规模不断扩大,电信运营商越来越需要实时、准确地了解全网资源及资源的使用情况。对于国内大规模建设和应用的传送网,一般情
本文主要研究了基于L系统的公钥密码体制的重要特性在电子拍卖方面的应用。基于L系统的公钥密码体制通常又称作基于同态的迭代的公钥密码密码体制,是由Salomaa等人在1986年提
传统的视频压缩编码标准MPEG—1/2和H.26x都采用基于帧的技术,不要求对场景进行分割,它们能获得较高的压缩比,并在很多领域得到广泛的应用。随着多媒体信息的日益丰富,人们不再满足
支持向量机是目前比较流行的机器学习算法,可以较好地解决小样本、非线性和局部极小点等实际问题,并且能够高效地处理平衡数据集分类问题。然而,对于非平衡数据集,SVM产生的分类
医学数据可视化作为科学计算可视化应用最成功的领域,经过几十年的发展,已经从辅助诊断发展成为辅助治疗的重要手段,并将深入到医学的各个领域。体数据可视化(Volume Visualizat
学位
目前,嵌入式实时系统的广泛应用使得确保其正确性和可靠性成为当前的研究热点。MARTE(Modeling and Analysis of Real Time and Embedded systems)是UML在嵌入式实时系统领域的