Menu
Latest
12 meetings · Prague, Jeju · 12–16 Oct
Reports
RAN1#126-bis · SA2#177

Glossary term · Security

CBC

Cipher Block Chaining (Mode)

Security →

CBC is a symmetric encryption mode that chains plaintext blocks using XOR with previous ciphertext blocks to ensure identical plaintext blocks produce different ciphertext, providing confidentiality in 3GPP networks.

Introduced
Rel-4
Where
Radio Access Network › UTRAN (3G)
Specifications
23 specs
Also in
Services, Management, Security, Core Network, User Equipment
CBC Description Purpose What changed Neighbours Specifications

Description

Cipher Block Chaining (CBC) is a block cipher mode of operation standardized within 3GPP for securing user plane data and control plane signaling. It operates by dividing the plaintext message into fixed-size blocks (typically 128 bits for AES). Before encryption, each plaintext block is XORed with the ciphertext of the previous block. The first block is XORed with an Initialization Vector (IV). This chaining mechanism introduces data dependency between blocks, ensuring that identical plaintext sequences result in completely different ciphertext outputs, thereby defeating pattern analysis attacks.

The CBC encryption process follows this sequence: For the first block (i=1), C₁ = Eₖ(P₁ ⊕ IV), where Eₖ is the encryption function with key K, P₁ is the first plaintext block, IV is the Initialization Vector, and C₁ is the resulting ciphertext block. For subsequent blocks (i>1), Cᵢ = Eₖ(Pᵢ ⊕ Cᵢ₋₁). Decryption reverses this process: P₁ = Dₖ(C₁) ⊕ IV and Pᵢ = Dₖ(Cᵢ) ⊕ Cᵢ₋₁ for i>1, where Dₖ is the decryption function. This structure means that a single-bit error in ciphertext block Cᵢ corrupts the decryption of both block Pᵢ (completely garbled) and block Pᵢ₊₁ (single-bit error in the same position), but subsequent blocks decrypt correctly once the error propagates through.

Within 3GPP architectures, CBC mode is implemented in the cryptographic algorithms of the confidentiality protection mechanisms. For example, in LTE and 5G, the 128-EEA1 and 128-NEA1 algorithms use SNOW 3G in a specific stream cipher mode, but the underlying principles of chaining for integrity are conceptually related. Historically, in UMTS, the f8 confidentiality algorithm for UTRAN employed KASUMI in a specific output-feedback mode. While not pure CBC, these 3GPP-specific modes share the cryptographic design philosophy of using feedback to prevent patterns in the plaintext from appearing in the ciphertext. The actual implementation in 3GPP often uses a modified approach optimized for the air interface, such as generating a keystream block that is XORed with the plaintext, where the keystream itself is generated using a chaining mechanism dependent on a COUNT (freshness parameter), a BEARER identity, a DIRECTION bit, and a length parameter.

The role of CBC-like chaining in the network is critical for the AS (Access Stratum) and NAS (Non-Access Stratum) security. In the PDCP (Packet Data Convergence Protocol) layer, the ciphering function takes these inputs (KEY, COUNT, BEARER, DIRECTION, LENGTH) to initialize a ciphering algorithm (like AES in CTR mode for 128-EEA2, or ZUC for 128-EEA3). While these are technically stream cipher modes or counter modes, the requirement for cryptographic synchronization and the use of a state (COUNT) that changes per packet serves a similar anti-replay and pattern-obscuring purpose as the IV in CBC. The core security property provided is confidentiality, ensuring that eavesdroppers on the radio interface cannot decipher the user's data or signaling messages.

Purpose & Motivation

CBC mode was introduced to address the critical vulnerability of the Electronic Codebook (ECB) mode, where identical plaintext blocks yield identical ciphertext blocks. This flaw allows attackers to recognize patterns, deduce information, and potentially execute replay attacks. In telecommunications, where signaling messages and user data packets often contain repetitive structures (headers, protocol padding, common commands), ECB mode would leak significant information about the traffic, compromising user privacy and network security.

