THE SUPERDENSE CODING PROTOCOL
By Nicola Stanisławska
Abstract
The superdense coding protocol illustrates the principle of quantum communication grounded on the idea of the ability of providing a resource, independent of later usage, before the decision of the action is made. Furthermore, through its allowance of communicating more bits of information using a lesser number of qubits, an increase in the information capacity of a link can be observed. In its simplest terms, this concept is presented while communicating two bits of classical information using a preshared Bell state pair of qubits that allows for the sending of a single qubit. The following paper is aimed at presenting an overview of the superdense coding protocol by providing an instruction of how to carry out the procedure, a visualisation using IBM’s Quantum Computing Lab in python as well as its security.
Introduction
Superdense coding is a procedure based on the principle of communicating several classical bits of information through utilizing a lesser number of qubits in a maximally entangled state (one of the four Bell states).
It aims at communicating two bits of classical information (00,01,10,11) from one party, often denoted as Alice, to another, denoted as Bob. Through the utilization of one of the unitary operations, Alice can encode the pair of bits she wants to transmit, sending the modified state to Bob. After receiving Alice's qubit and performing a Bell measurement, Bob obtains the encoded message of two classical bits of information [1].
Performing the protocol to communicate two bits of information (00,01,10,11) between two parties – Alice and Bob.
Alice’s qubit denoted as A or q0
Bob’s qubit denoted as B or q1
Establishing a communication scheme (preliminary phase)
In this preliminary phase of protocol, a communication scheme must be assembled in which
each twobit message (00,01,10,11) corresponds to one of the four Bell states (β00 >, β01 >, β10 >, β11 >). Each Bell state is a result of the maximal entanglement of two qubits. An example of the most utilized communication scheme can be observed in Figure 2.
Figure 1: Proposed communication scheme in which each of the four Bell states corresponds to a twobit message
Preparation (preliminary phase)
Typically, the entanglement of the two qubits (or creation of a Bell state) is performed by a third part (frequently referred to as Charlie or “C”). To entangle two qubits (create the first Bell state β00 >), an H (Hadamard) and CNOT (also known as CX) gate must be applied. Quantum gates manipulate or change the state of qubits.
Figure 2: Matrix of Hadamard gate [2]
Figure 3: Matrix of CNOT gate [3]
The H gate is applied to q0 to create an equal superposition, thus, a 1 or 0 can be randomly measured. The CNOT gate is applied to q0 as the control and q1 as the target. If the control qubit (q0) is in the 0 state  no gate is applied to q1. However, if the control qubit (q0) is in the 1 state  an X gate is applied to q1. The state of q0 remains constant.
Figure 4: Visualisation of circuit containing 2 qubits, a Hadamard gate and CNOT gate with q0 as control and q1 as target
Consequently, the two qubits become entangled, forming the first Bell state β00 >.
Sharing (preliminary phase)
To allow the sending of qubit A from Alice to Bob, the qubits must first be separated. The qubits are shared by a third party (Charlie), the qubit denoted as A assigned to Alice and qubit denoted as B to Bob. The proximity of separation does not influence the communication as quantum entanglement remains intact over extensive distances.
Encoding
In this phase, Alice can modify the entangled qubit in the first Bell state and create one of the other Bell states accordingly to the message and communication scheme established afore. Alice must apply a unitary operation of either X or Z, one or in a combination, to q0.

The Z gate performs a 180degree rotation about the Z axis (the vertical axis of the qubit), see Figure 6, flipping the phase of the qubit. Thus, if applied to the first Bell state, results in a negative phase. Its effect can be observed in β01 > as well as β11 >.
Figure 5: Multiplication of matrix of Z gate with the vector of qubit in the 0 state
Figure 5*: Multiplication of matrix of Z gate with the vector of qubit in the 1 state – change of phase from 1 to 1
Figure 6: Bloch Sphere representation of the appliance of a Z gate to a qubit in the 0 state. [4]

