通过基于AES算法CMAC生成MAC流程
时间: 2023-12-23 18:14:14 浏览: 256
AES加密算法以及MAC生成
4星 · 用户满意度95%
生成MAC的流程如下:
1. 确定密钥:需要一个128位的密钥K。
2. 对数据进行填充:要求数据的长度必须是128位的整数倍,如果不是,则需要进行填充。填充的方式为最后一个分组不足128位时,将其填充为128位,填充方式为在末尾加上一个1,然后用0填充到末尾。
3. 计算XOR值:将填充后的数据按128位分组,将第一个分组与K进行XOR运算,得到结果Y0。
4. 加密:对Y0进行AES加密,得到结果Y1。
5. 循环计算:将Y1与下一个分组进行XOR运算,得到结果Y2,然后再对Y2进行AES加密,得到结果Y3,以此类推,直到处理完所有分组。
6. 计算MAC:处理完所有分组后,将最后一个结果Yn与K进行XOR运算,得到结果Z,再对Z进行AES加密,得到MAC值。
7. 输出MAC:将MAC值输出。
这就是基于AES算法CMAC生成MAC的流程。
阅读全文