Prime Number Encodings of CSS Descramblers

Phil Carmody's Encoding of the Anonymous C Source Code

Phil Carmody published the first illegal prime: a prime number that encodes the gzipped source of the anonymous C source code for the CSS descrambling algorithm (but without the tables). It's "illegal" because publishing this number could be considered trafficking in a circumvention device, in violation of the Digital Millenium Copyright Act, 17 USC 1201.

CSSdescramble.c Encoded as a 1401-Digit Prime Number

This prime is registered in the archive as the first illegal prime to be discovered:
4856507896573978293098418946942861377074420873513579240196520736
6869851340104723744696879743992611751097377770102744752804905883
1384037549709987909653955227011712157025974666993240226834596619
6060348517424977358468518855674570257125474999648219418465571008
4119086259716947970799152004866709975923596061320725973797993618
8606316914473588300245336972781813914797955513399949394882899846
9178361001825978901031601961835034344895687053845208538045842415
6548248893338047475871128339598968522325446084089711197712769412
0795862440547161321005006459820176961771809478113622002723448272
2493232595472346880029277764979061481298404283457201463489685471
6908235473783566197218622496943162271666393905543024156473292485
5248991225739466548627140482117138124388217717602984125524464744
5055834628144883356319027253195904392838737640739168912579240550
1562088978716337599910788708490815909754801928576845198859630532
3823490558092032999603234471140776019847163531161713078576084862
2363702835701049612595681846785965333100770179916146744725492728
3348691600064758591746278121269007351830924153010630289329566584
3662000800476778967984382090797619859493646309380586336721469695
9750279687712057249966669805614533820741203159337703099491527469
1835659376210222006812679827344576093802030447912277498091795593
8387121000588766689258448700470772552497060444652127130404321182
610103591186476662963858495087448497373476861420880529443

Click for larger image, by Michael G. K. Birkmier


Charles Hannum's efdtt.c

Charles M. Hannum <
root@ihack.net> has found two prime numbers that encode the ASCII source of efdtt.c (no gzipping involved).

The Source Code for efdtt.c

#define a(f)(i[f]^l[f+84])<<
unsigned char i[5],l[2048],m;main(n){for(read(0,i,5);read(0,l,n=2048);write(1,l
,n))if(l[m=l[13]%8+20]/16%4==1){int p=a(1)17^256+a(0)8,q=a(2)0,r=a(4)17^a(3)9^q
*2-q%8^8,u=0,w=26;for(l[m]-=16;--w;r*=2)u=u*2^p&1,p=p/2^r&1<<24;for(r=127;++r<n
;w=w>m)w+=m=p^p/8^p>>4^p>>12,p=p>>8^m<<17,u^=u>>14,m=u^u*8^u<<6,u=u>>8^m<<9,q=l
[r],q="7Wo~'G_\216"[q&7]+2^"cr3sfw6v;*k+>/n."[q>>4]*2^q*257/8,l[r]=q^(q&q*2&34)
*6^w+~m;}}

8-bit ASCII efdtt.c Encoded as a 1045-Digit Prime Number

This prime is registered in the archive as the second illegal prime to be discovered:
2074016460653017903677472467534344521594245705226432338001975411781880848297473
2162012252629326423649674236718333492380349378044503081743430155407491326162211
6487670916730142356069150132223401307589934330163387871205979271160317296252517
6515846925948207222370869477358057712621510800257817725569362039652879209586348
6487778914791330243356803595258951803008037886682253577326099967811216783769117
5708530422199648142669159978341528399248937218394014423147116519295781250982205
2186118800623249134424628063549345471923662791183960016090278575686470595524566
0850249956194329537907236082756719622073180525798609793769839466737699751924542
6195440154937918187546443141039158955249092070430176458594507271244658837716521
2076532583188993881712951838461103895935581969175481011884584167128360563592085
0810318900532514556481782133627458289501766757475484616693926572333907526057898
4271246533034800589998308977723886900151456041612338452422880449625242367511823
5464525875971882779289237794224444133041315431003383825729204210277724614216568
215235807791512957

7-bit ASCII efdtt.c Encoded as a 914-Digit Prime Number

This prime is registered in the archive as the third illegal prime to be discovered:

