Posted
by
Unknown Lameron Wednesday April 25, 2012 @12:41PM
from the very-serious-faces-throughout dept.

mikejuk writes with this excerpt from I Programmer: "A movie that features science and technology is always welcome, but is it not often we have one that focuses on computer science. Travelling Salesman is just such a rare movie. As you can guess from its name, it is about the Travelling Salesman problem, more precisely about the P=NP question. Written and directed by Timothy Lanzone, and produced by Fretboard Pictures, it should premiere on June 16. As the blurb to the movie trailer says: 'Travelling Salesman is an intellectual thriller about four of the world's smartest mathematicians hired by the U.S. government to solve the most elusive problem in computer science history — P vs. NP. The four have jointly created a "system" which could be the next major advancement for humanity or the downfall of society.'"

Since when is cryptography NP? Cracking any encrypted message takes a well-defined amount of time, derived from available computing power and the length and complexity of the key. Faster computers will help you here. Better factoring algorithms may help you here. But P=NP will not help you crack anything.

It's uncertain what complexity class factorization in, but the best known techniques are not in P. P=NP therefore implies there is indeed a 'better' factorization algorithm. And so, you can crack encryption faster.

Cryptography relies on problems that are very hard to solve without a key, but when you have the key are easy. NP problems have the property that if you know the solution, it's easy to prove that you have the solution, but finding a solution is otherwise really hard. Take factoring for example, which is an NP problem - take two really big primes, and multiply them. Give the result away to anyone who asks. If the primes are big enough, they won't be able to figure out your original primes, but anyone who has either of the original primes can find the other with ease. RSA is dependant on that property. If I can find those two primes quickly from just public key, I've cracked RSA. If NP=P, then factoring is no longer a hard problem.

Factoring is NP, since we can verify the results in polynomial time. It's not NP-complete, so finding a polynomial algorithm for factoring doesn't necesarily mean that there's one for 3-SAT or TSP, but if we find a polynomial algorithm for TSP, then there is one for factoring.

In cryptography you're looking for a problem that is asymmetric. NP is your ideal, but as a lot of other people have pointed out, practical cryptographic algorithms are a not ideal. IBM actually had a cryptography algorithm based on the TSP once, but they must have found a flaw because it was never popularized.

A lot of people confuse NP and/or 'intractable' with 'impossible'. They do not mean the same thing. Intractable problems are often practically impossible, if for instance it would require more mass than the entire universe to calculate the answer. But since our understanding of physics is incomplete, we can't say for sure how big a 'perfect' computer you'd need to solve a certain problem, so you can't categorically say that it's impossible. All you can say is "we can't do it today." or "That's a problem for my grandchildren to deal with... hopefully."

Remember that for certain inputs an NP-Complete problem can be solved on the back of an envelope. If I tell you to place a dot in the middle of the envelope, and one more or less near each corner, you can find the shortest path in a few minutes. It's an NP complete problem, but it's still trivial to solve. NP is not a magic wall. It all depends on the context (ie, the inputs).

You forget that there is no way to decide in polynomial time if the text you got is the plaintext. That's why the one-time pad is provably secure: Every text of the same length could be the plaintext, and without knowing the key, you cannot distinguish between "Attack tomorrow 10:00" and "We should surrender!!"