BB84 protocol works followingly:

  1. Alice generate $N$ random qubits $a_i$ in state either $|0\rangle$ or $|1\rangle$ . These will be a key. Then she prepares $N$ random bits $b_{i}$. If $b_i=0$, an identity gate is applied and qubit is left in either state $|0\rangle$ or $|1\rangle$. If $b_i=1$ then Hadamard gate is applied changing qubit $a_{i}$ to either state $|+\rangle$ or $|-\rangle$. After that qubits are sent to Bob.
  2. Bob generates $N$ random bits. According to value of $b_{i}^{'}$ he applies either identity or Hadamard gate on received qubit $a_{i}$ and measure it, receiving either 0 or 1.
  3. Alice and Bob compare bits $b_i$ and $b_i^{'}$. If they are equal, now classical bit $a_i$ is preserved and become part of the key. About $N/2$ of $a_{i}$ bits are preserved on average.
  4. Alice and Bob send each other $N/4$ $a_{i}$ bits to analyze a noise level. In case the level is higher than some threshold (natural noise level of chanel used for a quantum communication), there is a high probability that Eve tried to catch communication between Alice and Bob. In such case current key is dismised and the process start again.
  5. Alice and Bob reconcile key obtained in step 4 to ensure that both have the same key, cleaned from noise. At the same time they have to amplify privacy to hide the key from Eve because this communication is done via classical channel.

So, my question is how the step 5 is done in practice? To reconcile the key, they have to exchange some information about it. I found that a hash function can be used for concealing information about the key from Eve as much as possible. However, if the information is hidden, how can Alice and Bob repair the key to ensure they have the same one?


It is important to note that Step 5 is a classical step.

Different protocols exist to correct keys, for instance the Cascade- and Winnow-protocols. With this you reveal bits of information in specific ways, due to which you learn if there are errors and where these are located.

| improve this answer | |
  • $\begingroup$ If I understand correctly, you can repair erros without "decoding" the key? $\endgroup$ – Martin Vesely Mar 20 at 11:39
  • 1
    $\begingroup$ In the Cascade and Winnow protocol you have the raw key. You perform the error correction, which reveals some bits, and then perform a hash function for privacy amplification. $\endgroup$ – nippon Mar 20 at 11:42
  • $\begingroup$ For a detailed tutorial on the Cascade protocol see hikingandcoding.wordpress.com/2020/01/15/… $\endgroup$ – Bruno Rijsman May 17 at 13:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.