# Why does quantum cryptography give us uncrackable codes?

Why does quantum cryptography give us uncrackable codes? What makes it 'uncrackable'? Articles in for example pop science magazines always claim QC produces uncrackable coded, however I highly doubt these claims.

p.s. - Just type in 'quantum cryptography uncrackable codes' and you'll find a ton of hits.

-
Why do you find the claims questionable? – leongz May 15 '13 at 21:40
@leongz Uncrackable codes. Uncrackable. That's sounds hard to believe right? Especially if you don't know why it is uncrackable, that's why I am asking why it is. – Qubit May 15 '13 at 21:50
It is worth noting that one time pads are classical uncrackable cyphers (with the usual caveats about how inconvenient they can be and how easily a mistake in procedure or application can invalidate the guarantee). – dmckee May 15 '13 at 22:24
You do know there's a whole cryptography SE site, right? crypto.stackexchange.com/questions/3699/… – Deer Hunter May 16 '13 at 4:55
Despite the names, post-quantum cryptography is totally different from quantum cryptography. – benrg Aug 10 '14 at 0:14

Quantum cryptography ("QC") isn't a method of encryption; it's a method of generating a random shared secret (random bits known to Alice and Bob but not to the eavesdropper). Actually, if Alice and Bob don't already have a shared secret, or at least some way of authenticating each other, then they are vulnerable to a man-in-the-middle attack even if they use QC, so sometimes QC is said to be a way of expanding an existing shared secret to a longer one. You can use the long shared secret as a one-time pad, which is a (classical) provably secure encryption technique, to send the actual message over a conventional communication line.

We already have a way of expanding a short shared secret to a long one, and using it as a "one-time pad", without QC: it's called a stream cipher. The reason people are interested in QC, despite its being vastly slower and more expensive, is that the bits you get from it are true quantum randomness, whereas stream cipher bits are pseudorandom, and no one has ever managed to prove that a one-time pad with pseudorandom numbers is secure (this is related to P =? NP).

There are proofs that an eavesdropper can't learn the random bits produced by QC. However, these proofs rely not only on the correctness of quantum mechanics but also on far less plausible assumptions about the QC hardware and limitations on the actions that the eavesdropper is allowed to take. Real-world QC systems have been successfully attacked by violating those assumptions. So QC is "unconditionally secure if certain conditions are met", and I'm not sure that those conditions can ever be met in reality.

-

Because the very act of viewing the code changes it. Maybe not uncrackable but any sniffing will be evident because it will be changed. From RSA Laboratories:

Quantum cryptography has a special defense against eavesdropping: If an enemy measures the photons during transmission, he will use the wrong basis half the time, and thus will change some of the polarizations.

-

Quantum cryptography is pretty technical, but here is an elementary argument.

The Heisenberg uncertainty principle implies the no-cloning theorem for quantum-mechanical systems. If you could make an exact copy of a quantum-mechanical system, you could use one copy to measure its position, and the other to measure its momentum. This would violate the Heisenberg uncertainty principle. Therefore it should not be possible to do this kind of copying.

This doesn't immediately imply unbreakable codes, but it does imply something similar, which is a communications channel that can't be snooped on, because copying the stream of quantum information would require cloning.

-
No-cloning is a consequence of linearity/unitarity. The Heisenberg uncertainty argument seems wrong to me. I would think: Even if you could clone a system to get multiple copies, measured values of conjugate variables (say position and momentum) would have spreads which satisfy the uncertainty principle. That's because both the conjugate variables are simply not defined to arbitrary precision, even in principle. – Siva May 16 '13 at 7:21
@Siva: Good point. You could also clone the state $n$ times and measure an average, but that still only measures the average with good precision, not the "actual" value, which, as you point out, is not defined. – Ben Crowell May 16 '13 at 14:51
An answer I gave on phy.SE might be of interest to you. My understanding is from on a talk/discussion based on golem.ph.utexas.edu/~distler/blog/archives/002561.html – Siva May 17 '13 at 5:17