15.5 Counter with cipher block chaining message authentication code (CCM)
Counter with cipher block chaining message authentication code (CCM) is a block cipher mode of operation that provides authenticated encryption. It was designed by the American computer scientists Russ Housley and Doug L. Whiting, and Dutch cryptographer Niels Ferguson.
CCM is specified in [180] and can be used with 128-bit block ciphers such as AES. As the name suggests, CCM combines two cryptographic primitives:
CTR mode for achieving confidentiality (see Section 14.4.5, CTR mode in Chapter 14, Block Ciphers and Their Modes of Operation)
CBC-MAC construction to ensure message authenticity (see Section 14.4.3, CBC-MAC in Chapter 14, Block Ciphers and Their Modes of Operation)
In CCM, the two primitives CTR and CBC-MAC are used in the MAC-then-encrypt composition. In the first step, CBC-MAC is applied to compute the MAC value T for the plaintext message m. The MAC and the plaintext are...