消息认证码 (Message Authentication Code)
目录
消息认证码是经过特定算法后产生的一小段信息,检查某段消息的完整性,以及作身份验证。
Agreement
相关术语
1. Message Authentication Code(MAC)

基于Hash的消息认证码 / Hash-based Message Authentication Code(HMAC)
Intro
一种基于单向散列(Hash)实现的消息认证码。
Infer
基于密码的消息认证码 / Cipher-based Message Authentication Code(CMAC)
1. CBC-MAC
在密码学中,密码块链消息认证码(Cipher Block Chaining Message Authentication Code, CBC-MAC)是一种从密码块链构建消息认证码的技术,其链上的每个密码块都依赖于前一个密码块。
2. One-key MAC(OMAC)
OMAC是与CBC-MAC非常相似的一种基于加密块的消息认证码。它有两种算法,分别是OMAC1和OMAC2,除了细微的区别外基本相同,其中OMAC1(即CMAC)在2005年被美国国家标准与技术研究院(National Institute of Standards and Technology, NIST)推荐为标准。
CMAC算法的核心是Black和Rogaway提交给NIST的基于CBC-MAC派生的XCBC算法,它有效的解决了CBC-MAC的安全缺陷但是需要三个密钥。Iwata和Kurosawa改进后在论文中提出了One-Key CBC-MAC(即OMAC),在改进并补充安全分析后提交给NIST,作为OMAC1,亦即CMAC。
