8 Secure communication using quantum computing

 

This chapter covers

  • Solving the bootstrap problem of secure communication
  • Introducing quantum key distribution
  • Understanding the BB84 algorithm
  • Securely distributing shared keys between two parties

In this chapter, you create a useful quantum application. We show that quantum computing allows you to create a secret key that can be shared between two parties in a very secure way. This quantum key distribution (QKD) is the basis for a number of encryption techniques that are proven to be secure—even the best quantum computer can’t break this security!

8.1 The bootstrap problem

We started chapter 6 by showing how classical networks are used to send classical information from one node (or computer) to another. We explained how different pieces of information travel from Java applications to a low-level implementation, where they are sent as bits to the other node and travel upward again. This is shown in figure 8.1.

Figure 8.1 Java applications using classical communication

8.1.1 Issues with sending bits over a network

In this chapter, we focus on what happens at the communication level between the two nodes. Bits are transferred over a network connection: e.g., over optical fiber.

How secure is this? Security and privacy are gaining importance, and for many applications, it is crucial that the bits sent over physical networks between computers not be intercepted by third parties and also that they can’t be altered by third parties.

8.1.2 One-time pad to the rescue

8.1.3 Sharing a secret key

8.2 Quantum key distribution

8.3 Naive approach

8.4 Using superposition

8.4.1 Applying two Hadamard gates

8.4.2 Sending qubits in superposition

8.5 BB84

8.5.1 Confusing Eve

8.5.2 Bob is confused, too

8.5.3 Alice and Bob are talking

8.6 QKD in Java

Summary