Here’s my attempt at a simple explanation.
In mathematics and computer science, there are different complexity classes of problems. Basically, a problem is classified based on several factors of how the resources (like time and storage space) of the problem grow as the size of the problem grows.
Consider the (simple) problem of adding a string of numbers. 2 + 3 = 5 takes one operation. 2 + 4 + 7 = 13 takes two operations (adding 2 and 4, then adding that to 7). In general, adding up n numbers takes n-1 operations, so we could say that adding up numbers is of linear complexity. Now consider the problem of finding two things that match a given characteristic out of some set of things. To do so, you’ll have to look at each pair of things until you find some that match. When you add one more thing to your set, you’ll have to compare it with each of then n things you already have, so this problem grows quadratically: the time it takes to solve is n[sup]2[/sup]. And so on for higher-order polynomials. In computer science, all problems that have running time proportional to some polynomial function are considered part of the same complexity class, P (which stands for Polynomial).
Current computers are quite good at solving problems in P, even for fairly large n.
But there are other, much harder problems, problems where the only way to find the solution is to just try every possible solution, and see if it works. Oh, and the number of possible solutions grows exponentially with the input size. Current computers are really bad at solving these problems of any reasonable size. The possible solution set is just too big to test before the universe burns itself out.
Some (not all) of these problems that take a really long time to solve with convential computers (2[sup]n[/sup] time), take a pretty short time to solve using Quantum computers (sqrt(n) time). These problems are part of the class BQP. Factorization of numbers (which is a very important problem for computer security and encryption) is one of these problems. To see why people are so exciting about quantum computers, consider one of these hard problems with 50 bits of input, where testing an answer takes 1 second. On the traditional computer, that problem will take 2[sup]50[/sup] seconds, or about 35 million years, to solve. On a quantum computer, that problem will take sqrt(50) seconds, or about 7 seconds to solve. Sure, modern computers perform millions of calculations per second, but 50 is a relatively small number. When you start to run problems on databases with thousands or millions of entries, it’s just impossible to ever complete them with non-quantum computers.
Now, for someone who knows more about this than I do: Why can’t quantum computers solve NP problems?