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


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.


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.


    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.

      # 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.