CCM模式
CCM 模式(带有密文分组链接消息验证码的计数器模式;带有CBC-MAC 的CTR模式)是块密码的一种工作模式。它是一种认证加密,旨在提供身份验证和机密性。 CCM 模式仅针对分组长度为 128 位的分组密码定义。 [1] 必须谨慎选择 CCM 的随机数,以免对同一个密钥重复使用。这是因为 CCM 是计数器 (CTR) 模式的派生,而后者实际上是一种流密码。 [2] 加密与认证顾名思义,CCM 模式结合了用于加密的计数器 (CTR) 模式和用于身份验证的密码块链消息身份验证码 (CBC-MAC) 。这两个原语以“先验证后加密”(MAC then Encrypt, MtE)的方式应用:首先对消息计算 CBC-MAC,以获得消息验证码 (MAC) ,然后使用计数器模式对消息和 MAC 进行加密。主流观点认为,只要加密中使用的计数器值不与身份验证中使用的(预)初始化向量冲突,就可以将相同的加密密钥用于两者。基于底层分组密码的安全性,该组合存在可证明安全性[3] 。该证明还适用于任何块大小以及任何大小的强加密伪随机函数的 CCM 推广(因为在计数器模式和 CBC-MAC 中,块密码仅在一个方向上使用)。 CCM 模式由Russ Housley 、Doug Whiting 和Niels Ferguson设计。在开发 CCM 模式时,Russ Housley 在RSA 实验室工作。 Zigbee标准中使用了 CCM 的一个微小变体,称为 CCM*。 CCM* 包括 CCM 的所有功能,还提供仅加密功能。 [4] 性能CCM 需要对认证加密信息的每个块进行两次分组密码加密操作,并对关联的经过验证的数据的每个块进行一次加密。 根据Crypto++基准测试,AES CCM 在 32 位模式下的Intel Core 2 处理器上的运行效率为每字节28.6周期。 [5] 效率问题:
专利偏移码本 (OCB) 模式的提交推动了 CCM 模式的发展与纳入IEEE 802.11i标准。由于该 OCB 正在申请专利,因此有人反对加入 OCB 模式。对于标准的实施者而言,包含专利算法意味着许可复杂性的增加。 虽然基于这些知识产权问题对 OCB 模式的纳入存在争议,但人们一致认为,简化认证加密系统是可取的。因此Housley等人开发了 CCM 模式,作为不受专利阻碍的潜在替代方案。 尽管 CCM 模式的效率略低于 OCB 模式,但相比之下,无专利解决方案比因专利许可问题而复杂化的解决方案更可取。因此,CCM 模式继续成为 IEEE 802.11i 标准的强制组件,而 OCB 模式则降级为可选组件状态,最终被完全删除。 使用CCM 模式应用于IEEE 802.11i (如CCMP 与 WPA2的 CCM 加密协议)、 IPsec[6] 和 TLS 1.2, [7]以及蓝牙低功耗(从蓝牙 4.0开始)。 [8]它可用于 TLS 1.3,但在OpenSSL中默认不启用。 [9] 参见
参考
外部链接Information related to CCM模式 |