The BB84 Quantum Key Distribution Protocol, initially proposed by Charles Bennett of IBM Research and Gilles Brassard from the University of Montreal, is a first of its kind approach in secure communication and remains the most frequently compared protocol in its domain.
The purpose of the BB84 is the use of photons with four distinct types of polarization angles for transmitting keys. These angles are 0º, 45º, 90º, and 135º, each representing two different qubit values. Photons polarized at 45º and 90º are designated to carry a qubit value of 0, while those at 0º and 135º represent a qubit value of 1. It’s important to note that this allocation is customizable, but it requires a consensus between the sender and receiver to ensure effective communication.
The protocol involves passing photons through different polarization states, effectively aligning them at 0º, 45º, 90º, and 135º. These photons are then deciphered using two types of binary filters: linear (+) and diagonal (×). Both types of filters are capable of reading qubits encoded as either 0 or 1.
The polarization state of a photon is used to encode bits. Photo credit: Mart Haitjema
A key aspect of BB84 is the post-transmission verification process. Once the key has been transmitted, the sender and receiver communicate over a public channel to disclose the types of filters they used for each bit. They then discard any bits where the filters did not match, which helps in verifying the integrity of the key transmission.
Despite its pioneering status, the BB84 protocol is known to be vulnerable to certain types of attacks, such as man-in-the-middle and photon number splitting (PNS). These vulnerabilities stem from the fact that the receiver reveals the types of filters used in the reading process. The protocol’s security fundamentally relies on the quantum principle that any measurement or interception attempt will alter the state of the qubits, thereby signaling the presence of an eavesdropper. This aspect of quantum mechanics is what underpins the security of the BB84 protocol and has inspired further advancements in quantum cryptography.
To simulate communication with BB84 protocol with Python, read the Quantum Attack Simulator Article.