(A Javascript-enabled browser is required to email me.)
Tasty logo, award



TBTF Log



This is the TBTF Log, the place where I report important breaking news in the most timely way possible.

About this Web log.
Link using this permanent URL.
Previous weeks' logs table of contents.

2001-03-16

3:21:04 PM
  • updated An illegal prime number. A mathematician has generated a prime number which, by a suitable application of twisted legal logic, may be construed as being illegal in the United States. The 1401-digit number, discovered by Phil Carmody of Nokia, is shown in decimal form below and on Chris Caldwell's Prime Curios site at the University of Tennessee at Martin. If you were to write this same number in hexadecimal form, they say, it would be a gzip file of the original form of DeCSS -- a C program that decrypts DVD movies. (I have not tested this assertion, nor did the original poster to the Random mailing list.) Courts have ruled that this program is an illegal circumvention device under the Digital Millenium Copyright Act. See Dave Touretzky's Gallery of CSS Descramblers for many more artistic forms of this illegal code.

    Thanks to TBTF Irregular Monty Solomon for word on this prime story.

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

    here Updated 2001-03-20, 5:45 pm: TBTF Irregular Jamie McCarthy provided this compact perl program to grab the prime from the UTM site, pack it into binary, and feed it to gunzip. Below is an updated version that works on Windows and with slightly older versions of perl. (Jamie thanks Ted Anderson and Gregory Krohne for pointing out Windows issues and for testing on Windows.)

    I have verified that running this program on a Net-connected machine outputs four subroutines of DeCSS (CSSdescramble, CSStitlekey1, CSStitlekey2, and CSSdecrypttitlekey). Brad Threatt wrote to note that the tables needed to actually compile and use this code are missing. Both McCarthy and Threatt pointed out that this prime-number trick is possible because of a particular of the gzip format: it ignores any bytes after the end of the gzipped content, so you can add bytes until you achieve a prime number.

      #!/usr/bin/perl
      # Public domain. Questions to Jamie McCarthy, jamie@mccarthy.vg
      use LWP::Simple;
      use Math::BigInt;
      my $html = get("http://www.utm.edu/research/primes/curios/48565...29443.html");
      my($prime) = $html =~ m{<blockquote>([^<]+)</blockquote>};
      $prime =~ tr{0-9}{}cd;
      $prime = Math::BigInt->new($prime);
      my $binary = '';
      while ($prime > 0)
          {
          $binary = pack("N", ($prime % 2**32)) . $binary;
          $prime /= 2**32;
          }
      $binary =~ s{^\0+}{};
      local *FH;
      open(FH, "| gunzip -acq") or die "cannot gunzip, $!";
      binmode FH;
      print FH $binary;
      close FH;
12:58:33 PM

About this Web log

email address

Subscribe Unsubscribe

This venue presents more timely and less "cooked" TBTF news coverage. You'll read here things that came through my desktop machine mere minutes before.

You can receive a collected week's worth of TBTF Log items by email every Sunday evening; simply fill out the form.

Do you value this service?

Be a TBTF Benefactor
The email and Web editions of Tasty Bits from the Technology Front represent my best effort to present engaging, cogent news and analysis on what matters to the life of the Net. The TBTF newsletter will continue as before. Here is the current issue.






TBTF
H
OME
CURRENT
ISSUE
TBTF
L
OG
TABLE OF
CONTENTS
TBTF
T
HREADS
SEARCH
TBTF



Powered by Blogger

Copyright 1994-2014 by Keith Dawson. Commercial use prohibited. May be excerpted, mailed, posted, or linked for non-commercial purposes.