当前位置:   article > 正文

CMAC计算步骤

cmac计算

CMAC(Cipher-based Message Authentication Code)是一种基于密码算法的消息认证码,它可以提供消息完整性和身份验证,常用于加密通信中。

CMAC 的计算方法如下:

初始化:选择一个合适的密钥 K,然后对密钥进行预处理。预处理过程中会使用两个子密钥 K1 和 K2,用于后续计算。

填充:将消息按照加密块的长度进行填充,使其长度为加密块长度的整数倍。填充方式可以选择 ISO/IEC 9797-1 Padding Method 2 或者 PKCS#5/PKCS#7 等标准的填充方式。

分块:将填充后的消息按照加密块的长度进行分块。

计算中间值:对于最后一个消息块,如果长度等于加密块的长度,则需要额外进行一次 XOR 运算。然后,将这个块和 K1 进行异或运算,得到中间值 M。

计算 CMAC:对于每个消息块,都需要进行以下步骤:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

a. 将消息块和中间值 M 进行异或操作,得到结果 R。

b. 使用密钥 K 对 R 进行加密,得到结果 C。

c. 将 C 作为下一个消息块的中间值 M。

输出结果:当所有消息块都计算完成后,将最后一个结果 C 输出作为 CMAC。
  • 1

在 CMAC 的计算过程中,预处理密钥是必须的,它会生成两个子密钥 K1 和 K2。这两个子密钥的作用是用于计算最后一个消息块的中间值 M 和将每个消息块与中间值进行异或操作。对于不同的加密算法,预处理密钥的生成方式也不同,例如对于 AES 算法,需要进行密钥扩展和选择子密钥的过程。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51949
推荐阅读
相关标签
  

闽ICP备14008679号