Quantum Cryptography

Now, let me
discuss the BB84 protocol. It is based on the name of the inventors
Charles Bennet and Gilles Brassard, and it was invented in
1984. Quantum cryptography follows two steps. The first one is sending the
secret key, and the second step is sending the message. Here, Alice and
Bob make use of two fundamentally different communication channels:
a classical channel and a quantum channel. A classical channel is something
that you use on the Internet to transfer data. In a classical channel, Eve can
observe the bit-stream without affecting the data. But, a quantum channel
is something different. It is capable of sending information in terms of
quantum, and Eve can't observe the data without affecting the data. In the BB84
protocol, the secret key is sent through the quantum channel, but the message is
sent through the ordinary channel but encrypted by the secret key. The first
step is called Quantum Key Distribution (QKD). In this step, Alice and Bob
use the quantum channel for communication.

First, let's imagine there
is no Eve between Alice and Bob. Let's assume that Alice is using two types of
polarizer: one is a diagonal polarizer (X) and one a rectilinear polarizer (+). In
a rectilinear basis, a photon with a spin "|" (that is, up to down ) is considered
as 1, and a "-" (that is, left to right) is 0. In a diagonal
basis, a photon
with a spin "/" is considered as 1, and "\" is 0.
The diagram shown in Figure 5 should help you understand how I'm
representing photons as binary values.

Figure 5. Binary Encoding of Photons in My Examples

Now Alice has a key, and for each bit, she will select a random basis
(either diagonal or rectilinear) to encode the bit
to send. Nobody, not even Bob, knows what basis Alice is using. Bob will
receive the encoded qbits, and Bob will use random basis to decode the
qbits. If he uses the same basis, he will get the exact bit that
Alice sent; otherwise, there is a 50% chance that he will get a wrong
bit.
For example, if Alice uses a diagonal basis to encode 1, and Bob also
uses diagonal basis to decode that, then he will get a 1. If he uses a
rectilinear basis, then there is a 50% chance that he will get a 1 and a 50%
chance of getting 0. As Bob is also using random basis, there's a 50% chance
that he will use the
right basis (that is, he will use the basis that Alice used) and will decode
50% of qbits exactly, and for the 50% wrong basis, he will decode 25% of qbits
exactly, and that means Bob will decode 75% of qbits exactly.

Alice and Bob will
exchange the basis they used for each bit using the normal channel without
revealing their bits. They can check for which bits they both used
the same basis, and those bits will be used as the secret key. Consider
the example shown in Table 1 where Alice is sending the secret key 100101.

Table 1. Alice Sending the Secret Key 100101

Alice

Bob

Basis used

+,X,+,+,X,X

+,+,+,X,+,X

In this case, Bob will decode the key as 1,0/1,0,0/1,0/1,1. Because Bob has
used some wrong basis to measure the qbits, he may get a 0 or 1 randomly
on those cases. Then, they will exchange their basis with others, and
they will find that in positions 2, 4 and 5, Bob used the wrong basis. So
they will use the rest of the bit (1st, 3rd and 6th bit) string as the secret
key—that is,
101. The rest is simple, just encrypt the message using that key and
send it.

The situation becomes critical when Eve comes
into action. As they are connecting using the public channel, it is quite possible
that Eve will intercept the communication. In this case, as with the previous
case,
Alice encodes the bit information using any basis and sends it to
Bob, but now Eve intercepts the qbits. Like Bob, Eve also has a decoder of the
qbit. But Eve also doesn't know the basis Alice is using, so like
Bob, she also randomly uses basis to decode the qbits. There is a 50% chance
that Eve will use the right basis, and a 50% chance she will use the wrong
basis. For the correct 50%,
the photon's spin direction will not be affected, but for the wrong 50%,
the photon's spin direction will be changed. For the 50% of qbits for which
Eve used the right basis, Bob will use a 25% right basis and 25% wrong basis, and
for the right 25% of qbits, he will get a 25% right qbit, and for the wrong 25%
basis Bob used, he will get 12.5% of qbits correct just due to probability. That
means from the first 50% for which Eve used the right basis, Bob will get 37.5%
correct qbits. For the rest of the 50%, again Bob will use 25% right and 25% wrong
basis. From this, Bob will get 12.5% and 12.5% due to probability, which
means he will get 25% right qbits. So when Eve is between them, Bob will
have 37.5 + 25 = 62.5% accuracy.
Figure 6 demonstrates this calculation.

Figure 6. Accuracy Calculation for Bob When Eve Is Intercepting

In Figure 6, the node with "**", like C**, represents the nodes where Bob
decoded the qbits correctly, and the node with "*", like F*,
represents the
nodes where Bob decoded the qbits incorrectly. One question that may arise is
why does Bob get 12.5% accuracy (in E,L) when he used the wrong
basis? Remember that when you use a wrong basis to
decode a qbit, there is a 50% chance that you will get a 0, and a 50% chance
that you will get a 1.
By this logic, Bob will have 12.5% accuracy from D. Similarly,
in the case of I, when Bob has used the correct basis (with respect to Alice's
basis) but Eve already has changed the polarization of the qbits using the
wrong basis, Bob has a 50% chance of being right and a 50% chance of being wrong.

So overall, Bob gets 12.5% right qbits in I and 12.5% wrong qbits in J. Now they will
match the basis they used for each qbit, and they will use the bits where
Bob used the correct basis, and they will throw out the bits for which
Bob used the wrong basis. Now they need to check whether Eve is listening.
For that purpose, they will use a subset of the matched key (after
throwing out the bits for which Bob used wrong basis) and compare with others
using the normal channel. Bob will have 100% accuracy if Eve is not there;
otherwise, Bob will have 75% accuracy in the basis comparison. If the accuracy is
100%, they will discard the set of bits they used for matching, and
the rest of the bit string will be used as the key to encrypt the message. If 100%
accuracy is not observed, they will try again to get a key using QKD.

In Table 2, Alice is sending a key of "01101011" to Bob
using two types of polarization as stated above.

Table 2. Alice Sending a Key of 01101011 to Bob Using Two Types
of Polarization

Alice's basis

+

X

+

+

X

X

X

X

Alice's data

0

1

1

0

1

0

1

1

Eve's basis

+

+

X

+

X

X

X

+

Eve's data

0

1

0

0

1

1

1

0

Bob's basis

+

+

+

X

+

X

X

X

Bob's data

0

0

0

0

0

1

1

1

Now Alice and Bob will compare their basis, and they will find that Bob has
guessed the 1st, 3rd, 7th and 8th basis correctly. So they will throw out
the bits for the remaining positions—that is, the 2nd, 4th, 5th and
6th. Now the key is
"0011". They will choose the first two bits for matching, and then they
will find that their second bit in the key is different, which means Eve
is between them. Then they will repeat the same procedure again until
they get a 100% key match. When they get a key, they easily
can encrypt the message using the key and send it via the public network.

Subhendu Bera is from West Bengal (India). He completed his Master of
Science degree in Computer Science from
Banaras Hindu University and his Bachelor of Science degree in Computer Science
from University of Calcutta.