Skip to main content

Module css

Module css 

Source
Expand description

CSS (Content Scramble System) — DVD disc encryption.

CSS uses a weak 40-bit LFSR stream cipher (broken since 1999). No keys needed — the title key is cracked from encrypted content using a known-plaintext attack on MPEG-2 PES headers.

Usage:

let key = css::crack_key(reader, &extents)?;
css::descramble_sector(&key, &mut sector);

Modules§

auth
CSS drive authentication — full key hierarchy.
crack
CSS title key recovery — Stevenson’s divide-and-conquer attack (1999).
lfsr
CSS cipher implementation based on the Stevenson 1999 analysis.

Structs§

CssState
CSS decryption state for a DVD title.

Functions§

crack_key
Crack the CSS title key by reading encrypted sectors and applying a known-plaintext attack on MPEG-2 headers.
descramble_sector
Descramble a single CSS-encrypted sector in place.
is_scrambled
Check if a sector has the CSS scramble flag set.