# Quantum Cryptography

Classical cryptography provides security based on unproven mathematical assumptions and depends on the technology available to an eavesdropper. But, these things might not be enough in the near future to guarantee cyber security. We need something that provides unconditional security. We need quantum cryptography.

Imagine you want to send a message to your friend, and you don't want others to be able to read the message. You lock your message in a box using a key and send the box to your friend. Your friend also has a key to unlock that box, so he easily can open the box and read the message. In general, this is the technique used by cryptographic algorithms. Locking the message in the box is like encryption, and unlocking the box is like decryption. Before sending the message to the receiver, the data is encrypted using an encryption algorithm and a secret key. On the receiver side, the encrypted data is decrypted using the reverse encryption algorithm.

Classical cryptographic algorithms mostly rely on mathematical approaches to secure key transmission. The security they offer is based on unproven assumptions and depends on the technology available to an eavesdropper. But, rapidly growing parallel and quantum technologies may be a threat to these classical cryptography techniques in the near future. One of the solutions to these threats is quantum cryptography.

What is quantum cryptography? Quantum cryptography is a complex topic, because it brings into play something most people find hard to understand—quantum mechanics. So first, let's focus on some basic quantum physics that you'll need to know to understand this article.

### Simple Quantum Physics

Quantum, in physics, is a discrete natural unit, or packet of energy, charge, angular momentum or other physical property. Light, for example, appears in some respects as a continuous electromagnetic wave, but on the submicroscopic level, it is emitted and absorbed in discrete amounts or quanta. These particle-like packets (quanta) of light are called photons, a term also applicable to quanta of other forms of electromagnetic energy, such as X rays and gamma rays.

One unique thing about quanta is that they can exist in all of their possible states at once. This also applies to photons. This means that in whatever direction a photon can spin—say, diagonally, vertically and horizontally—it does so all at once. Quantum of light in this state is called unpolarized photons. This is like someone moving north, south, east, west, up and down all at the same time. This property is called superposition. One thing you should keep in mind is that measuring something that is in its superposition causes it to collapse into a definite state (one of all the possible states). Figure 1 should help describe superposition.

Figure 1. Necker Cubes

Looking at Figure 1, you can identify one of four possibilities: either both squares are protruding forward or both are backward, or one is forward and the other is backward. Each time you look at the diagram, only one possibility is true. In a sense, all four options exist together, but when you look at the diagram, it collapses into just one. This is the essence of quantum superposition.

Through the use of polarization filters, you can force the photon to take one of its states, or technically, polarize it. If you use a vertical polarizing filter, some photons will be absorbed, and some will emerge on the other side of the filter. Those photons that aren't absorbed will emerge on the other side with a vertical spin. Thus, you can polarize the photons to your required orientation using suitable filters.

Figure 2. Polarizing Photons

The foundation of quantum physics is the unpredictability factor. This unpredictability is pretty much defined by Heisenberg's Uncertainty Principle. This principle says that certain pairs of physical properties are related in such a way that measuring one property prevents the observer from knowing the value of the other. But, when dealing with photons for encryption, Heisenberg's Principle can be used to your advantage. When measuring the polarization of a photon, the choice of what direction to measure affects all subsequent measurements. The thing about photons is that once they are polarized, they can't be measured accurately again, except by a filter like the one that initially produced their current spin. So if a photon with a vertical spin is measured through a diagonal filter, either the photon won't pass through the filter or the filter will affect the photon's behavior, causing it to take a diagonal spin. In this sense, the information on the photon's original polarization is lost.

Figure 3. Effect of Various Basis on Polarized Photons

In the diagram in Figure 3, I have used the wrong basis for the last two cases, and you can see that I have changed the polarization of two photons.

### Quantum Information

The bit is the fundamental concept of classical computation and classical
information. Quantum computation and quantum information are built
upon an analogous concept: the quantum bit, or qbit for short. Just
as a classical bit has a state of either 0 or 1, a qbit is like a bit,
but it is in superposition between 0 and 1. Two possible states for a
qbit are the states "|0 >" and "|1 >" . This notation is called Dirac
notation. A qbit can be fully expressed as: a|0 > +b|1 > with
a^{2} + b^{2} =
1. When we measure a qbit, we get a 0 with probability
a^{2} and 1 with
b^{2}.

Now consider a quantum computer with two qbits. There are four
possible states: |00 >, |01 >, |10 > and |11 >, and its superposition is
a|00>+b|01>+c|10>+d|11>, where a^{2},
b^{2}, c^{2} and
d^{2} are the probabilities
of finding two qbits in any of the four states. In a quantum computer,
the two bits are in all possible states at one time. So it is possible
to add a number to the two bits, which means we can add the number to
00,01,10,11 and compute the result at the same time. This ability to
operate on all states at one time makes it so powerful.

Here the number of
parallel operations depends on the number of qbits used. If N number
of qbits are used, then 2^{N} operations can be
done in parallel, and this
inherent parallelism makes quantum computers so fast. But the question is,
how do you encode a photon as a qbit? We know a photon has its own spin
in all possible directions. As in certain digital systems, we consider +5
volts as 1 and 0 volts as 0, and we can use the spin property of a photon to encode
a photon as a qbit. We can use the photon's spin in a particular direction
as 1 and the spin in the other direction as 0—say, a photon with vertical spin
will be considered as 1 and a photon with an angular spin as 0.

Figure 4. Encoding Polarized Photons as Binary Values

### Quantum Cryptography

Before starting to describe what quantum cryptography is, let me introduce three names I use throughout this article: Alice, Bob and Eve. Alice is sending the message, and Bob is receiving the message. Eve is in between them, trying to intercept the message. What Eve does is somehow collect the secret key to the message and decrypts it. Now, if Alice somehow can send the key of the message to Bob without any interception, she can send the message without problems.

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.

## Trending Topics

A Project to Guarantee Better Security for Open-Source Projects | Aug 27, 2015 |

Concerning Containers' Connections: on Docker Networking | Aug 26, 2015 |

My Network Go-Bag | Aug 24, 2015 |

Doing Astronomy with Python | Aug 19, 2015 |

Build a “Virtual SuperComputer” with Process Virtualization | Aug 18, 2015 |

Firefox Security Exploit Targets Linux Users and Web Developers | Aug 17, 2015 |

- Concerning Containers' Connections: on Docker Networking
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- My Network Go-Bag
- Firefox Security Exploit Targets Linux Users and Web Developers
- Doing Astronomy with Python
- A Project to Guarantee Better Security for Open-Source Projects
- Build a “Virtual SuperComputer” with Process Virtualization
- diff -u: What's New in Kernel Development
- Three More Lessons
- Django Models and Migrations