libdvdcss.txt 2.49 KB
Newer Older
1
      Non-technical description of libdvdcss (v2.1)
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
2 3


4 5
   libdvdcss is a library that computer programs can use to access the
contents of a DVD.
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
6 7


8
    1/ DVD zones
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
9

10 11
   All DVDs and commercially distributed readers include some information
about their zone. When a DVD is put into a DVD reader, the information is
12 13
compared, in order to limit the number of countries where the DVD can be
used. The DVD zone and the reader's zone should match.
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
14 15


16
    2/ CSS
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
17

18 19 20 21 22
   CSS (Content Scrambling System) protects most commercial DVDs.  Writers
of DVD reader programs obtain keys by purchasing them from the DVD CCA (DVD
Copy Control Association) which will permit them to decrypt CSS-protected
DVDs. They also get instructions on how to use CSS, which are kept secret
under a confidentiality agreement.  When a program reads a DVD, it
23
communicates with the DVD reader all the time, in order to get the
24
decryption information with the help of the key.
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
25 26


27
    3/ Copying DVDs
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
28

29 30 31 32 33 34
   The present systems do not prevent the copying of DVDs. With the right
equipment, a perfect physical copy of the media can be made (often called a
'bit by bit') which will be possible to exploit in the same way.
Furthermore, since the media must be decrypted by the reading program in
order to appear on the screen, the decrypted content of the media will be
accessible while it is being viewed - whatever the equipment used.
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
35 36


37
    4/ Weaknesses of CSS
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
38

39
   CSS has been the subject of academic studies which have, through reverse
40
engineering, uncovered how it works and what encryption algorithm it uses.
41
These studies also show that the keys used by CSS are extremely weak from a
42
cryptographic (code-breaking) perspective, which has led to more effective
43 44
decryption algorithms and the discovery of keys.  It is possible to obtain
a complete list of keys in a few minutes on an ordinary desktop computer.
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
45 46


47
    5/ How libdvdcss works
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
48

49 50 51
   The list of CSS keys is therefore perfectly well known, and a sample of
these keys is distributed with libdvdcss.  The libdvdcss library operates
in a similar manner to a DVD reader program, by using a key to decode the
52
content, except that libdvdcss uses a key from the sample.  If all of the
53 54
sample keys fail, then libdvdcss computes the rest of the key set and tries
each of them.
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
55

56 57 58 59
   This might still not work, particularly if the DVD and the reader are
not from the same zone. As a last resort, libdvdcss will step outside of
the whole DVD/reader system and will decrypt the encoded stream directly,
exploiting weaknesses in the CSS encryption.