Classical computers as formalised by the early giants of computer science consist, at the most basic level, of a processor, memory and a program. The processor acts on data in a predictable way and the state of the system is easily determined (this is a simplification from the original five elements - a controller, an mathematical unit, memory, and input and output units -proposed by John von Neumann in the early 1940s, while Alan Turing used four - a tape, a head to read or write to the tape, a table of inputs and outputs, and a state register - in his work during the 1930s).
Quantum computers make use of quantum physics, the rules of subatomic particles and light, to create a computing system. Where a classical computers uses binary values of 0 and 1, a quantum system can be in a state that represents either 0 or 1, or a probabilistic blend of both states, known as a "superposition," so that it has the potential to be either 0 or 1 with its value only be determined at time of measurement. These quantum bits of information, or qubits, essentially take on all possibilities until measured, when the state of the qubits collapse to an actual value.
The science behind quantum computing gets even weirder. Two particles that represents qubits in a quantum computer system - say two electrons with their up and down spin representing 0 and 1, respectively - can be entangled. That is, the states of the two particles rely on each other irrespective of the distance between them. When one electron is measured and collapses to a value, its entangled partner - whether a metre away or a light year - reacts as well. Such entanglement is a key factor in the computations that can be achieved with a quantum system.
Finally, a quantum calculation done with a certain number of qubits in essence performs the calculation on all combinations of those bits, a property that, some physicists have theorised, can only happen because the subatomic particles exist in multiple dimensions. The ability of quantum computing to attempt every possibility to a solution at the same time makes classically difficult problems, such as factoring, a snap.
However, the other side of quantum computing is that the physics makes reliable computation technically difficult. The quantum state of a particle can not be copied, a property formalised as the No-Cloning Theorem, which means that two registers in a quantum computer cannot hold copies of the same values. Measuring the state of a register also causes the value to collapse to 0 or 1, and if the qubit is entangled, means the value of the qubit's partner also becomes determined.
Such fragility makes a quantum computer a hard system in which to guarantee integrity and an easy system to corrupt through malicious attack.
Today, quantum computers are essentially at the same stage as conventional computers were at during the first half of the 20th century, with some theoretical foundations and rudimentary working hardware. Current experiments involved manipulating anywhere from 2 qubits to 13 qubits of information and working systems mainly focus on quantum key distribution for otherwise classically implemented encryption systems.