Counter with CBC-MAC
CCMモードは、メッセージを暗号化して認証するためにメッセージ1ブロックにつき2回のブロック暗号の暗号化操作を、関連データ(暗号化されない部分)の認証のためにデータ1ブロックにつき1回の暗号化操作を必要とする。
Crypto++のベンチマークによると、Intel Core 2 プロセッサ(32ビットモード)を用いた場合、AES-CCM は1バイトあたり 28.6 サイクルを要する。
非効率性に関する特記事項:
CCM は「on-line」の認証付き暗号ではなく、事前にメッセージ(と関連データ)の長さが分かっていなければならない。
認証コード(MAC)の生成において、関連データの長さは可変長のエンコーディングがなされ、コンピュータのワード長よりも短い場合がある。このことは、(あまり無いことだが)関連データが長い場合にはMAC生成が遅くなる原因となりうる。
関連データはメッセージデータの後に処理される。そのため,関連データが固定であったとしても、事前に計算しておくといったことはできない。
CCMモードは、IEEE 802.11i(WPA2の暗号規格であるCCMPとして)、IPSec、TLS 1.2といった標準規格で採用されている。