Skip to main content

Module lfsr

Module lfsr 

Source
Expand description

CSS cipher implementation based on the Stevenson 1999 analysis.

The CSS cipher uses two table-driven feedback circuits:

  • LFSR1: 9-bit state (two halves), driven by TAB2/TAB3
  • LFSR0: 32-bit state, driven by a feedback polynomial through TAB4

The keystream is the bytewise sum (with carry) of both LFSR outputs. Content descrambling XORs this keystream with the encrypted sector data.

Algorithm: Frank A. Stevenson’s divide-and-conquer attack (1999). Tables: CSS specification constants.

Functions§

descramble_sector
Descramble a CSS-encrypted DVD sector in place.