`

MD5和SHA1的区别

阅读更多
摘自:http://wenda.chinabaike.com/z/shenghuo/20131226/730201.html

一、由来
        随着信息技术和Internet 的迅速发展,信息安全和可靠性问题越来越重要。现在信息安全面临两大基本攻击:被动式攻击(获取消息的内容、业务流分析)和主动攻击(假冒、消息的篡改、业务拒绝)。前者主要靠加密和解密技术进行有效处理,而后者就要靠消息认证来处理。在金融交易、电子商务、电子信件、手机用户信息的确认等领域,数据完整性确认和数据来源的真伪鉴定都是很重要的安全服务。实现这些安全服务的最好方法就是使用加密函数中的单项散列(Hash)函数。单项散列(Hash)函数是一种单项密码体制,它是一个从明文到密文的不可逆函数,也就是说,是无法解密的。通常应用在只需要加密、不需要解密的特殊应用场合。单项散列(Hash)函数H(M)作用于一任意长度的消息M,它返回一固定长度的散列值h:h=H(M)作为初始消息的独一无二的“数字指纹”,从而能保证数据的完整性和惟一性。

二、MD5 与SHA-1 的比较
        由于MD5 与SHA-1均是从MD4 发展而来,它们的结构和强度等特性有很多相似之处,表(1)是对MD5 与SHA-1 的结构比较。SHA-1与MD5 的最大区别在于其摘要比MD5 摘要长 32 比特。对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度:MD5 是2128 数量级的操作,SHA-1 是2160 数量级的操作。产生具有相同摘要的两个报文的难度:MD5是 264 是数量级的操作,SHA-1 是280 数量级的操作。因而,SHA-1 对强行攻击的强度更大。但由于SHA-1 的循环步骤比MD5 多(80:64)且要处理的缓存大(160 比特:128 比特),SHA-1 的运行速度比MD5 慢。

三、结束语
        MD5 和SHA-1 是单项散列函数的典型代表,它们广泛地应用在信息安全和数字签名等各个领域。从而有效地抗击了信息的主动式攻击,本文基于AVR 单片机实现了这两种算法,并结合汇编语言尽心了优化,取得了较好的效果。根据信息安全的要求的不同层次可以灵活选择这两种算法从而达到实际目的。

              MD5与SHA-1的比较
MD5SHA-1
分组长度 512bit 512bit
摘要长度 128bit 160bit
循环中的步骤 64 80
报文最大长度 无穷大 2^64-1
基本逻辑函数 4 4
结构行书 Litte-endian Big-endian

分享到:
评论

相关推荐

    MD5和SHA1校验码验证器

    MD5和SHA1校验码验证器 用于验证软件的MD5和SHA1值是否正确。

    md5+sha1摘要校验工具

    在IT领域,数据完整性与安全性至关重要,而md5和sha1就是两种常见的校验和算法,用于验证文件是否被篡改或损坏。本工具提供了一种便捷的方式,通过CMD(命令行)操作来计算文件的md5和sha1摘要值。 MD5(Message-...

    MD5 SHA1 SHA256 的C语言源码

    MD5(Message-Digest Algorithm 5)、SHA1(Secure Hash Algorithm 1)和SHA256(Secure Hash Algorithm 2,256位版本)是常见的哈希函数,用于生成固定长度的数字指纹,常用于数据完整性校验、密码存储等领域。...

    MD5和SHA1的比较程序

    MD5和SHA1是两种广泛使用的哈希函数,它们在信息安全领域扮演着重要角色,主要用于数据完整性校验和密码存储。下面将详细讲解这两种算法及其比较。 MD5(Message-Digest Algorithm 5)是由麻省理工学院的Ronald ...

    MD5值和SHA1值

    MD5(Message-Digest Algorithm 5)和SHA1(Secure Hash Algorithm 1)都是常见的哈希函数,广泛应用于数据的完整性校验和密码存储。在IT行业中,它们被用来确保文件或代码未被篡改,因为哈希函数可以将任意长度的...

    微软官方md5/sha1校验工具(命令行)

    MD5(Message-Digest Algorithm 5)和SHA1(Secure Hash Algorithm 1)是两种广泛使用的散列函数,它们可以将任意大小的文件转化为固定长度的唯一数字指纹,如果文件内容有任何改变,其对应的哈希值也会发生变化。...

    MD5和SHA1的算法

    MD5(Message-Digest Algorithm 5)和SHA1(Secure Hash Algorithm 1)是两种广泛应用于数据完整性验证和信息安全领域的哈希(HASH)算法。它们的主要功能是将任意长度的数据转化为固定长度的摘要值,这个摘要值具有...

    Hash函数MD5与SHA-1算法实现

    MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种广泛使用的哈希函数,它们在信息安全领域扮演着至关重要的角色。哈希函数是一种将任意长度的数据转换为固定长度输出的函数,这个输出...

    win10 计算文件的MD5/SHA1/SHA256的工具 快速

    在Windows 10操作系统中,计算文件的MD5、SHA1和SHA256校验值是一项重要的任务,尤其在验证文件的完整性和安全性时。这些校验算法提供了对文件内容的一种数学摘要,使得我们可以检查文件是否在传输或存储过程中被...

    微软官方md5/sha1校验工具

    通过命令行方式生成或校验文件的md5或sha1。部分网友反应windows 7下不可用。通过命令行方式生成或校验文件的md5或sha1。部分网友反应windows 7下不可用。通过命令行方式生成或校验文件的md5或sha1。部分网友反应...

    文件检验工具(MD5,SHA1,CRC32)

    在本主题中,我们将深入探讨MD5、SHA1和CRC32这三种常见的文件检验方法。 1. **MD5(Message-Digest Algorithm 5)**: - MD5是一种广泛使用的哈希函数,由Ronald Rivest于1991年设计。它能够将任意长度的输入(也...

    哈希算法MD5与SHA-1实现与比较

    1实现与比较"文件可能包含了这两种算法的具体实现代码,通过对比这些代码,可以了解它们在细节上的异同,例如,压缩函数的结构和参数可能会有所不同,MD5的四轮操作与SHA-1的八轮操作的实现会有明显的区别。...

    MD5-SHA1-SHA256算法C源码

    MD5、SHA1和SHA256是三种广泛使用的散列函数,它们在信息安全领域扮演着重要的角色。本文将深入探讨这些算法的原理、实现以及C语言中的应用。 首先,MD5(Message-Digest Algorithm 5)是由Ronald Rivest在1991年...

    js实现SHA1和MD5加密

    JavaScript是一种广泛用于...在提供的"js实现SHA1和MD5加密.txt"文件中,可能包含了如何在JavaScript环境中使用特定库或自定义函数实现SHA1和MD5加密的示例代码,这可以帮助开发者快速地在自己的项目中集成这些功能。

    MD5&SHA1数字签名

    MD5和SHA1是两种广泛使用的哈希函数,在IT领域,特别是网络安全和数据完整性验证方面扮演着重要角色。本文将详细介绍这两种数字签名技术以及如何利用CryptoAPI在C#环境中实现它们。 首先,MD5(Message-Digest ...

    MD5加密和SHA1加密 c/s

    MD5(Message-Digest Algorithm 5)和SHA1(Secure Hash Algorithm 1)是两种广泛使用的散列函数,主要用于数据的完整性验证和密码存储。在C/S(客户端/服务器)架构中,这两种加密方法通常被用于确保数据传输的安全...

    三种哈希算法的函数: sha256 md5 sha1

    在这个主题中,我们主要关注三种哈希算法:SHA256、MD5和SHA1。这些算法都是将任意长度的数据转换为固定长度的摘要,具有单向性和抗碰撞性。 1. **MD5(Message-Digest Algorithm 5)** - **简介**:MD5由Ronald ...

    md5 SHA1校验工具

    MD5和SHA1是两种广泛使用的哈希函数,它们在IT行业中主要被用来验证文件的完整性和一致性。这两种校验工具对于确保数据未被篡改、保护系统安全以及验证程序的原始状态至关重要。 MD5(Message-Digest Algorithm 5)...

    微软官方md5sum和sha1sum工具

    标题中的“微软官方md5sum和sha1sum工具”指的是微软提供的一套用于计算文件校验和的程序,包括md5sum和sha1sum。在IT领域,文件校验和是一种验证文件完整性和未被篡改的方法。这些工具在下载大文件、软件安装包或者...

Global site tag (gtag.js) - Google Analytics