博客专栏

EEPW首页>博客> 消息认证码与哈希算法的区别

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

发布人:hanini 时间:2021-08-10 来源:工程师 发布文章

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

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。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

三相变压器相关文章:三相变压器原理
热式质量流量计相关文章:热式质量流量计原理
流量计相关文章:流量计原理
热保护器相关文章:热保护器原理


关键词:加密算法

相关推荐

技术专区

关闭