AES128cmac
时间: 2023-09-22 20:04:47 浏览: 179
AES-128 CMAC
5星 · 资源好评率100%
AES128-CMAC是一种基于AES算法的消息认证码。它的计算步骤如下:
1. 首先,将待计算MAC的消息分为多个128位的block。如果消息长度不是128位的倍数,需要进行填充。
2. 然后,对每个block进行加密。使用AES算法,将128位的block加密得到加密后的结果L。
3. 接下来,根据L的最高位来计算子秘钥K1。如果L的最高位为0,那么K1等于L左移1位;如果L的最高位为1,那么K1等于(L左移1位)异或Rb,其中Rb是一个固定值。
4. 然后,根据K1的最高位来计算子秘钥K2。如果K1的最高位为0,那么K2等于K1左移1位;如果K1的最高位为1,那么K2等于(K1左移1位)异或Rb。
5. 最后,将加密后的所有block进行异或,并将结果作为MAC输出。
需要注意的是,AES128-CMAC与AES加密的区别在于对最后一个block的处理方式。此外,AES128-CMAC的MAC计算使用的key与加密使用的key是相同的。而CMAC可以应用的算法主要有AES、DES、3DES等。
提供了AES128-CMAC的计算步骤和子秘钥的计算方法。
提供了CMAC的背景和CMAC可以应用的算法。
阅读全文