消息消化,消息身份验证代码和HMAC有什么区别?
-
02-10-2019 - |
题
我对消息摘要的理解是,它是发送的一些数据以及加密数据的加密哈希,因此您可以验证数据尚未篡改。然后,此和消息身份验证代码(MAC)和Hash Mac(HMAC)有什么区别?
解决方案
- 消息Digest算法获取单个输入 - 一条消息 - 并产生“消息摘要”(又称哈希),该消息使您可以验证消息的完整性:消息的任何更改都将(理想情况下)导致不同的哈希被生成。可以替换消息和摘要的攻击者完全能够用新的有效对替换消息和消化。
- Mac算法采用两个输入 - 消息和一个秘密密钥 - 并生成一个Mac,该Mac允许您验证完整性 和 消息的真实性:消息的任何更改 或者 秘密密钥(理想情况下)将导致生成不同的MAC。没有任何访问秘密的人不应能够生成验证的MAC计算。换句话说,MAC可用于检查Mac是否是由可以访问秘密密钥的聚会生成的。
- HMAC算法只是一种特定类型的MAC算法,该算法在内部使用哈希算法(而不是加密算法)来生成MAC。
不隶属于 StackOverflow