Graph
Counter Mode with CBC-MAC

🔐Counter Mode with CBC-MAC

NEW

Also known as: CCM

An authenticated encryption mode combining counter mode for confidentiality with CBC-MAC for integrity.

DESCRIPTION

Counter with CBC-MAC (CCM) is an AEAD mode that provides confidentiality and integrity using CTR for encryption and CBC-MAC for authentication. Standardized by NIST and described in RFC 3610, CCM is widely used with AES in constrained and embedded systems. It requires a nonce and supports associated data for header protection. Proper nonce management is critical to security. CCM offers a balance of simplicity and strong security properties when implemented correctly.

ALTERNATIVE DEFINITIONS

NIST

This Recommendation specifies the CCM mode of operation for cryptographic block ciphers. CCM provides both authentication and confidentiality.

Defines CCM formally as an AEAD mode for block ciphers.

Source

IETF RFC 3610

This document specifies the use of the CCM mode with AES. CCM is a generic authenticated encryption block cipher mode.

Focuses on AES usage and generic AEAD properties.

Source

Wikipedia

In cryptography, CCM mode (Counter with CBC-MAC) is an authenticated encryption algorithm designed to provide both encryption and integrity.

Summarizes CCM’s dual goals of encryption and integrity.

Source

Rijndael CTR Mode CBC-MAC Authenticated Encryption Nonce MAC RFC 3610 NIST SP 800-38C Message Integrity

COMPETING TERMS

AES-GCM EAX

RELATIONS

KNOWLEDGE AREAS

Data Security Software Engineering Infrastructure

TARGET AUDIENCE

Security Architect Cybersecurity Engineer Software Developer Chief Information Security Officer

EXTERNAL SOURCES

  • Wikipedia - CCM mode
  • NIST - Official CCM specification
  • IETF - RFC defining AES-CCM usage

TOP QUESTIONS

When should CCM be used over GCM?

CCM is suitable for constrained devices and environments where its simplicity and performance profile fit. GCM is often preferred for high-throughput systems.

Category: Alternatives

What are the risks of nonce misuse in CCM?

Nonce reuse can catastrophically break confidentiality and integrity. Always ensure unique nonces for each message-key pair.

Category: Risk

Does CCM support associated data?

Yes, CCM authenticates associated data (AAD) without encrypting it, protecting headers or metadata.

Category: Application

What key sizes are common for CCM?

CCM is typically used with AES-128 or AES-256, depending on security requirements and performance considerations.

Category: Requirements

Is CCM standardized?

Yes. NIST SP 800-38C specifies CCM, and RFC 3610 provides guidance for AES-CCM usage.

Category: Overview

How does CCM provide integrity?

It computes a CBC-MAC over the plaintext and associated data, verifying message authenticity upon decryption.

Category: Example

What is a common implementation mistake with CCM?

Incorrect nonce construction or reusing nonces across messages. Use secure counters or randomized nonces with uniqueness guarantees.

Category: Mistakes

How does CCM compare in performance to GCM?

GCM can be faster on platforms with hardware acceleration. CCM is competitive on constrained systems and simpler in some implementations.

Category: Opinion

Where is CCM used in practice?

It appears in wireless standards and embedded systems, including TLS ciphersuites and IoT protocols in certain contexts.

Category: Topic