在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5256|回复: 20

[原创] 加密芯片——消息认证码与哈希算法的区别

[复制链接]
发表于 2021-8-10 09:20:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
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。
发表于 2021-8-11 10:03:38 | 显示全部楼层
Hash和MAC哪种更安全可靠呢?
发表于 2021-8-11 11:49:45 | 显示全部楼层
个人感觉应该是MAC更安全可靠吧,因为文中说到Hash只能保证消息的完整性,MAC不仅能够保证完整性,还能够保证真实性。
头像被屏蔽
发表于 2021-8-11 13:04:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
发表于 2021-8-11 14:19:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-8-11 17:14:05 | 显示全部楼层
Hash的特点是什么呢?
 楼主| 发表于 2021-8-11 17:19:27 | 显示全部楼层
算法是公开的,对相同数据运算,得到的结果是一样的;对不用数据运算,如MD5得到的结果都是32个字符长度的字符串;没法逆运算。
发表于 2021-8-11 17:26:22 | 显示全部楼层
mac无法解决的问题有哪些?
头像被屏蔽
发表于 2021-8-12 09:30:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-8-12 11:47:47 | 显示全部楼层
Hash与MAC可以同时应用在一起吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-5 08:12 , Processed in 0.025386 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表