Startseite
TOP 10 Primzahlen
Grundlagen
Primzahllücken
Primzahltabellen
Alle Seiten
Primzahltest
Primzahlsuche
Primfaktorisierung
Online Rechner
Kopfrechnen-Trainer
Pressemeldungen
Pollard p-1
Kettenbrüche
RSA

Hintergrundwissen

Illegale Primzahlen - DeCSS

Eine illegale Primzahl bezeichnet eine Primzahl, die auf einfache Weise in ein illegales Dokument dechiffriert werden kann. Zum Beispiel sind Programme, die Kopierschutzmechanismen umgehen illegal. Verwandelt man den Quellcode in eine natürliche Zahl, die zufällig prim ist, erhält man eine illegale Primzahl.

Die Geschichte illegaler Primzahlen ...
... begann mit DeCSS. DeCSS ist ein Computerprogramm, das in der Lage ist, den Inhalt einer Video-DVD zu dekodieren, die mit dem Content Scrambling System (CSS) verschlüsselt ist. DeCSS wurde von der norwegischen Hackertruppe MoRE (Masters of Reverse Engineering) entwickelt und unter der GPL veröffentlicht. Ein US-amerikanisches Gericht hat die Verbreitung von DeCSS gemäß dem DMCA für illegal erklärt. Gegen die strafrechtliche Verfolgung der DeCSS-Mitautoren und der Verbreitung von DeCSS entwickelte sich eine Welle der Empörung.

Im März 2001 entdeckte Phil Carmody, das der C-Quellcode des Computerprogramms DeCSS, wenn man die hexadezimale Darstellung mit Gzip dekomprimiert, eine 1401-stellige Primzahl ergibt. Aus Protest gegen die juristischen Angriffe wurde statt DeCSS diese Primzahl publiziert, da man davon ausgeht, das man eine Primzahl nicht verbieten kann. Andererseits kann man diese Primzahl wieder in ein DeCSS-Programm zurückverwandeln.

DeCSS als illegale Primzahl:
4856507896573978293098418946942861377074420873513579240196520736 6869851340104723744696879743992611751097377770102744752804905883 1384037549709987909653955227011712157025974666993240226834596619 6060348517424977358468518855674570257125474999648219418465571008 4119086259716947970799152004866709975923596061320725973797993618 8606316914473588300245336972781813914797955513399949394882899846 9178361001825978901031601961835034344895687053845208538045842415 6548248893338047475871128339598968522325446084089711197712769412 0795862440547161321005006459820176961771809478113622002723448272 2493232595472346880029277764979061481298404283457201463489685471 6908235473783566197218622496943162271666393905543024156473292485 5248991225739466548627140482117138124388217717602984125524464744 5055834628144883356319027253195904392838737640739168912579240550 1562088978716337599910788708490815909754801928576845198859630532 3823490558092032999603234471140776019847163531161713078576084862 2363702835701049612595681846785965333100770179916146744725492728 3348691600064758591746278121269007351830924153010630289329566584 3662000800476778967984382090797619859493646309380586336721469695 9750279687712057249966669805614533820741203159337703099491527469 1835659376210222006812679827344576093802030447912277498091795593 8387121000588766689258448700470772552497060444652127130404321182 610103591186476662963858495087448497373476861420880529443

Man erhält die Zahl so: man komprimiert den DeCSS-Code mit gzip und interpretiert den so entstanden Datenstrom als eine einzige Zahl aus 563 Bytes. Dann sucht man eine Primzahl, deren erste 563 Bytes mit dieser Zahl übereinstimmen (nach Dirichlets Theorem gibt es unendlich viele solcher Primzahlen). Schickt man die Primzahl durch das Dekompressionsprogramm gunzip, interpretiert es die ersten 563 Bytes als korrekten Datenstrom und ignoriert den Rest ("trailing garbage ignored"). Als Resultat erscheint der ursprüngliche C-Code.

Quellen:
- heise.de/newsticker/meldung/16226
- primes.utm.edu/glossary/page.php?sort=Illegal

Ein Perl-Programm von Jamie McCarthy zur Dechiffrierung:
Perl-Dechiffrierung von 48565...29443

Ein PHP-Programm zur Dechiffrierung:
PHP-Dechiffrierung von 48565...29443