It should come as a surprise that the snoops at the US National Security Agency are running an $80 million research program with the aim of developing a quantum computer capable of breaking traditional encryption schemes. While quantum computing is very much in its infancy, that may be changing in the next few years as governments and private groups around the world embark on research efforts to take advantage of recent advances in micro and nano scale fabrication.
The interest in quantum computing is clear. For starters, factoring problems that would require time spans longer than the entire history of the universe to complete using conventional computing could be solved in minutes by a fully functional quantum computer. Furthermore, quantum computers could do much more than crack encryption codes. For instance, they could be used to study, in remarkable detail, the interactions between atoms and molecules that more accurately resemble real-world behavior. This, in turn, could enable researchers to design new drugs and new materials, such as superconductors that work at room temperature.
Today's computers perform calculations serially using bits that can be either 1 or 0. In contrast, quantum computers can make many simultaneous calculations by using quantum bits, or qubits, which can exist as both 1 and 0 at the same time. With qubits, quantum computers can operate in a truly parallel fashion, so much so that essentially all computational pathways are pursued at once, which exponentially eclipses serial processing bottlenecks. One machine cycle, one "tick of the quantum computer clock," computes not just on one machine state, but all possible instruction states at once.
But it hasn't been easy to build such systems. Qubits are notoriously tricky to manipulate, since any disturbance causes them to fall out of their quantum state (or "decohere"). Decoherence is the Achilles heel of quantum computing. A key challenge is finding ways to stave off decoherence so a quantum computer can perform with enough accuracy to allow for error correction.
To Page 2