And now, smaller and faster than the PERL version...

/*     efdtt.c     Author:  Charles M. Hannum <root@ihack.net>             */
/*                                                                         */
/*     Usage is:  cat title-key scrambled.vob | efdtt >clear.vob           */

#define K(i)(x[i]^s[i+84])<<
unsigned char x[5],y,z,s[2048];main(n){for(read(0,x,5);read(0,s,n=2048);write(1
,s,n))if(s[y=s[13]%8+20]/16%4==1){int i=K(1)17^256+K(0)8,k=K(2)0,j=K(4)17^K(3)9
^k*2-k%8^8,a=0,b=0,c=26;for(s[y]-=16;--c;i/=2,j/=2)a=a*2^i&1,b=b*2^j&1;for(j=
127;++j<n;c=z+c>y)a^=a>>14,a=a>>8^(y=a^a*8^a<<6)<<9,b=b>>8^(z=b^b/8^b>>4^b>>12)
<<17,i=s[j],i="7Wo~'G_\216"[i&7]+2^"cr3sfw6v;*k+>/n."[i>>4]*2^i*257/8,s[j]=i^(i
&i*2&34)*6^z+c+~y;}}

Oh, and if you're worried about being arrested for carrying illegal source code, try this Illegal prime number.

The first cracks in DeCSS appeared in late 1999, and were done by the fine folks at LiViD, a group attempting to bring DVD playback support for Linux. Frank Stevenson posted to LiViD mailing list about successful CSS breaking attempt in October 27, 1999. Derek Fawcus wrote the first code to get the drive authenticated (needed to get the data out of the drive in encrypted form). Jon Johansen wrote DeCSS - the tool ran on Windows, and apparently better than the first version of DoD Speedripper that was released earlier - and told about this in LiViD mailing list on October 6, 1999. Interestingly, Jon didn't want to release the source first (the code used LiViD auth code, released under GPL), but bowed after constant reminding what RMS does to GPL infringers. Somehow, the comments seemed to tell me he didn't know much about how GPL worked, but then again, he was just 15 at the time...

The following story went like this:

  1. The DeCSS saga got underway.
  2. DVD-CCA and MPAA weren't exactly happy.
  3. So they sued every web site maintainer who dared to carry the code, or even linked to the code.
  4. John Hoy, president of DVD-CCA, included the DeCSS code as a part of the legal filing. In an excellent display of sheer boneheadedness, the filing wasn't sealed, so their super-confidential trade secret became part of a very public document. Big fat OOPS.
  5. People said code is free speech.
  6. The judges didn't think so.
  7. People made different versions of the program.
  8. Still not convinced. People made "creative" versions of the program that, in itself, didn't decode anything.
  9. Still not convinced.

Dr. David S. Touretzky of Carnegie Mellon University maintains a "Gallery of CSS Descramblers". The gallery has, among other things

  • Different C, Perl, Scheme, PHP, Java and Javascript implementations (including a tiny little 434-byte C version, and qrpff, as mentioned above)
  • Standard ML and pure lambda calculus versions (What is this? It's not a "circumvention device" in itself, its a more like a mathematical formula now!)
  • Brainfuck implementation (This is not a decryptor! This is a headache!)
  • Mathematical description (Okay, even DVD-CCA ought to recognise that this is just theoretical and not a "circumvention device")
  • Mathematical proof of CSS decryption
  • Microsoft Agent version (Here, kids, let this wizard and robot tell you how your father's DVD drive works, OK? It's fun!)
  • Code as GIFs (To train your philosophical reflexes: What are these files? Pictures, or code? Looks like image files to me.)
  • Code in some imaginary language similiar to C (This can't be compiled now because there's no compiler - is this, thus, a working program?)
  • Descriptions in plain English with illustrations (Can your brains decrypt the data fast enough if you follow the instructions? Your brain is not a circumvention device
  • DeCSS as haiku. Ingenuity of this thing cannot be expressed with words.
  • Cryptanalysis of the DeCSS system (See why it stinks.)
  • DeCSS as T-shirt (order yours from CopyLeft...)
  • Dramatic reading, deCSS songs (several, in fact), and even conversion of code to MIDI.
  • CD of different DeCSS-inspired songs called Circumvention Device
  • DeCSS The movie (a la Star Wars opening) and other animations
  • DVD logo, made of code fed through aalib or something similiar...
  • Circuit implementation in Verilog (How the thing can be actually implemented in iron...)
  • Yahoo! greeting card...
  • Several steganographical works.

Impressive? View them all at <http://www.cs.cmu.edu/~dst/DeCSS/Gallery/>. Of course, DVD-CCA wasn't happy about this, either, but I think the gallery is a good example that code is free speech, it can actually inspire great, funny and gruesome art, the people who made the CSS algorithm were not that competent and DVD-CCA is a bunch of idiots. =)

I may as well tell here about my own idea for addition to the gallery (has not been made yet, but dst said this would be "cute"):

So, in the end, people are playing DVDs in Linux (as is their full right, they paid for them, you know), the pirates have been meddling in their trade for even before that time (you don't need to decrypt stuff to copy it, you know), and DVD-CCA had one episode of Plans Doomed to Fail.


2001-11-03: Recently a Californian court said that it's OK to distribute the DeCSS source code. Finally. I thought this was never going to happen =)

Log in or register to write something here or to contact authors.