The adoption of chaining modes like CBC was motivated by the need for robust confidentiality in digital cellular systems starting with 3G (UMTS). As mobile networks evolved from primarily voice (2G GSM, which used the A5 stream ciphers) to packet-switched data services, the threat model expanded. The deterministic nature of ECB was completely unsuitable for protecting IP packets, SMS data, or sensitive signaling like authentication exchanges. CBC provides semantic security under chosen-plaintext attacks (IND-CPA) when used with a secure block cipher and a random, unpredictable IV for each encryption session.

In the 3GPP context, while the specific algorithms (KASUMI, AES, SNOW 3G, ZUC) may not operate in textbook CBC mode for performance reasons (CBC is not parallelizable and requires sequential processing), the cryptographic design principles are incorporated. The 3GPP specifications define confidentiality algorithms (the f8 family for UMTS, the 128-EEA family for LTE/5G) that use core ciphers in modes ensuring ciphertext is a non-deterministic function of the plaintext, the key, and a time-varying input (COUNT, IV). This directly addresses the limitations of previous, weaker ciphering schemes and is fundamental to meeting the stringent confidentiality requirements of modern mobile broadband standards.

What changed in its specifications

The latest release-to-release comparison of specifications that define CBC. Each summary describes the whole specification, not only this term.

TR 21.905Rel-17 → Rel-18

Rel-18 brings only minor changes to TS 21.905: 0 clauses changed, with no change attributed to a release feature.

Full comparison in TR 21.905 →
TS 22.268Rel-11 → Rel-12

Rel-12 adds regulatory conditional integrity protection requirements for Warning Notifications. It also removes text about USIM-based VPLMN settings changes.

Full comparison in TS 22.268 →

Evolution Across Releases

An overview written from the defining specifications, not a verified change history. For the exact text, open the specifications listed below.

Rel-4 Initial

Introduced as the foundational cryptographic mode for the UMTS confidentiality algorithm f8, which used the KASUMI block cipher. The f8 algorithm itself is not standard CBC but a specific output-feedback mode optimized for the UTRAN air interface. It established the core requirement that ciphertext must not reveal patterns from the plaintext, using a chaining mechanism dependent on COUNT-C, BEARER, DIRECTION, and a length parameter to generate a keystream.

Defining Specifications

3GPP specifications that define or reference CBC, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TR 21.905 vj20 3GPP Terminology and Definitions Rel-19 read
TS 22.268 vl00 Public Warning System Requirements Rel-21 read
TS 23.048 v590 Secured Packets Structure for SMS and UICC Management Rel-5 read
TS 23.401 vk10 Evolved Packet System Architecture Rel-20 read
TS 25.324 vj00 Broadcast/Multicast Control Protocol Rel-19 read
TS 25.401 vj00 UTRAN Overall Architecture Rel-19 read
TS 25.419 vj00 Service Area Broadcast Protocol (SABP) Rel-19 read
TS 25.703 vc00 HNB Emergency Warning Area Study for UTRA Rel-12 read
TR 26.944 vj00 QoE, ESQoS and SQoS metrics for 3G multimedia services Rel-19 read
TS 28.702 vj00 Core Network NRM IRP Information Service Rel-19 read
TS 29.168 vj00 SBc-AP Protocol Specification Rel-19 read
TS 29.199 3GPP TS 29.199 Rel-4 read
TS 31.113 v800 USAT Interpreter Byte Codes Specification Rel-8 read
TS 31.114 v800 USAT Interpreter Transmission Protocol Rel-8 read
TS 31.115 vj00 Secured Packet Structure for UICC Applications Rel-19 read
TS 32.102 vj00 Telecom Management Physical Architecture Framework Rel-19 read
TS 32.632 vb00 Core Network Resources IRP: Network Resource Model Rel-11 read
TS 32.732 vb00 IMS Network Resource Model IRP: Information Service Rel-11 read
TR 33.969 vj00 Security for Public Warning System (PWS) Rel-19 read
TR 35.909 vj00 3GPP MILENAGE Algorithm Design Report Rel-19 read
TS 36.300 vj20 E-UTRAN Radio Interface Protocol Architecture Rel-19 read
TS 36.896 ve00 Study on Flexible eNB-ID and Cell-ID in E-UTRAN Rel-14 read
TS 48.049 vj00 Cell Broadcast Service Protocol Specification Rel-19 read