Quantum Computing Not an Imminent Threat To Public Encryption
Bruce Schneier's latest blog entry points out an interesting analysis of how quantum computing will affect public encryption. The author takes a look at some of the mathematics involved with using a quantum computer to run a factoring algorithm, and makes some reasonable assumptions about the technological constraints faced by the developers of the technology. He concludes that while quantum computing could be a threat to modern encryption, it is not the dire emergency some researchers suggest.
While I'm critical of Schneier's work in general security consulting, he is still a god in the cryptography world. His book Practical Cryptography is a friendly guide to encryption that doesn't assume too much knowledge of the heady math involved. Plus, the man invented Blowfish, one of the most popular and fast algorithms around.
This calculation illustrates a good point about the difference between asymptotic analysis of algorithms and real-world implementation of the same algorithsm. Computer science defines "efficient" as "bounded polynomially in terms of the input size". In practice, even if polynomial has a small degree (like a cubic) it already means that the resource rquirements are very large. Theory and practice are only the same in theory.
...the rate of increase of power of quantum computers isn't faster than Moore's law. I've written more on this here.
-- SIGFPE
If it gets easy to break because of quantum encryption, then no problem! There already exists a quantum version of public key encryption. What this means is that in ~30 years, every computer will need, at the very least, a quantum co-processor. No need to panic.
http://www.iacr.org/archive/crypto2000/18800147/18800147.pdf
Public key crypto solves the main key distribution problem of symmetric crypto. One time pads have the worst key distribution issues of all crypto! So, no, one time pads won't be making any kind of come back due to this.
There's certainly no reason to go back to one-time pads. Basically all of the symmetric encryption algorithms are (mostly) quantum resistant. But, you do get a square root speed-up for attacking symmetric systems by using Grover's algorithm on a quantum computer. So, if you want to make sure you're still safe, you have to double your key length. That's not so bad, and certainly much better than using one-time pads. And, as you said, there are asymmetric algorithms that should be resistant to quantum computers. McEliece is an early public key encryption algorithm (with sort of ridiculous key lengths) which is probably safe, although you can't do signatures with it in a reasonable way. Then, there's nTru's work, which is probably what we'd use if someone figured out how to build a quantum computer tomorrow. They have encryption and signing algorithms that are reasonably fast.
It appears from the first comment on the post that it's likely that this post isn't really accurate. Shor's factoring algorithm is O(k) in number of qbits and O(k^3) in number of operations. This doesn't mean that the number of gates in the quantum computer is O(k^3), it means that the time it takes to execute the algorithm is O(k^3). It appears this discrepancy may be a result of not agreeing on terminology. I haven't checked this out thoroughly, but glancing at my copy of Mermin's "Quantum Computer Science" confirms that it's k^3 in time, and only k in space.
While it's clear a quantum computer won't be breaking your RSA keys any time soon, there's a big difference between remarking that a 4096-bit key will require "billions" of qbits and the more correct claim that it will require thousands of qbits (at least 20k qbits).
Since the Sci Am article is subscription-only, you may want to check the complete draft-version of Scott Aaronsons article for Scientific American (before editors changes) here:
http://www.scottaaronson.com/writings/limitsqc-draft.pdf
Scott posted it on his blog on 2/18, see http://www.scottaaronson.com/blog/
(The blog is often quite technical as you can expect but funny and worth following just for its non-techical bits. Circumcision and Australian models are also discussed on frequent basis.)
I doubt that we will ever figure out - and I suspect that even if we did figure out we couldn't do much about it
Since when is O(N^(1/4) polylog(N)) comparable to O((log N)^3)?
Besides, if you believe that some method is faster in practice than what the theory says, there are some RSA challenges out there with big money prizes for you to win.
One time pads are basically useless in this scenario. In order for a OTP to be useful for data transfer, you need to exchange a pad of the same size as the message via some secure mechanism. If you can exchange the key securely, then you may as well exchange the data using that mechanism instead. The only time it is useful is for things like military or diplomatic use where the sender and receiver are in the same physical location for a while (e.g. an ambassador before he goes to the embassy) and can securely exchange keys. OTPs do not give you security, they just let you move it around.
I am TheRaven on Soylent News
No, this is why you don't use secret key system like 3DES or AES. Essentially, the number of keys you need to distribute scales with the number of pairs of communicating parties. If you have N parties all wanting to communicate with each other, that's O(N^2) keys. This is fairly unlikely, though. If you have, say, S servers (banks, etc.) and C clients, it's more like O(S*C) -- though a client-server pair may separate keys for different tasks.
One-time pads cannot be reused. That's why they're called one-time. This means that the quantity of one-time pad data that needs to be securely shared between two communicating parties is equal to the quantity of data they want to exchange. Say a bank transaction involves communicating 1k of data. The bank needs to give you -- securely -- 1k of OTP data per transaction you'll want to make. Generally, this is inconvenient. Since real one-time pads are unbreakable, this just means the vector for attack is moved somewhere else -- most likely, how you communicate the OTP data. (If someone can impersonate you to a bank employee and get a few transactions' worth of pad, the security of a one-time pad is irrelevant. If you use an existing cryptographic algorithm to exchange one-time pad data, you're wasting time -- simply transmit your real data using this algorithm.) One-time pads have been used, but only in a few specific situations. In general, they're not useful.
Applying a one-time pad to data is generally done by simply XORing the pad (which consists of random bits) with the data. Reusing a one-time pad is incredibly easy to break.
I'm afraid you'll have to look those physics books back up.
Although QM computers do use basic entanglement for creating superpositions, understanding Shor's algorithm (the one everyone is concerned about since it's factoring in polynomial time) is mostly just understanding QM superposition. Entanglement gives generic QM computers great parallel processing power by superposition by explaining how QM probability wave combine under superposition, but Heisenberg limits the computing power of a QM computer in a non-trivial way as well because after you collapse the wave functions by measurement you give up the parallel processing enabled by Entanglement (e.g., if you peek inside the oven, it stops working, if some of the heat leaks out of the oven even with the door closed, it doesn't work as efficiently, the oven being the QM computer).
FWIW, Shor's algorithm essentially converts factoring into a sequence period finding exercise. You might imagine that that's something easy to do if you had a machine which given a bunch of superimposed waves with a certain modulo structure could tell you the period (hint the ones that don't modulo with a specific period with self interfere and measure as zero, where the one with that period with self-reinforce). With a QM computer you do this all in parallel with superimposed probability waves and when you measure it, the highest probability one you measure is the one that doesn't self-interfere (the ones that self-interfere has probability near zero). Basically this measurement is wave function collapse which doesn't actually depend on entanglement or heisenberg to understand (although it does require you to believe in QM wave functions and measurement operators).
Entanglement is really a strange artifact of QM that explains probability correlations that you see in QM experiments that can't be explained classically. It's really more of an artifact of the existance of probability amplitude waves (the QM wave function) rather than an effect that directly enables the QM computer. Of course if you didn't have QM wave functions you wouldn't have a QM computer so I guess that's a chicken and egg scenario. Entanglement is like the "carburator" function of the QM computer. The QM computer uses superposition of QM wave functions to work and when you have more than one QM wave function, they get entangled when you start superimposing wave functions and the way the waves entangle helps you compute in parallel so it's important to understand how these waves entangle.
Heisenberg's principle is a consequence of wave function collapse (measurement) which also limits the QM computer (this limiting effect is often called QM de-coherence). Heisenberg isn't required by a QM computer when it's computing, but you need to see the result somehow so when you measure the result, one of the side effects is the Heisenberg principle (although that's also a chicken-egg problem, since HP is a consequence of QM wave function collapse and w/o QM there's no superposition computing). The closest explanation I can think of is that Heisenberg's principle is the "heat" caused by friction of the QM computer. You need friction to stop the computer to read out the result, but at the same time you can't get rid of a little friction while it's running either (causing de-coherence). The side effect of this friction is heat.
You may have a personal opinion that superposition is a "nice way of doing statistics using discrete values for covering the not so discrete results of experiments", but there is experimental evidence that your personal opinions is at odds with physical reality. As QM computers that do QM computing (including IBM's NMR experiment which implemented shor's algorithm) have already been implemented it's hard to refute that something non-classical is going on.
It may be that in the end, QM is total malarky and there's some other weird unexpected thing going on, but there are mountains of evidence that whatever is going on, it isn't as simple as "hidden variables"
1. Entanglement: It is fact. If you send a photon through a certain type of non-linear crystal, two photons will emerge that are entangled quantum mechanically. To truly understand this requires some knowledge of quantum mechanics, a basic introduction to QM and entanglement can be found here and here if you care to learn more.
2. Heisenberg principle: You inadvertently stumbled onto the problem yourself, kinda. When trying to measure the position of the electron, you use a high energy photon and this photon. When this high energy photon interacts with the electron it alters the velocity of the electron, so you know less about the velocity of the electron. When trying to measure the velocity of the electron, you use a low energy photon. This low energy photon measures the velocity well, but it moves the electron a little bit, so you don't know its position. This issue is the essence of the Heisenberg uncertainty principle.
Parent post is absolutely correct; grandparent is absolutely wrong.
;-).
Read Scott Aaronson's blog to get a clue about quantum computing.
Also read about Schor's algorithm, which is the known algorithm to factor large numbers in log(n) time *if your quantum computer has enough entangled qubits to represent the number*. Again, though, remember that FACTORING IS NOT NP COMPLETE, only NP hard. Other NP hard problems are harder than factoring (for example, any NP complete problem
Also read about Grover's algorithm, which is a general algorithm to solve NP complete problems, and which HAS BEEN PROVEN TO BE THE FASTEST way to solve the NP complete problem of lookup in an unordered dictionary. Grover's algorithm finds the answer in n^1/2. Obviously if the fastest algorithm to solve a specific NP complete problem is n^1/2, you cannot have a way to solve all NP complete problems in log(n).
Look up Grover's algorithm and Schor's algorithm on Wikipedia, and you'll see that the GP is speaking beyond his knowledge.
I should say that I also made the mistake of thinking factoring was NP complete, and made a fool of myself on Scott's blog before the many, many people more knowledgeable than I about QC on that forum corrected me.
Every bit of traffic needs a bit from your one time pad. That limits how long the pad lasts. Yes there are storage solutions that store gigabytes but if you're using it for a lot of data it's used up fast. An OTP has to be one time use or you might as well use billboards.
Both parties need the same pad. You need to be able to ship that pad to them or hand it to them and be sure no one snooped or snoops the OTP. If the pad is compromised how do you inform the other party it has been tainted? Unless you go talk to them in person, you could phone, mail or email but those can be faked. You could have a standby code word but eh...complexity
Now you have to talk to 22,000 people. Each with a different pad. Then there are websites.
Governments would have thousands of people to handle all those details and all they were managing were 128bit keycards (paper things way before your time). Classified couriers, locked vaults, etc etc. It was and still is insanely expensive.
I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
Actually, the problem is more fundamental. What is really going on is that momentum = wavelength -- that is, what we perceive as momentum on a large scale is actually an average approximation of the existence of wavelength on a small scale. This is not intuitive at all; the only reason we believe it is because of countless experiments. But once you are willing to believe this, you see that it is logically impossible to know the position and momentum of a particle at the same time, even if you had the godlike power to measure the electron's properties without touching it. This is because for it to have both an exact momentum and an exact position, it would have to simultaneously be a perfectly non-localized wave and a perfectly localized point, which is nonsense.
Snarkiness is inversely proportional to wisdom because it emphasizes feeling right rather than being right.