FYI.

This story is over 5 years old.

Tech

Can a Number Be Illegal?

Let's start with the fact that everything is a number.
Image: CobraCZ/Shutterstock

If information can be illegal, a number can be illegal. It's an obvious statement—numbers are information—but one that might lead to absurd conclusions, as a computer scientist named Phil Carmody attempted to demonstrate in 2001 with the discovery and publication of a stupidly long prime number representing a section of forbidden computer code implementing a DVD decoding algorithm known as DeCSS.

Understand, there is a number for everything. There is a number for you, and there is a number for me. Certainly, they are very large and in a sense arbitrary numbers, but, because there is no limit as to how large a particular number might be, we can be assured that our personal numbers exist and that they will encode every facet of our being. There is a number, one number, that encompasses every cell, every molecule in our bodies, and that same number will contain our entire past, present, and future.

Advertisement

All I'm really saying is that we can be described by information. And if we can be described by information, that information can then be encoded numerically—binary or otherwise. We can imagine much simpler and more deterministic-y things in the same way, such as computer programs. A computer program, after all, is naturally and necessarily described by a number in the form of binary machine code. We might simply take machine code, which is a long sequence of numbers that can be interpreted by a machine, and add it all up, with the result being some number.

It doesn't have to be machine code, however. Computers only understand numbers, generally, and so we have the ASCII standard, which provides for a standardized way of representing text as numbers. This post could very easily be converted into a number just by doing a one to one ASCII conversion, and so too can higher-level computer programs, like those written in C or JavaScript or whatever.

So, there are different ways of representing things as numbers. ASCII is a simple encoding in which human-readable information in the form of characters and symbols is simply swapped out for numbers. Upper-case "A," for example, is 65 in ASCII. But computer code can also be compiled into machine code, which is an arrangement of data consisting of a fundamental rearrangement or translation of information such that it can be read by a machine in the machine's own language.

Advertisement

The distinction is important when we look at a sort of number known as an illegal prime. Simply, this is a prime number that represents information that is illegal to possess. The classic case is a prime number produced by Carmody in 2001. This is a number that represents an implementation of the DeCSS decryption algorithm—which can be used to bypass DVD copyright protection—in the C programming language. More specifically, it corresponds to the binary representation of said C program once it's been compressed (gzip'd).

Carmody's prime was one of a number of creative protests against the indictment of DeCSS' creator Jon Lech Johansen by a Norwegian court. One of these protests included production of a t-shirt featuring the DeCSS C code by Copyleft LLC, which itself would eventually be named in a MPAA lawsuit seeking to suppress/prevent publication of DeCSS code. The MPAA's attack on a t-shirt is really what got Carmody going. "In simple terms I believe that source code, which is pure information to my way of thinking, cannot intrinsically be illegal," he writes. "So the banning of the Copyleft T-shirts, for example, I find to be absolutely bizarre. I therefore just wanted to have the data replicated in another form, but specifically a form which could not sensibly be considered illegal."

"The reason it is archived is not that it is supposedly illegal, but its size, nothing more."

This form was a very large prime number. The nuts and bolts of producing a prime number that can represent a computer program are a bit messy (it involves padding the original program code), but the basic idea was that Carmody's prime would be so large that it would crack the top 20 largest known primes, and, as such, it would have to be listed publicly for that reason alone.

"My original plan was to make sure that the 'bits,' the raw data, of the DeCSS code was archived somewhere where it should be beyond the reach of the law," Carmody explains. "Somewhere where the number would be allowed to be printed because it had some property that made it publishable, independent of whether it was 'illegal' or not. I needed to find a presentation of the data such that it had an intrinsically archivable quality."

"The reason it is archived is not that it is supposedly illegal, but its size, nothing more," he says.

Carmody would later go on to discover a prime offering the other aforementioned sort of program code representation—a prime that is readable (executable) by a machine. To this end, he developed what is arguably the smallest possible executable code (code that can be read by a machine) that can be represented by a prime number. It consists of a single instruction returning an empty processor register, and is represented by the number 9923. For comparison, the prime representing the DeCSS code is 1,905 digits long.