Skip to content

Need to describe how Common Encryption is supported and communicated #8

@wilaw

Description

@wilaw

The MPEG Common Encryption (CENC) standard, formally ISO/IEC 23001-7, is a specification that enables content providers to encrypt a single media file, typically in the ISO Base Media File Format (ISOBMFF, e.g., MP4 or fragmented MP4), and have it be decryptable by multiple, different Digital Rights Management (DRM) systems such as Widevine, PlayReady, or FairPlay. CENC achieves this "encrypt-once, decrypt-many" capability by defining a common, standardized method for encryption (like AES-128 in CTR or CBC mode) and a common structure for signaling the encryption metadata, including key identifiers (KIDs) and initialization vectors, while leaving the DRM-specific details of key acquisition and rights management to the individual DRM system's license server.

This standardization significantly streamlines the workflow and reduces the storage and processing overhead for distributing protected video and audio content, especially in adaptive streaming formats .

In implementing CENC support, we may want to restrict the allowed cipher modes to only

'cenc': AES-CTR (Advanced Encryption Standard in Counter Mode) for full sample encryption, meaning the entire content of a media sample is encrypted.

'cbcs': AES-CBC for pattern encryption (subsample encryption), encrypting only a pattern of blocks within each media sample.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions