AES-CMAC的计算结果
时间: 2024-08-29 22:01:50 浏览: 93
AES-CMAC c语言实现编程
AES- Cipher-based Message Authentication Code)是一种利用AES(高级加密标准)作为核心的认证码算法。它主要用于保护数据完整性,而不是加密消息本身。计算过程通常包括以下步骤:
1. 首先,选取一个固定的128位初始化向量(IV),通常不参与加密但会在验证过程中公开。
2. 使用相同的AES密钥对输入数据进行AES-ECB(电子密码本模式)加密,但是只取加密后的最后一个块(Cipher Block)。
3. 这个最后一个块会经过一个CMAC操作,通常是使用非线性的混淆函数(如S-boxes)和异或运算。
4. CMAC的结果是一个固定长度(例如16字节或256比特)的认证码。
AES-CMAC的计算结果是一个密文形式的校验码,它是对原始数据的一种紧凑表示,能够验证数据在传输过程中是否被篡改。接收方只需使用同样的密钥和初始化向量,再执行相同的AES-CMAC计算,对比两个结果是否一致,就可以确认数据的完整性和发送者的身份。
阅读全文