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]

效率问题:

  • CCM 不是带有关联数据的“在线”认证加密 (AEAD) ,因为必须提前知道消息(和关联数据)的长度。
  • 在MAC构造中,关联数据的长度使用可变长度编码,而这可能比机器字更短。如果关联数据很长(这种情况并不常见), MAC 可能出现性能下降。
  • 关联数据是在消息数据之后处理的,因此无法预先计算静态关联数据的状态。

专利

偏移码本 (OCB) 模式的提交推动了 CCM 模式的发展与纳入IEEE 802.11i标准。由于该 OCB 正在申请专利,因此有人反对加入 OCB 模式。对于标准的实施者而言,包含专利算法意味着许可复杂性的增加。

虽然基于这些知识产权问题对 OCB 模式的纳入存在争议,但人们一致认为,简化认证加密系统是可取的。因此Housley等人开发了 CCM 模式,作为不受专利阻碍的潜在替代方案。

尽管 CCM 模式的效率略低于 OCB 模式,但相比之下,无专利解决方案比因专利许可问题而复杂化的解决方案更可取。因此,CCM 模式继续成为 IEEE 802.11i 标准的强制组件,而 OCB 模式则降级为可选组件状态,最终被完全删除。

使用

CCM 模式应用于IEEE 802.11i (如CCMPWPA2的 CCM 加密协议)、 IPsec[6]TLS 1.2, [7]以及蓝牙低功耗(从蓝牙 4.0开始)。 [8]它可用于 TLS 1.3,但在OpenSSL中默认不启用。 [9]

参见

参考

  1. ^ Counter with CBC-MAC (CCM). September 2003. 
  2. ^ Housley, Russ. rfc4309. IETF. December 2005: 3. AES CCM employs counter mode for encryption. As with any stream cipher, reuse of the same IV value with the same key is catastrophic. 
  3. ^ Jakob Jonsson, On the Security of CTR + CBC-MAC
  4. ^ IEEE Standard for Local and metropolitan area networks--Part 15.4: Low-Rate Wireless Personal Area Networks (LR-WPANs) (PDF). IEEE Standards: 229. 2011-09-05 [2015-12-18]. 
  5. ^ Crypto++ 5.6.0 Benchmarks. Crypto++. [6 September 2015]. 
  6. ^ RFC 4309 Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP)
  7. ^ RFC 6655 AES-CCM Cipher Suites for Transport Layer Security (TLS)
  8. ^ Bluetooth Low Energy Security. [2017-04-20]. (原始内容存档于2016-04-02). 
  9. ^ Caswell, Matt. Using TLS1.3 With OpenSSL. OpenSSL blog. 2017-05-04 [2018-12-29]. 

外部链接

  • RFC 3610: Counter with CBC-MAC (CCM)
  • RFC 4309: Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP)
  • RFC 6655: AES-CCM Cipher Suites for Transport Layer Security (TLS)
  • A Critique of CCM (by the designer of OCB)
 
常见加密算法
次常见加密算法
  • Camellia
  • CAST-128英语CAST-128
  • IDEA
  • RC2英语RC2
  • RC5
  • SEED英语SEED
  • Skipjack英语Skipjack
  • TEA
  • XTEA
其他加密算法
  • 3-Way英语3-Way
  • ABC英语ABC (cipher)
  • Akelarre英语Akelarre (cipher)
  • Anubis英语Anubis (cipher)
  • ARIA英语ARIA (cipher)
  • BaseKing英语BaseKing
  • BassOmatic英语BassOmatic
  • BATON英语BATON
  • BEAR and LION英语BEAR and LION ciphers
  • CAST-256英语CAST-256
  • CIKS-1英语CIKS-1
  • CIPHERUNICORN-A英语CIPHERUNICORN-A
  • CIPHERUNICORN-E英语CIPHERUNICORN-E
  • CLEFIA英语CLEFIA
  • CMEA英语Cellular Message Encryption Algorithm
  • Cobra英语Cobra ciphers
  • COCONUT98英语COCONUT98
  • Crab英语Crab (cipher)
  • Cryptomeria/C2英语Cryptomeria cipher
  • CRYPTON英语CRYPTON (cipher)
  • CS-Cipher英语CS-Cipher
  • DEAL英语DEAL
  • DES-X英语DES-X
  • DFC英语DFC (cipher)
  • E2英语E2 (cipher)
  • FEAL英语FEAL
  • FEA-M英语FEA-M
  • FROG英语FROG
  • G-DES英语GDES
  • GOST英语GOST (block cipher)
  • Grand Cru英语Grand Cru (cipher)
  • Hasty Pudding cipher英语Hasty Pudding cipher
  • Hierocrypt英语Hierocrypt
  • ICE英语ICE (cipher)
  • IDEA NXT英语Idea NXT
  • Intel Cascade Cipher英语Intel Cascade Cipher
  • Iraqi英语Iraqi block cipher
  • KASUMI英语KASUMI (block cipher)
  • KeeLoq英语KeeLoq
  • KHAZAD英语KHAZAD
  • Khufu and Khafre英语Khufu and Khafre
  • KN-Cipher英语KN-Cipher
  • Ladder-DES英语Ladder-DES
  • Libelle英语Libelle (cipher)
  • LOKI97英语LOKI97
  • LOKI89/91英语LOKI
  • Lucifer英语Lucifer (cipher)
  • M6英语M6 (cipher)
  • M8英语M8 (cipher)
  • MacGuffin英语MacGuffin (cipher)
  • Madryga英语Madryga
  • MAGENTA英语MAGENTA
  • MARS英语MARS (cipher)
  • Mercy英语Mercy (cipher)
  • MESH英语MESH (cipher)
  • MISTY1英语MISTY1
  • MMB英语MMB
  • MULTI2英语MULTI2
  • MultiSwap英语MultiSwap
  • New Data Seal英语New Data Seal
  • NewDES英语NewDES
  • Nimbus英语Nimbus (cipher)
  • NOEKEON英语NOEKEON
  • NUSH英语NUSH
  • Q英语Q (cipher)
  • RC6
  • REDOC英语REDOC
  • Red Pike英语Red Pike (cipher)
  • S-1英语S-1 block cipher
  • SAFER英语SAFER
  • SAVILLE英语SAVILLE
  • SC2000英语SC2000
  • SHACAL英语SHACAL
  • SHARK
  • SM4
  • Speck
  • Spectr-H64英语Spectr-H64
  • Square英语Square (cipher)
  • SXAL/MBAL英语SXAL/MBAL
  • Threefish英语Threefish
  • Treyfer英语Treyfer
  • UES英语UES (cipher)
  • Xenon英语Xenon (cipher)
  • xmx英语xmx
  • XXTEA
  • Zodiac英语Zodiac (cipher)