94547005113906444550092967769278693366458905022289787149508678380500658547107877
68896313320081644747586590318150039822306942170168246984689535277506293328078099
41985641052653334546250843140068746551409510204285254412648204329860820006786692
22872721350789756752010560690079446509850383148101390483994796016226100635363838
42243246104161389920712851872208872165636447992385159487623136526386601309835606
28712571853106580902336473221436458421842236253642700955572391421165512411203988
37682243428924234930126174181612463034415778283980959764368524689078864161430654
52768956715245947770873346440144695871931815760877677825733414994188265086066884
18599672379789376667806825669946760998769793450834470226031758413304926144676132
82199729121409933559694574074990111540914866135536618210560358040014112275153295
69224393582188949388119711056559411852982478723859225405257720734123557637234111
7844388725202230195764060843081469

Paul Jobling's Encoding of qrpff.pl

Paul Jobling renamed variables in the source of qrpff.pl (the Perl decode by Keith Winstein and Marc Horowitz) until he found a prime.
$_='while(read+STDIN,$_,2048){$a=29;$k=73;$y=142;$t=255;@t=map{$_%16or
$t^=$y^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72
,$a^=12*($_%16-2?0:$m&17)),$k^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx
"C*",$_)[20]&48){$h=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])
}@ARGV;s/...$/1$&/;$d=unxV,xb25,$_;$e=256|(ord$k[4])<<9|ord$k[3];$d=$d>>8^
($f=$t&($d>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",
@a}';s/x/pack+/g;eval
Note that there is a carriage return (\r, ASCII 13) at the end of the last line to make the resulting number odd.

ASCII Encoding of modified qrpff.pl as a 1281-Digit Prime

21686480899772634910931588711968836183053288047828759964937300466338
06033117066081047471610655132275980910277117700451812995940814472556
31393485556223000551425018572989971462408680571587687230468230083515
24341513910461525809776202533959592659224351743699730192047565739435
82998825035798067204272147997208117804533190946251916413907193770267
42692102598971412208163501011045312702852500392207954944167595217939
59737366042571159635021187160054345279600424144540734411855487173605
49146755224797020799107847052379431862095894974658311437971341570135
86092972932562015695748805432035271345974512160623893661233667315150
07843004289685602006069621021052361154586274489565107209640875228518
69831905952972542411574563805250884425713528678841461898287927891192
31819331310283518434102138208303219857561175949739999482107054231335
06434860172856506348733428146023406278811710905437445000361372118461
38416608617615077802009997441930090231993546884094267579228744136164
06271678420206560855544136208628243884057567724992173084738618973626
65356416846236120755128803205667013199886195809548054258225554044875
13159607330029571365710075601499994046386623610058775612788965594214
76823936473897324706831688864682548476513764401572928218819225535655
610391544186533738185808393409557489145177952225469754381

Phil Carmody's executable prime

Phil Carmody, inspired by a suggestion from Chris Caldwell, created this executable binary (for Intel architecture) implementation of efdtt.c represented as a prime number, registered
here.
493108359702850190027577767239076495728490777215020863208075
018409792627885097658864557802013660073286795447341128317353
678312015575359819785450548115719393458773300380099326195058
764525023820408110189885042615176579941704250889037029119015
870030479432826073821469541570330227987557681895601624030064
111516900872879838194258271674564774816684347928464580929131
531860070010043353189363193439129486044503709919800477094629
215581807111691530318762884778783541575932891093295447350881
882465495060005019006274705305381164278294267474853496525745
368151170655028190555265622135314631042100866286797114446706
366921982586158111251555650481342076867323407655054859108269
562666930662367997021048123965625180068183236539593483956753
575575324619023481064700987753027956186892925380693305204238
149969945456945774138335689906005870832181270486113368202651
590516635187402901819769393767785292872210955041292579257381
866058450150552502749947718831293104576980909153046133594190
302588132059322774443852550466779024518697062627788891979580
423065750615669834695617797879659201644051939960716981112615
195610276283233982579142332172696144374438105648552934887634
921030988702878745323313253212267863328370279250997499694887
759369159176445880327183847402359330203748885067557065879194
611341932307814854436454375113207098606390746417564121635042
388002967808558670370387509410769821183765499205204368255854
642288502429963322685369124648550007559166402472924071645072
531967449995294484347419021077296068205581309236268379879519
661997982855258871610961365617807456615924886608898164568541
721362920846656279131478466791550965154310113538586208196875
836883595577893914545393568199609880854047659073589728989834
250471289184162658789682185380879562790399786294493976054675
348212567501215170827371076462707124675321024836781594000875
05452543537 

Dave Touretzky
Last modified: Sat Sep 15 01:49:13 EDT 2001