HMAC

Hash-based Message Authentication Code算法

HMAC是IP安全里必须实现的MAC方案,而且其余Internet协议中(如SSL)也使用了HMAC。HMAC已做为NIST标准发布。安全

HMAC的设计目标函数

  一、能够直接使用现成的Hash函数性能

  二、很容易用更好地Hash函数替代原来嵌入的Hash函数优化

  三、可以保持Hash函数的原有性能,不能过度下降其性能spa

  四、对密钥的使用和处理应较简单设计

  五、若是已知嵌入的Hash函数的强度,彻底能够知道认证机制抗密码分析的强度blog

正是HMAC的这些设计目标保证了HMAC的灵活性、可用性和扩展性,从而获得了普遍的支持。ip

HMAC算法io

  

  HMAC描述以下:

    HMAC(K , M) = H[(K+opad) || H[(K+ipad) || M]]

  这种结构对于长消息,其执行时间与嵌入的Hash函数差很少,但不适合消息大多较短的状况。这种状况下则会使用以下结构进行优化。

    

  其中f(IV,S)是Hash函数的压缩函数,其输入是n位的初始变量和b位的分组,输出是n位的连接变量。

HMAC的安全性

  已证实,对Hash函数有效的生日攻击并不一样样对HMAC有效,缘由在于Hash函数的输入(IP和M)都彻底已知,而HMAC的输入受K的影响并不彻底可知,所以能够抵抗生日攻击。

  HMAC对于穷举攻击等其余攻击也保持了Hash函数的安全强度。

相关文章
相关标签/搜索