- #1
Chen
- 977
- 1
I'm having some doubts about this technique... assuming Alice sends Bob 1,000 polarized photons. Our eavesdropper Eve will be able to measure 500 of them correctly, and she will also measure 250 other correctly by mistake (when using the wrong polarization to measure the photons, there's a 50% chance they will be measured either way). So in total she knows 750 of the bits. But half of all bits will be discarded, because Bob will use the wrong polarization half of the time. So in total, of the 500 bits Alice and Bob are going to work with, Eve would have 375 correct ones (half of 750), just like Bob.
My question is, how can Alice and Bob apply error correction codes when Bob and Eve have the same knowledge regarding the bits? It seems that no matter what Alice and Bob, Eve will know at least as much as Bob does and therefore will be able to know the final corrected key, just like Bob.
In fact, it looks to me like Eve knows even more than Bob! Bob doesn't know which of the photons were incorrectly measured by Eve, so he doesn't which of the bits he knows are correct and which are possibly correct. Eve, on the other hand, knows which polarization Alice used to begin with (since Alice and Bob compare them publicly on an open channel), so she knows exactly which bits are correct for sure and which are not. The random shuffling of the bits by Alice and Bob doesn't really help, either, because it is also done over a public channel so Eve can shuffle her bits accordingly.
So when Alice and Bob start comparing parities, as part of the error correction routine, Eve can also compare the parities of her bits to the parities decalred by Alice and Bob. If the parities of Alice and Bob don't match on one block, that's great for Eve - they will start bisecting the block into smaller blocks and Eve will be able to learn even more about their data. Eve is only in trouble if the parities of Alice and Bob match, but Eve's don't. But even then it's possible that there were an even number of errors on that block, and on the next round of error correction the parities won't match and Eve will become smarter yet again.
This seems like a pretty big flaw, so I'm sure it's been thought of before and dismissed. Could anyone please shed some light?
Thanks,
My question is, how can Alice and Bob apply error correction codes when Bob and Eve have the same knowledge regarding the bits? It seems that no matter what Alice and Bob, Eve will know at least as much as Bob does and therefore will be able to know the final corrected key, just like Bob.
In fact, it looks to me like Eve knows even more than Bob! Bob doesn't know which of the photons were incorrectly measured by Eve, so he doesn't which of the bits he knows are correct and which are possibly correct. Eve, on the other hand, knows which polarization Alice used to begin with (since Alice and Bob compare them publicly on an open channel), so she knows exactly which bits are correct for sure and which are not. The random shuffling of the bits by Alice and Bob doesn't really help, either, because it is also done over a public channel so Eve can shuffle her bits accordingly.
So when Alice and Bob start comparing parities, as part of the error correction routine, Eve can also compare the parities of her bits to the parities decalred by Alice and Bob. If the parities of Alice and Bob don't match on one block, that's great for Eve - they will start bisecting the block into smaller blocks and Eve will be able to learn even more about their data. Eve is only in trouble if the parities of Alice and Bob match, but Eve's don't. But even then it's possible that there were an even number of errors on that block, and on the next round of error correction the parities won't match and Eve will become smarter yet again.
This seems like a pretty big flaw, so I'm sure it's been thought of before and dismissed. Could anyone please shed some light?
Thanks,
Last edited: