转: MAC认证码的说明

Posted 跬步者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转: MAC认证码的说明相关的知识,希望对你有一定的参考价值。

转: http://blog.sina.com.cn/s/blog_4940e1fc01012vk3.html

 

MAC(Message Authentication Code)

消息认证码(带密钥的Hash函数):密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具。构造方法由M.Bellare提出,安全性依赖于Hash函数,故也称带密钥的Hash函数。消息认证码是基于密钥和消息摘要所获得的一个值,可用于数据源发认证和完整性校验。
        在发送数据之前,发送方首先使用通信双方协商好的散列函数计算其摘要值。在双方共享的会话密钥作用下,由摘要值获得消息验证码。之后,它和数据一起被发送。接收方收到报文后,首先利用会话密钥还原摘要值,同时利用散列函数在本地计算所收到数据的摘要值,同时利用散列函数在本地计算所收到数据的摘要值,并将这两个数据进行比对。若两者相等,则报文通过认证。
技术分享

 
  消息验证码有两种计算方式,一种是利用已有的加密算法,如DES等直接对摘要值进行加密处理;另一种是使用专门的MAC算法。目前,信息安全领域普遍认同的算法是HMAC,它基于MD5或者SHA-1,在计算散列值时将密钥和数据同时作为输入,并采用了二次散列迭代的方式,实际计算方法如下:
 
  HMAC(K,M)=H(K⊕opad∣H(K⊕ipad∣M))
 
  其中K是密钥,长度应为64字节,若小于该长度,则自动在密钥后面用“0”填充补足。M是消息;H是散列函数;opad和Ipad分别是由若干个0x5c和0x36组成的字符串;⊕表示异或运算,∣表示连接操作。


以上是关于转: MAC认证码的说明的主要内容,如果未能解决你的问题,请参考以下文章

密码学初级教程(五)消息认证码MAC-Message Authentication Code

图解密码技术------第8章 消息认证码

[转]统一身份认证(CAS)简单说明与设计方案

Reddit系统被黑:基于短信验证码的双因素认证并不安全

MAC认证是啥,MCP认证又是啥

MAC认证和MAC旁路认证