zntsbkhhh的个人空间 https://www.eechina.com/space-uid-161533.html [收藏] [复制] [RSS]

博客

消息认证码与哈希算法的区别

热度 10已有 511 次阅读2021-8-11 09:09 |个人分类:1| 加密算法, 哈希算法


1Hash的定义

Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的理解就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

2MAC的定义

消息认证码(带密钥的Hash函数):密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。安全性依赖于Hash函数,故也称带密钥的Hash函数。消息认证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验。

 

(3)两者的区别

通过定义可以发现MAC是通过MAC算法++消息生成的MAC算法有很多种我们常用的Hash算法,MD5、SHA等。而用这些Hash算法作为MAC算法,通过计算得到的MAC,也就是HMAC,所以MAC与HMAC没有太大差别。

HashMAC的区别,Hash只能保证消息的完整性,MAC不仅能够保证完整性,还能够保证真实性。比如A想给B发送一条消息,A需要把消息内容和对应的消息摘要都发给B;B通过同样的摘要算法计算摘要可以知道消息是否被篡改。此时如果攻击者C将A发送的原始消息和摘要都篡改成新的消息和摘要,那么这个消息对B来说也是完整的,只不过不是A发的。MAC含有密钥这个种子(只有A和B知道),如果A将消息内容和MAC发给B,虽然C是仍然可以修改消息内容和MAC,但是由于C不知道密钥,所以无法生成与篡改后内容匹配的MAC。

 


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (20 个评论)

回复 sunxiang0506 2021-8-11 09:59
Hash和MAC哪种更安全可靠呢?
回复 tyl2010 2021-8-11 17:24
个人感觉应该是MAC更安全可靠吧  因为文中说到Hash只能保证消息的完整性,MAC不仅能够保证完整性,还能够保证真实性。
回复 kessy1 2021-8-11 17:34
MAC相对安全些,攻击者可以篡改消息内容,但无法生成与篡改后内容相匹配的MAC
回复 wang0327 2021-8-12 08:40
还有1个区别在于MAC通常有瞬时性的,即认证只在当时有效
回复 miniminimini 2021-8-12 10:43
Hash的特点是什么呢?
回复 zntsbkhhh 2021-8-12 14:51
算法是公开的,对相同数据运算,得到的结果是一样的;对不用数据运算,如MD5得到的结果都是32个字符长度的字符串;没法逆运算。
回复 xiaoyuhzou1228 2021-8-12 14:59
mac无法解决的问题有哪些?
回复 tyl2010 2021-8-12 17:07
消息认证码中由于发送者和接收者共享相同的密钥,因此会产生无法对第三方证明以及无法防止否认等问题。
回复 Test_wf 2021-8-12 20:57
Hash与MAC可以同时应用在一起吗?
回复 wang0327 2021-8-13 08:56
可以一起用,Hash只能保证消息的完整性,MAC不仅能够保证完整性,还能够保证真实性,MAC更像是一种加密算法,对数据传输时不被篡改进行了保护
回复 sunxiang0506 2021-8-13 09:06
楼主能再讲的详细一点吗?MAC怎么是带密钥的hash函数呢?
回复 ?-о 2021-8-13 09:29
其实消息认证码MAC是带密钥的,构造方法上通常基于Hash算法,比如HMAC。MAC码也 可以看作是带密钥的Hash函数。
回复 QL87 2021-8-13 14:41
不错学习了,讲的比较清晰,哈希算法作为其他复杂算法的中间层用的还是非常多的。
回复 xiaoyuhzou1228 2021-8-13 14:54
也就是说MAC可以同时保证完整性和认证,很不错分享。
回复 小屁孩123 2021-8-13 17:14
这样做是很安全了,但是,是不是操作难度和繁琐程度提高了啊?
回复 Test_wf 2021-8-13 21:22
从文中来看,MAC实用又安全
回复 kessy1 2021-8-16 09:23
哈希算法技术好先进,相信在各个领域运用都有安全保障
回复 miniminimini 2021-8-16 09:28
看来MAC还是比较重要的,那么请问加密芯片哪家好?性价比更高呢、
回复 ?-о 2021-8-16 10:10
楼上上网搜一下LKT吧,国产芯片他家性价比还是很高的。
回复 QL87 2021-8-16 16:39
是的,凌科家芯片你们可以试试,有一对一的技术服务,专业做加密芯片十余年呢。

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部