计算机网络中的HMAC算法

HMAC算法 代表哈希或基于哈希的 消息身份验证码 。这是开发一个从加密哈希函数派生的MAC的工作成果。HMAC对密码分析攻击有很大的抵抗力,因为它两次使用哈希概念。HMAC具有哈希和MAC的双重优点,因此比任何其他身份验证代码都更安全。RFC 2104发布了HMAC,HMAC被强制在IP安全中实施。FIPS 198 NIST标准也发布了HMAC。

null

目标——

  • 作为散列函数,HMAC的目标也是单向的,即易于从输入生成输出,但反过来又很复杂。
  • 它的目标是比哈希函数受冲突的影响小。
  • HMAC重用MD5和SHA-1等算法,并检查以更安全的哈希函数替换嵌入的哈希函数,以防发现错误。
  • HMAC试图以更简单的方式处理按键。

HMAC算法- HMAC的工作从获取包含长度块的消息M开始 B 位。一个输入签名被填充到消息的左侧,整个签名被作为一个哈希函数的输入,该函数为我们提供一个临时消息摘要MD’。MD’再次附加到输出签名,整个签名再次应用哈希函数,结果是我们的最终消息摘要MD。

以下是HMAC的简单结构:

图片[1]-计算机网络中的HMAC算法-yiteyi-C++库

这里,H代表散列函数, M是原始信息 Si和So分别是输入和输出签名, Yi是原始消息M中的第I个块,其中I的范围为[1,L] L=以M为单位的块数 K是用于散列的密钥 IV是一个初始向量(一些常数) 输入签名和输出签名的生成 所以 分别地

图片[2]-计算机网络中的HMAC算法-yiteyi-C++库

HMAC向普通哈希函数中添加了一个压缩实例。这种结构化实现对于较短的MAC值保持了效率。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享