# DeCSS

DeCSS est un logiciel destiné à déchiffrer les contenus d'un DVD chiffrés à l'aide du système de brouillage du contenu (CSS).

## Origine et historique

Le programme DeCSS a été conçu par trois personnes, dont deux restent anonymes. Le seul membre du trio connu est le programmeur norvégien Jon Lech Johansen qui annonça la version 1.1b sur la liste de diffusion livid-dev, le 6 octobre 1999. À l'origine, le code source n'était pas disponible mais il y eut une fuite avant la fin du mois d'octobre. La publication du programme fut précédée de quelques semaines par un programme appelé DoD DVD Speed Ripper, nommé d'après le groupe Drink or Die, qui n'incluait pas le code source et ne fonctionnait apparemment pas avec tous les DVD. On suppose que Drink or Die avait désassemblé le code du logiciel Xing DVD Player afin d'obtenir une clef de déchiffrement. Le groupe qui a écrit DeCSS, y compris Johansen, se faisait appeler Masters of Reverse Engineering et pourrait avoir obtenu des informations de Drink or Die.
À la suite de la publication du logiciel, le domicile de Jon Lech Johansen a été perquisitionné en 2000 par la police. Encore adolescent à l'époque, il fut jugé devant un tribunal norvégien et encourait une peine de deux ans de prison couplés à une importante amende, mais il fut blanchi de toutes les charges portées contre lui. Cependant, le 5 mars 2003, une cour d'appel décida qu'il devait être rejugé pour la violation de la section 145 du Code criminel norvégien (la loi sur le hacking). La cour d'appel estima que les arguments du procureur et de nouvelles preuves justifiaient un nouveau procès. Le 22 décembre 2003, la cour confirma l'acquittement et le 5 janvier 2004 la Økokrim décida que le dossier était clos. Le 22 janvier 2004, la DVD CCA a retiré sa plainte contre Jon Johansen.
Le code source de déchiffrement de CSS utilisé dans DeCSS a été envoyé par email à Derek Fawcus avant que le logiciel ne soit publié. Quand le code source fut rendu public, Fawcus s'aperçut que DeCSS contenait son code css-auth et violait ainsi la licence GPL. Quand Johansen en fut informé, il contacta Fawcus pour résoudre le problème et obtint une licence pour utiliser le code dans DeCSS sans qu'il soit obligé de respecter la GPL.

## Technologie et logiciels dérivés

À la suite de la publication du code source de DeCSS, on constata rapidement que l'algorithme CSS était vulnérable à une attaque par force brute très différente de la méthode employée par le programme. L'algorithme utilise une clef de 40 bits seulement et toutes les clefs ne sont pas utilisées. Ainsi, un PC haut de gamme de l'époque utilisant un code optimisé était capable de casser cette clé en 24 heures.
Des programmeurs du monde entier créèrent des centaines de programmes équivalents à DeCSS, certains uniquement pour démontrer la trivialité avec laquelle le système pouvait être contourné, d'autres pour ajouter la possibilité de lire des DVD avec des lecteurs vidéo open source. Les contraintes de la licence CSS rendaient la création d'une implémentation open source officielle impossible et l'absence de décodeurs propriétaires pour certains systèmes d'exploitation (comme GNU/Linux) rendait l'utilisation de DeCSS obligatoire pour permettre de lire des DVD.
Une fois la source vidéo décryptée, elle peut être codée dans un autre format. Ainsi DeCSS a sûrement contribué au partage illégal par la diffusion de vidéos ré-encodées dans un format plus compressé (donc plus facile à échanger sur un réseau) que le format MPEG-2 original, souvent le format MPEG-4. Cependant, la copie de DVD sans décryptage était déjà possible et répandue avant l'avènement de DeCSS, particulièrement dans l'est de l'Asie, son arrivée n'a donc pas rendu le partage illégal de DVD possible, mais a probablement aidé la diffusion des vidéos sur Internet.

## Aspects juridiques

En guise de protestation envers les lois qui interdisent la publication du code de DeCSS dans les pays qui ont transposé le WIPO Copyright Treaty (comme le Digital Millennium Copyright Act aux États-Unis), certaines personnes ont développé des moyens détournés pour distribuer l'algorithme de DeCSS, par exemple en utilisant la stéganographie, en utilisant différents protocoles, sur des t-shirts, dans des fichiers MIDI, sous la forme de haïku, et même sous la forme d'un nombre premier « illégal ». Cependant, l'implémentation de CSS dans un langage de programmation demande plus de caractères que celle de l'algorithme RC4 de RSA Data Security, l'une des plus courtes implémentations (appelée "efdtt") fait 434 octets. C'est pourquoi il n'a pas été distribué selon les méthodes les plus originales qui avaient été utilisées pour distribuer l'algorithme RC4 au temps de l'ITAR. Il n'est pas adapté aux tatouages, signatures d'email, etc.