Hepiniz DVD’leri bilirsiniz, 8 gb civarında bilgi saklayabilen CD’lerin gelişmiş türevleridir ve sinema endüstrisinde sıkça kullanılırlar. DVD’lerin 40/1 oranında sıkıştırma yapması için MPEG-2 algoritması geliştirilmiştir. Daha sonradan daha iyi bir algoritma olan MPEG-4 (DivX) geliştirildi.
Film endüstrisi DVD filmlerinin kopyalanması engellemek için CSS (Content Scrambling System) adıyla bir yöntem geliştirdi. DVD’lerin içinde gördüğünüz büyük boyutlardaki VOB dosyaları bu CSS yöntemi kullanılarak içerikleri şifrelenmiş MPEG-2 dosyalardır. DVD oynatıcı üreten tüm firmalar bu şifreyi çözmek için gerekli olan algoritmayı DVD-CCA adında bir şirkete bir miktar ücret ödeyerek lisanslamak zorundadırlar. Bu firma aslen DVD’nin ve CSS’in geliştirmesini gerçekleştiren firmadır.
CSS algoritması DVD endüstrisine bazı kısıtlamalar getirmektedir. 6 tanesi coğrafi bölge olmak üzere (Kuzey Amerika, avrupa, vs ) ve son olarakta 1999 yılında eklenen “Uçaklar” ile birlikte toplam 7 tane bölge için bu sınırlamalar belirlenmiştir. Bu bölgelerden biri için üretilmiş bir DVD oynatıcı diğer bir bölge için üretilmiş DVD’yi bu kısıtlmalardan dolayı çalıştıramaz.
Uzunca bir süre bu lisanslama bedelinden dolayı Linux için DVD oynatan bir yazılım olmadı. Ekim 1999’da kimliği bilinmeyen bir grup Alman hacker tarafından CSS algoritmasını çözen yöntem geliştirildi ve 15 yaşındaki bir Norveçli genç tarafından da internette yayınlandı. deCSS adı verilen bu program şifreyi çözerek VOB dosyalarını bildiğimiz MPEG-2 dosyaları haline getiriyordu.
Fakat doğal olarak DVD-CAA ve Motion Pictures firması bu kodun izini sürüp internetten kaldırılması için dava açtılar. 15 yaşındaki çocuk ise Norveç polisi tarafından tutuklandı fakat suçlu bulunmadı.
Bu kodu bulundurmak, kullanmak ve açık olarak yayınlamak suç kapsamına giriyordu. Hackerlar bu kodu yayınlamak için çeşitli yöntemler aradılar. Bu yöntemlerden en yaratıcı 2 tanesi şöyledir:
deCSS kodunu JPEG dosyalarının içine gömdüler ve bu kodu çıkaracak yöntemi ise düz metin biçiminde internette yayınladılar.
İkincisi ise Phil Carmondy adındaki bir sayı bilimciden geldi. Phil, C ile yazılmış deCSS kodunu gzip yöntemini kullanarak sıkıştırdı. Oluşan dosyanın boyutu sadece 600 bayt civarındaydı. Phil’in bu dosyayı yayınlayabilmek için özel bir nedene ihtiyacı vardı. Dosyadaki her bir bayt sayıya çevrilip yanyana yazıldığında oluşan kocaman sayı asal olabiliyorsa bu yeterli bir sebepti. Uzun uğraşlar sonunda bu sayının sonuna 2 karakterlik bir sayı eklediğinde oluşan sayının asal bir sayı olduğu tespit edildi. Bu asal sayı aşağıdaki gibidir:

Dolayısıyla bu deCSS kodunu elde etmek için bu büyük asal sayıyı binary şeklinde bir dosyaya kaydedip sonra da gunzip gibi standart bir aracı kullanarak açmanız yeterl
Kaynak: Bu hikaye, Peter van der Linden’in Just Java 2 kitabından alınıp kısaltılarak tarafımdan türkçeye çevrilmiştir.