← Back to list

Content Protection for Recordable Media and Pre-Recorded Media (CPRM/CPPM)

The Content Protection for Recordable Media Specification (CPRM) defines a renewable method for protecting content recorded on a number of…

Kasun Dissanayake · 2020-02-03 11:40 · 253 claps · 3.4 min read
#cppm #cprm
Open on Medium ↗
Wiki topics: CRY · Crypto & Web3

Content Protection for Recordable Media and Pre-Recorded Media (CPRM/CPPM)

The Content Protection for Recordable Media Specification (CPRM) defines a renewable method for protecting content recorded on a number of physical media types. It is a form of digital rights management (DRM) developed by The 4C Entity, LLC (consisting of IBM, Intel, Matsushita and Toshiba).

The CPRM/CPPM Specification defines a renewable method for protecting entertainment content when recorded on physical media. The currently implemented method utilizes the cryptographic algorithm for symmetric encryption. This was designed to meet the robustness and renewability requirements of content owners while balancing the implementation needs of implementers of the technology.

To accomplish these requirements the system defined by the specification relies on key management for interchangeable media, content encryption, and media-based renewability.

The CPRM technology is designed to meet the following criteria:

  • It meets the content owners’ requirements for robustness and system renewability.
  • It is applicable for both audio and video content.
  • It is equally suitable for implementation on PCs and CE devices.
  • It is applicable to different media types.

This is an example of how the system operates. The actual details of component storage and cryptographic key management will vary with different types of DVD and other supported media, as well as with different applications, as described in the other books of this specification.

1 — The 4C Entity, LLC provides secret device keys to the device manufacturer for inclusion into each device produced.

2 — Media manufacturers place a Media Identifier and Media Key Block generated by the 4C Entity, LLC on each piece of compliant media.

3 — When compliant media is placed within a compliant drive or player/recorder, a secret Media Key is generated by the device using its secret keys and the Media Key Block stored on the media itself. The same secret Media Key is generated regardless of which compliant device is used to access the media.

4 — Content stored on the media is encrypted/decrypted by a Content Key derived from a one-way function of a secret Title Key and the copy control information (CCI) associated with the content. The Title Key is encrypted and stored on the media using a key derived from a one-way function of the Media Key and Media ID.

CPRM Common Cryptographic Functions

There are common cryptographic functions that are used by CPRM for various applications.

C2 Block Cipher Algorithm

Common cryptographic functions used for CPRM are based on the C2 block cipher. A description of the C2 block cipher algorithm describes two basic operational modes of the C2 cipher: Electronic Codebook (ECB) mode and Converted Cipher Block Chaining (C-CBC) mode.

C2 Block Cipher in Electronic Codebook (ECB) Mode

Encryption with the C2 cipher in Electronic Codebook (ECB) mode is represented by the function C2_E(k, d) where k is a 56-bit key, d is 64-bit data value to be encrypted, and C2_E returns the 64-bit result. Decryption using the C2 cipher in ECB mode is represented by the function C2_D(k, d) where k is a 56-bit key, d is a 64-bit data value to be decrypted, and C2_D returns the 64-bit result.

C2 Block Cipher in Converted Cipher Block Chaining (C-CBC) Mode

The C2 cipher is used in Converted Cipher Block Chaining (C-CBC) mode for encryption and decryption of content protected by CPRM. Encryption with the C2 cipher in C-CBC mode is represented by the function C2_ECBC(k, d) where k is a 56-bit key, d is a frame of data to be encrypted, and C2_ECBC returns the encrypted frame. Decryption using the C2 cipher in C-CBC mode is represented by the function C2_DCBC(k, d) where k is a 56-bit key, d is a frame of data to be decrypted, and C2_DCBC returns the decrypted frame. The size of the frame of data to be encrypted or decrypted (i.e. how often a new C-CBC cipher chain is started) depends on the particular application format, and is defined for each in the corresponding books of this specification.

C2 Hash Function

CPRM uses a hashing procedure based on the C2 encryption algorithm. This procedure is called the C2 Hash Function, and is represented by the function

C2_H(d)

where d is input data of arbitrary length, and C2_H returns the 64-bit result.

For the purpose of calculating the hash value for input data d, d is padded as follows. Padded data d’ is formed by first always appending a single “1” bit to d, and then appending from zero to sixty-three “0” bits as needed to make the total length of d’ a multiple of 64 bits.

C2 One-way Function

CPRM uses a cryptographic one-way function based on the C2 encryption algorithm. This function is called the C2 One-way Function, and is represented by

C2_G(d1, d2)

where d1 is a 56-bit input data value, d2 is a 64-bit input data value, and C2_G returns the 64-bit result.

The one-way function result is calculated as

C2_G(d1, d2) = C2_E(d1, d2) ⊕ d2.

Thank You !


메타데이터
post_id
2ba537a0803
slug
content-protection-for-recordable-media-and-pre-recorded-media-cprm-cppm-2ba537a0803
url
https://medium.com/@kasunprageethdissanayake/content-protection-for-recordable-media-and-pre-recorded-media-cprm-cppm-2ba537a0803
canonical_url
https://medium.com/@kasunprageethdissanayake/content-protection-for-recordable-media-and-pre-recorded-media-cprm-cppm-2ba537a0803
author_url
https://medium.com/@kasunprageethdissanayake
status
ok
fetched_at
2026-06-21 09:28:28