In reference to a recent article titled 'Quantum Computer Time Reversal: Can It Happen?', I would like to try to explain how quantum computing works. Quantum computing is very different from traditional digital computing. Although a basic knowledge of traditional computing would prove useful from here on out.
Quantum computers use qubits, formally known as quantum bits, instead of binary digits. Qubits can exist in an indeterminate state where we can't tell whether they'll be measured as a 0 or a 1. Quantum computers are programmed using sequences of logic gates of various kinds, but programs need to run quickly enough that the qubits don't lose coherence before they're measured. The ordinary bits we use in typical digital computers are either 0 or 1. You can read them whenever you want, and unless there is a flaw in the hardware, they won't change. Qubits aren't like that. They have a probability of being 0 and a probability of being 1, but until you measure them, they may be in an indefinite state.
There are plenty of reasons quantum computers are taking a long time to develop. For starters, you need to find a way to isolate and control a physical object that implements a qubit. That also requires cooling it down to essentially zero. Even at such a low temperature, qubits are only coherent for a very short time. That greatly limits the flexibility of programmers in how many operations they can perform before needing to measure a result. Not only do programs need to be constrained, but they need to be run many times, as current qubit implementations have a high error rate. Additionally, entanglement isn't easy to implement in hardware either. In many designs, only some of the qubits are entangled, so the compiler needs to be smart enough to swap bits around as needed to help simulate a system where all the bits can potentially be entangled.
As confusing as all of this may be, it is essentially the harsh wiping of a surface, as to say the surface has yet to be scratched. In the meantime, quantum computers can do one simple task that's important for encryption quite well: they can generate truly random numbers. It's unlikely that expensive quantum computers will be deployed just for that purpose, but once they're in use, it will be a useful capability.