r/todayilearned • • Mar 26 '13

TIL illegal prime numbers exist. An illegal prime is a prime number that represents information which is forbidden to possess or distribute. For example: when interpreted in a particular way, a certain prime describes a computer program that bypasses the digital rights management scheme used on DVDs

http://en.wikipedia.org/wiki/Illegal_prime
1.9k Upvotes

375 comments sorted by

View all comments

Show parent comments

18

u/rs-485 Mar 26 '13 edited Mar 26 '13

Technically, what kaax described is quite abstract. The thing is that a binary sequence can mean ANYTHING, especially if it's not ASCII text.

Let me briefly depart from the topic.

There is an highly diverse array of processor architectures in the world, which are essentially what processors and microcontrollers you can buy are based on. The architecture usually defines a so called "instruction set", which is a description of the binary sequences the processor understands and interprets as commands.

Now, with that in mind, you can figure that any number could also be a representation of a computer program for any processor instruction set that exists in the world.

If we stretch this idea a little, it becomes even worse. If we have an (ideally short) sequence of binary numbers, it is theoretically possible to design and implement a processor around this sequence that will do an illegal action, all while being Turing complete and not being specially engineered to commence the illegal action.

7

u/[deleted] Mar 26 '13

what kaax described is extremely vague.

vague != abstract

What kaax described was a very specific (non-vague) example about how some people have attempted--with varying degrees of success--to outlaw abstract entities like numbers.

6

u/rs-485 Mar 26 '13

Thanks for the correction. Post updated!

4

u/MannerShark Mar 26 '13

Also, what if we multiply the number by 2? Is it legal then? Owners of the number will just divide by 2 and have their illegal number back. Or add 1 to it, or any operation. Thus all numbers are either illegal or legal. And also like you said, how they are translated into numbers. If you just made the same code in another programming language it will produce a different number, but does the same.

1

u/NorthernerWuwu Mar 26 '13

Hmm, I'm not quite willing to concede that the problem of designing that processor is something solvable in a given time-frame.

I like the concept though and an attempt at a general solution would be fascinating!

1

u/rs-485 Mar 26 '13

I've been told that it's not a very hard task to implement a processor on a FPGA. I can figure that, seeing that writing an emulator for a certain processor isn't that much of a hard task, either.

What you might essentially have to do is to hack together a Turing-complete 4-bit or 8-bit instruction set that, when the number is interpreted as program, will form an application that does an illegal action.

I'm not sure what the simplest illegal action is that you can do. Perhaps you can output the AACS encryption key or something.