Computational problems are a focus of many computer scientists. Hardness is an asset in cryptography, where you want hard obstacles between your adversaries and your secrets.

We don't know if secure cryptography exists. People have created ciphers that were hard to break. Our internet transactions and state secrets are guarded by methods that could fail at any time.

To create a provably insurmountable barrier for adversaries, we need a computational problem that is hard enough. We know of many computational problems that seem hard, but maybe we haven't been clever enough to solve them. Maybe some of them are hard, but not as hard as they could be to secure encryption. cryptographers wonder if there is enough hardness in the universe to make cryptography possible.

Russell Impagliazzo of the University of California, San Diego created a set of questions that computer scientists could tackle one piece at a time. The state of knowledge in this area was summarized by the fancifully named Algorithmica, Heuristica, Pessiland, Minicrypt and Cryptmania. The world we live in could be any of these.

Algorithmica

In this world, the most natural questions are easy to answer. The set of problems with efficient solutions doesn't just contain the problems we've already figured out how to solve. It is easy to check a proposed solution if someone hands it to you in the NP set.

Abstractions navigates promising ideas in science and mathematics. Journey with us and join the conversation.

P and NP feel different on the surface. The problem of deciding whether your suitcases will hold all the items you want to pack for a trip is an example. If a friend packs for you, it's easy to check for missing items. The suitcase-packing problem is in NP. You might have to try many different arrangements if you pack the suitcases yourself. It's not clear if there's an efficient way to solve this problem for all possible combinations of items and suitcases. We don't know if this problem is in P.

NP has the problem of decrypting an encryption scheme. If a friend claims to have cracked a message, you can check the output of the machine to see if it matches the original message. cryptographers don't consider a scheme secure unless it can resist attacks from an enemy who gets hold of one of the machines.

P and NP are the same set of problems. A proof of this would mean there are fast algorithms for things like suitcase packing and other hard problems in NP. It would be a disaster for cryptographers since one of the problems they would be able to solve is decryption.

There are so many problems in NP that most computer scientists believe that P is different from NP. Even though the most famous problem in theoretical computer science is the ȌP versus NPȍ question, no one has ever been able to prove it. Yuval Ishai of the Technion in Haifa, Israel, said that there was no evidence that P was equal to NP.

Heuristica

In this world, there are problems in NP that aren't easy to solve, but every problem in NP is easy to solve, meaning it can be solved efficiently in most cases. If we are in Heuristica, there is an efficient suitcase-packing algorithm that nearly always succeeds, but that might fail for a few rare combinations of suitcases and items to pack. These fast and usually successful methods are called Heuristics.

There isn't a big difference between Heuristica and Algorithmica. The scheme will be useless for practical purposes if we come up with an encryption scheme in Heuristica.

Pessiland

This is not a good world. Some NP problems are difficult even on average. Any efficient algorithm will fail frequently for these problems. These are not hard problems that are useful for hiding information.

Eric Allender of Rutgers University said that they don't want to live in Pessiland.

Minicrypt

The most fundamental building block of cryptography is a one-way function, which is a function that can be carried out efficiently but is hard to solve. Cryptographers have shown that one-way functions are needed for secure cryptography. If we have them, we will get an array of speachy goodies, such as secret key encryption, digital signatures and pseudorandom number generators.

The most important problem in cryptography is whether one-way functions exist.

Cryptomania

In this world, we have enough strength to create everything in Minicrypt, as well as more advanced ciphers such as public key encryption, in which people can send messages without knowing the secret key.

Eliminating Worlds

Ishai said that most cryptographers believe that at least some cryptography exists. They don't expect a proof of this anytime soon. It would require ruling out the other three worlds and the only way to do that is to solve the problem of the NP.

Pass and his student found a new approach to sifting through the worlds. For the first time, they identified a natural problem, called time bounded Kolmogorov complexity, or K t for short, whose difficulty level creates a bright dividing line between the worlds that include cryptography and the worlds that don't. If K t is easy on average, secure cryptography can't exist. We can make one-way functions if K t is hard.

If computer scientists can prove that K t is easy on average, then every problem in NP can be eliminated. We will narrow things down to the worlds where K t is hard on average and the ones where it is easy on average.

Ryan Williams of the Massachusetts Institute of Technology said that researchers have been chipping away at Pessiland for some time.

Cryptographers want to eliminate Heuristica because they want to prove that every problem in NP is easy if K t is easy on average. If we were to rule out these two worlds, we would either live in Algorithmica, where everything is easy all the time, or we have enough hard-core cryptography.

This goal is referred to as the field's holy grail by cryptographers. Ishai doesn't expect to see it proved in his lifetime, but that is uncertain.