aes128 cmac
时间: 2023-08-11 22:09:05 浏览: 102
AES128 CMAC是一种加密算法,它结合了AES128加密算法和CMAC(Cipher-based Message Authentication Code)消息认证码。它可以用于对数据进行加密和认证,以保护数据的机密性和完整性。具体来说,AES128 CMAC使用AES128加密算法对数据进行加密,然后使用CMAC算法对加密后的数据进行认证,以确保数据没有被篡改或伪造。这种算法在安全通信、数字签名等领域得到了广泛应用。
相关问题
AES128cmac
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可以应用的算法。
AES128CMAC算法
AES128CMAC算法是一种基于AES算法的消息认证码算法,它可以在保证消息完整性的同时,防止篡改和重放攻击。具体实现方式是对消息进行AES加密,并通过CMAC(Cipher-based MAC)算法生成一个固定长度的校验值。
具体步骤如下:
1. 对消息进行填充,使其长度是AES分组长度的整数倍(通常是16字节)。
2. 将填充后的消息分组,最后一组不足一个分组长度则需要填充。
3. 初始化一个空的128位缓冲区,并使用AES算法加密第一个分组得到结果。将此结果作为下一次AES加密的输入。
4. 对接下来的所有分组使用AES算法进行加密,并将结果与前面得到的结果异或,得到最终的校验值。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)