HMAC

Hash-based Message Authentication Code

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

HMAC的设计目标

  1、可以直接使用现成的Hash函数

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

  3、能够保持Hash函数的原有性能,不能过分降低其性能

  4、对密钥的使用和处理应较简单

  5、如果已知嵌入的Hash函数的强度,完全可以知道认证机制抗密码分析的强度

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

HMAC算法

  

  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函数的安全强度。

  

 

转载于:https://www.cnblogs.com/block2016/p/5635111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值