IBM announced Q, a project for a 50-qubit universal quantum computer, according to the press realease. Here is more PR spin, and the research sub-page.
What would be the applicability of that to cryptanalysis?
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It only takes a minute to sign up.
Sign up to join this communityIBM announced Q, a project for a 50-qubit universal quantum computer, according to the press realease. Here is more PR spin, and the research sub-page.
What would be the applicability of that to cryptanalysis?
TL;DR: Not much. If the qubits were very high quality, some very tricky algorithms could use them to do some algorithm subprocesses more quickly, but we actually have more quantity than quality. So it's just research for now.
A 50-qubit universal quantum computer could use Grover's algorithm to invert a 49-bit function in time $\approx7$ steps instead of $\approx25$ steps classically, yielding a speedup of 3.5, on the optimistic assumption that only 1 bit of overhead is needed to compute the function. Put another way, if you wanted to invert lots of 49-bit functions, a 1 GHz quantum computer with 50 qubits would be similar to a 3.5 GHz classical computer. Less optimistically it would take 25 bits, working on 25-bit functions with a speedup of 2.5. Not very exciting IMO.
A 50-qubit universal quantum computer could use a variant of Shor's algorithm with Griffiths & Niu/Kitaev recycling (iterative phase estimation) with an adaptive circuit to factor a 49-bit number. I'm not sure exactly how long this would take, but you'd probably use a standard QFT plus schoolbook or possibly Karatsuba multiplication at that size, taking something like 100,000 steps. That's good, assuming a decently-clocked quantum computer, but a classical computer only takes half a millisecond to do the same with SQUFOF, so there are no cryptographic implications yet. Quantum speedup is, very roughly, a factor of 15 here. Without an adaptive circuit, you're down to 24 bits with Häner, Roetteler, & Svore which pretty much wipes out any quantum advantage.
A new quantum factorization algorithm, VQF, has been discovered that is well-suited to this sort of small quantum computer. Unfortunately, it does not scale well, not even as well as classical algorithms, and in particular does not display quantum advantage. It was able to factor an apparently large number, but this took a large amount of classical effort which isn't useful if you're using the quantum computer to offload classical work.
Generally, 50-75* qubits is where things start to get interesting for quantum supremacy, 100-200 qubits for quantum chemistry, 1000-2000 qubits for number theory and 2049-10000 qubits for crypto. (You get some good stuff before then, admittedly.) All of this is for high-quality universal quantum computers. Adiabatic quantum computers and quantum annealers are interesting but aren't known to outperform classical algorithms in anything other than simulating themselves.
This assumes extremely high-quality qubits, in the sense that the chance of any decoherence during the computation is, say, < 50%. So for Grover's algorithm you'd need 99.8% nondecohering qubits and for Shor you'd need 99.99999% nondecohering qubits. If you can't get there, but you can get close, you can just rerun the calculation until it works, but a lot of patience only makes up for a little bit of quality. If you can't get to that quality level then conventional wisdom says you'll need to increase the number of qubits by a factor of at least 10-1000 for error correction. I don't know what's state of the art but Calderbank, Rains, Shor, & Sloane have two papers. A careful reading of the latter shows that the most basic form of error correction—single-qubit error correction—'costs' 8 qubits using a shortened version of the [[85, 77, 3]] Hamming code. But actually encoding it requires ancilla qubits, and I don't know a way of doing this efficiently. The best scheme I'm aware of, via Chao & Reichardt, requires only two qubits for ancilla but costs 12 qubits if we can shorten the [[63, 51, 3]] Hamming code to [[48, 36, 3]], or effectively 27 (!) qubits if we have to use the [[31, 21, 3]] Hamming code. (The Hamming code can definitely be shortened, I just don't know if the Chao–Reichardt method would work with the shortened code or not.) So with current technology a 50-qubit quantum computer could simulate either 21 or 36 qubits with minimal error correction, depending on which of my interpretations is correct. If anyone knows a better approach please let me know.
Current quantum computers are hitting the low end of the number of qubits but can’t get the required quality for the desired calculation depth. Google’s quantum supremacy paper discusses simulating depths up to 20 requiring tens of millions of runs to distinguish signal from noise; it would hardly be possible to run a circuit of depth 25 on that machine, even with great effort. But depths of thousands or millions will be required, so we have a long way to go. Still, progress!
* Recent advances in classical simulation pushed it up from earlier estimates of 40 qubits.
What would be the applicability of that to cryptanalysis?
It wouldn't appear to have any direct applicability to cryptanalysis, for two reasons:
50 Qbits is just not enough to attack any cryptographical problem; to apply either Shor's or Grover's algorithm against any realistic problem, you'll end up needing thousands.
It doesn't appear that they're addressing the decoherence issue. That is, in a quantum computer, you'll end up getting random perturbations to the running state. Cryptographical computations take quite a long time (far longer than we can go without expecting such a random event to occur), and are quite sensitive to such perturbations. What they'll need to do is run error correction logic (which has multiple physical qbits stand for the one logical one, and has logic to detect such a perturbation on one of the physical qbits, and correct it).
Now, I'm not saying that what IBM is trying to build is useless; for one, it would appear that the computations that Chemical modeling requires fits nicely into what they have.
And, while this isn't immediately useful for cryptography, it is another step towards a Real Quantum Computer (where "Real" means "can actually solve an interesting cryptographical problem).
I am not 100% sure if there is a direct use specific to cryptoanalysis. However, if this machine is applied to another discipline, such as machine learning and data science in general, it could have an effect on crypto work. For example, in data science, neural networks can be an effective tool for solving many problems. The issue is that they are painfully slow and is one of those rare cases where throwing more hardware at the problem can be a solution.
So while there may not be a direct link to crypto as we stand right now, who knows what the future may bring.