
文章目录
1. 什么是CMAC?为什么需要它?
CMAC全称为Cipher-based Message Authentication Code(基于密码的消息认证码),是一种基于对称加密算法生成消息认证码的技术。简单来说,它就像数据的"数字指纹",可以验证消息在传输过程中是否被篡改,并确认消息来源的真实性。
与传统的哈希算法(如MD5、SHA)不同,CMAC使用密钥来生成认证码,这意味着只有持有相同密钥的双方才能生成和验证这个"指纹"。在汽车电子、物联网等安全敏感领域,这种特性尤为重要。
2. AES-128 CMAC算法原理
2.1 基本概念
AES-128 CMAC结合了AES加密算法(128位密钥)和CMAC认证模式。它按照NIST SP 800-38B标准构建,提供了高效且安全的认证机制。
2.2 工作原理详解
CMAC的核心过程类似于一场精心设计的接力赛,其中每个数据块都会与前一个加密结果混合后再加密,形成链式结构。这种设计使得即使改变输入中的一个比特,最终结果也会截然不同,提供了强大的安全性。
核心步骤
- 子密钥生成 - 算法的"秘密武器"
CMAC使用两个子密钥K1和K2来处理最后的数据块。生成过程如下:

订阅专栏 解锁全文
1714

被折叠的 条评论
为什么被折叠?