The X gate transforms the 0 state into the 1 state and vice versa. Its effect can be observed in β10 > as well as β11 >.
Figure 7: Multiplication of matrix of X gate with vector of qubit in the 0 state
Figure 8: Bell states represented in braket notation.
1. To prepare the β00 > Bell state , Alice does not need to apply any gates
2. To prepare the β01 > Bell state, Alice applies a Z gate to q0
3. To prepare the β10 > Bell state, Alice applies an X gate to q0
4. To prepare the β11 > Bell state, Alice applies a Z gate and an X gate to q0
Sending qubit
Alice sends her qubit to Bob using a third part, allowing for Bob to decipher the message. By the end of this phase, Bob receives qubit A to which Alice has applied the corresponding gate(s) to encode the twobit message.
Decoding (conducting bell measurement)
In the final phase, the two qubits, A and B (q0 and q1) are measured by Bob to decode the intended message. However, the Bell state cannot be directly measured as each state has two possible outcomes. For example, β00 > has two equally likely outcomes of 00 > or 11 >, which can be observed in Figure 9.
Figure 9: first bell state in braket notation
Thus, Bob must perform a Bell measurement (also known as reverse Bell circuit) – first apply the CNOT gate with q0 as the control and q1 as target. Next, an H gate must be applied to q0. This eliminates the common part of all Bell states so that the outcome is unique to each circuit.
Figure 11: Full visualised superdense protocol circuit
Figure 10: Visualized Bell measurement
The result of the measurement is the adequate twobit message.
Performing the protocol in python using IBM Quantum Computing Lab
Including only steps conducted using code (excluding establishing a communication scheme, sharing, sending)
Importing libraries
Entangling qubits
A Quantum circuit (defined as qc.sdc) is generated, containing 2 bits and 2 qubits.
CNOT (CX) gate requires specification of control and target qubit. In this instance q0 is defined as the control (is first is the bracket) while q1 is defined as the target (is second in the bracket).
Applying appropriate gate
Z gate is applied accordingly to chosen message to create β01 >
Applying Bell Measurement
Once again, the control and target qubits must be specified in the CNOT gate.
Finding least busy Quantum Computer accessible through IBM Quantum Computing Lab to execute the code 256x
Least busy backend is found, and circuit is run.
Executing the code on a quantum computer
Obtaining and visualising results on a histogram
Results
A Bell measurement of β01 > produced the twobit message 01 > with the highest frequency of 94.1%. This represents a correct execution of the protocol as the communication scheme suggests that β01 > corresponds to 01 >. However, we can observe that this frequency is not complete – each of the three other possible twobit message was also measured at least once.
This occurrence is a result of the noise of qubits. As quantum computers rely on a highly precise environments, outside factors such as control electronics, heat or impurities can impact the state of the qubit. The data shows that the qubits quantum coherence was disrupted.
Security
Superdense coding follows the fundamental principle of secure quantum coding as it eliminates the possibility of an eavesdropper. If a third party was to intercept the entangled Bell state, without access to qubit B or q1, is unable to decode the message. Furthermore, an outsider is unable to eavesdrop on information being transferred as an attempt to measure either qubit would collapse the state of that qubit which could be easily detected by either party [5].
Conclusion
In conclusion, the superdense coding protocol presents the prospect of providing a resource, independent of later usage, before the decision of the action is made. It also enables the sending a certain number of classical bits of information through the utilization of a lesser number of qubits. It can be summarised into a sixstep procedure: establishing a communication scheme, preparation, sharing, encoding, sending, and decoding. The protocol can be carried out on a quantum computer through the access to IBM’s Quantum Computing Lab, however, the decoherance of contemporary hardware causes the results to contain inaccuracies. Moreover, superdense coding is proved to be a secure form of communication through its security from an eavesdropper.
References:

[1], [5] Wikipedia (2022) Superdense coding, Wikipedia. Wikimedia Foundation. Available at: https://en.wikipedia.org/wiki/Superdense_coding

[2], [3], Zao, Q. et al. (2020) Faulttolerant quantum error correction code preparation in UBQC, ResearchGate. Available at: https://www.researchgate.net/figure/DiagramandmatrixofquantumgatesaPauliXgatebPauliYgatecPauliZgated_fig5_342818848

[4] Shetty, A., 2021. Visualizing Quantum Logic Gates (part 1). [online] Medium. Available at:https://medium.com/quantumuntangled/visualizingquantumlogicgatespart1515bb7b58916