密码设计
攻击(密码分析
  • 穷举攻击/蛮力攻击EFF DES破解机
  • 中途相遇攻击Biclique攻击英语Biclique attack · 三子集中途相遇攻击英语Biclique attack
  • 线性密码分析英语Linear cryptanalysis堆积引理英语Piling-up lemma
  • 差分密码分析不可能差分密码分析英语Impossible differential cryptanalysis
  • 截断差分分析英语Truncated differential cryptanalysis
  • 高阶差分分析英语Higher-order differential cryptanalysis
  • 差分-线性攻击英语Differential-linear
  • 区分攻击英语Distinguishing attack已知密钥区分攻击英语Known-key distinguishing attack
  • 积分密码分析英语Integral cryptanalysis
  • 回力镖攻击英语Boomerang attack
  • n密码分析英语Mod n cryptanalysis
  • 相关密钥攻击英语Related-key attack
  • 滑动攻击英语Slide attack
  • 回旋密码分析英语Rotational cryptanalysis
  • 計時攻擊英语Timing attack
  • XSL攻击英语XSL attack
  • 插值攻擊
  • Partitioning英语Partitioning cryptanalysis
  • 戴维斯攻击英语Davies' attack
  • 回弹攻击英语Rebound attack
  • 弱密钥英语Weak key
  • 肯德尔等级相关系数英语Kendall tau rank correlation coefficient
  • 卡方检验
  • 时间、内存、数据取舍攻击英语Time/memory/data tradeoff attack
密码标准
工作方式
 
常用函数
SHA-3入围英语NIST hash function competition
  • BLAKE
  • Grøstl
  • JH英语JH (hash function)
  • Skein英语Skein (hash function)
  • Keccak(胜出)
其他函数
  • ECOH英语Elliptic curve only hash
  • FSB英语Fast Syndrome Based Hash
  • GOST英语GOST (hash function)
  • HAS-160英语HAS-160
  • HAVAL英语HAVAL
  • Kupyna英语Kupyna
  • LM hash英语LM hash
  • MD2英语MD2 (cryptography)
  • MD4
  • MD6
  • MDC-2英语MDC-2
  • N-Hash英语N-Hash
  • RIPEMD
  • RadioGatún英语RadioGatún
  • SWIFFT英语SWIFFT
  • SipHash英语SipHash
  • Snefru英语Snefru
  • Streebog英语Streebog
  • Tiger英语Tiger (cryptography)
  • VSH英语Very smooth hash
  • WHIRLPOOL英语Whirlpool (cryptography)
  • SM3
  • X11
密码散列/
密钥延伸函数
  • Argon2
  • Balloon
  • bcrypt
  • Catena英语Catena (cryptography)
  • crypt(3)英语Crypt (C) (DES)
  • LM散列英语LAN Manager#LM hash details
  • Lyra2
  • Makwa英语Makwa (cryptography)
  • PBKDF2
  • scrypt
  • yescrypt
通用
密钥派生函数
  • HKDF
  • KDF1/KDF2
MAC算法
  • DAA英语Data Authentication Algorithm
  • CBC-MAC英语CBC-MAC
  • HMAC
  • OMAC英语One-key MAC/CMAC英语CMAC
  • PMAC英语PMAC (cryptography)
  • VMAC英语VMAC
  • UMAC英语UMAC
  • Poly1305
认证加密模式
攻击
设计
  • 雪崩效应
  • 碰撞
  • 默克尔-达姆加德结构英语Merkle–Damgård construction
标准化
  • CRYPTREC英语CRYPTREC
  • NESSIE英语NESSIE
  • NIST散列函数竞赛英语NIST hash function competition
实际应用
  • 分类 分类
  • 主题 主题
  • 专题 专题