CMAC原理剖析

NOTE

  1. 可用于数据完整性校验和保证消息来源合法性,算法强度取决于分组算法强度、消息鉴别码长度以及消息鉴别算法
  2. 参考GB/T 15852.1-2008 信息技术 安全技术 消息鉴别码 第1部分:采用分组密码的机制
  3. MAC长度大于零并且小于等于密码算法分组长度
  4. 如果消息既需要加密有需要校验完整性,必须使用不同密钥进行运算
  5. 当前硬件厂商多是采用对称加密算法结合CBC模式实现,后取最后一块密文作为mac值

原理

  1. 消息填充:需要将消息填充到密码算法分组长度的整数倍
  2. 数据分割:按照密码算法分组长度切割
  3. 初始变换:获得一个初始值,类似cbc模式中iv值
  4. 迭代分组密码算法:对切割各分块进行密码运算
  5. 输出变化:对迭代密码算法结果进行处理,获得最完整mac值
  6. 截断操作:从左边截断指定长度数据作为mac值
  7. mac算法+填充方式=以上步骤

你可能感兴趣的:(密码学,密码学,mac)