Singapore-based practical guides, tutorials and experiments in AI, computing, modelling, simulation, optimisation and quantum computing, with research notes and hands-on workflows.
Superdense Coding Explained: Transmitting 2 Classical Bits in 1 Qubit with Qiskit 2.x
Module 3b in the Quantum Computing: A Complete Learning Path series. Following directly from Two-Qubit Entanglement & The 4 Bell States (Module 3) and bridging the transition to Quantum Teleportation (Module 9) and the CHSH Game Simulator (Module 15). QUANTUM SERIES 2026 • PROTOCOLS & ENTANGLED CHANNELS Superdense Coding Explained: Transmitting 2 Classical Bits Using…
QUANTUM SERIES 2026 • PROTOCOLS & ENTANGLED CHANNELS Superdense Coding Explained: Transmitting 2 Classical Bits Using 1 Physical Qubit in Qiskit 2.x
In classical information theory, transmitting two bits of information (such as 00, 01, 10, or 11) strictly requires sending two physical signals. If you have only a single physical wire or send a single classical pulse, the laws of physics dictate that you can transmit at most one bit of data. In quantum information theory, a celebrated theorem known as Holevo’s Bound (1973) proved that an isolated single qubit can likewise communicate at most one bit of classical information.
Yet, in 1992, physicists Charles Bennett and Stephen Wiesner discovered a startling loophole: if the sender and receiver share an entangled pair of qubits beforehand, the sender can physically transmit just one single qubit and deliver two full classical bits with 100% deterministic accuracy. This protocol is called Superdense Coding (or Dense Coding). In this guide, we break down the mechanics of superdense coding, demonstrate how Alice transforms the shared Bell pair using local Pauli gates, analyze Bob’s deterministic Bell decoder, and verify the protocol using Qiskit 2.x with circuit diagrams.
1 · The Communication Limit: Holevo’s Bound vs. Entanglement
To appreciate why superdense coding is remarkable, we must first understand the fundamental limit on quantum communication:
Holevo's Bound (Without Entanglement):
1 Transmitted Qubit → At most 1 Accessible Classical Bit
Superdense Coding (With 1 Pre-Shared Bell Pair):
1 Transmitted Qubit → Exactly 2 Accessible Classical Bits
Even though a single qubit pure state |ψ〉 = α|0〉 + β|1〉 contains continuous complex amplitudes α and β (an infinite amount of theoretical mathematical parameters), any measurement causes the qubit to collapse into either |0〉 or |1〉. Therefore, a receiver without prior entanglement can never extract more than 1 classical bit of information from a single qubit.
How does superdense coding bypass this? It does not violate Holevo’s bound because entanglement acts as a physical communication resource. The two classical bits are not crammed into the single transmitted qubit alone. Instead, the transmitted qubit acts as an address key that unlocks the correlation already stored in the shared two-qubit entangled system.
2 · The 4-Step Protocol: Alice, Bob, and Charlie
The superdense coding protocol unfolds across four sequential stages between three actors: a source (Charlie), the sender (Alice), and the receiver (Bob):
Step 1 — Entanglement Distribution: Charlie prepares an entangled Bell pair |Φ+〉 = ( |00〉 + |11〉 ) / √2. He sends qubit 0 (q0) to Alice and qubit 1 (q1) to Bob. Alice and Bob can now be arbitrarily far apart.
Step 2 — Alice’s Local Encoding: Alice wants to send a 2-bit message m ∈ {00, 01, 10, 11}. She applies a single local Pauli gate (I, Z, X, or ZX) to her qubit q0 only. She never touches Bob’s qubit.
Step 3 — Physical Transmission: Alice sends her single physical qubit q0 over a quantum communication channel (such as an optical fiber) to Bob.
Step 4 — Bob’s Bell Basis Decoding: Bob now holds both qubits (q0 and q1). He runs the Bell Basis Decoder (a CNOT gate followed by a Hadamard on q0) and measures both qubits in the computational basis, reading Alice’s 2-bit message with 100% deterministic certainty.
Circuit 1: The complete Superdense Coding protocol showing Entanglement Preparation, Alice’s Local Encoding, and Bob’s Bell Basis Decoder.
3 · The 4 Encoding Operations: From Bits to Bell States
In Module 3 (The 4 Bell States), we discovered that the 4 Bell states form an orthonormal basis for two qubits. Alice’s brilliance in superdense coding is that by applying only local single-qubit gates to her half of |Φ+〉, she can steer the joint two-qubit state into any one of the four orthogonal Bell states:
Case 1: Message 00 — Identity Gate I
Alice leaves her qubit untouched (applies Identity I). The joint state remains the original Bell state |Φ+〉:
(I ⊗ I) |Φ+〉 = ( |00〉 + |11〉 ) / √2 = |Φ+〉
Circuit 2: Superdense coding for message 00 (Identity gate on q0 → Bob measures 00).
Case 2: Message 01 — Pauli-Z Gate Z (Phase-Flip)
Alice applies a Z gate to q0. Since Z|0〉 = |0〉 and Z|1〉 = −|1〉, the relative phase flips from + to −, converting the state to |Φ−〉:
(Z ⊗ I) |Φ+〉 = ( |00〉 − |11〉 ) / √2 = |Φ−〉
Circuit 3: Superdense coding for message 01 (Z gate on q0 → Bob measures 01).
Case 3: Message 10 — Pauli-X Gate X (Bit-Flip)
Alice applies an X gate to q0. Since X|0〉 = |1〉 and X|1〉 = |0〉, the bit correlations flip from equal parity to anti-correlated, converting the state to |Ψ+〉:
(X ⊗ I) |Φ+〉 = ( |10〉 + |01〉 ) / √2 = |Ψ+〉
Circuit 4: Superdense coding for message 10 (X gate on q0 → Bob measures 10).
Case 4: Message 11 — Both Gates ZX (Bit & Phase Flip)
Alice applies both Z and X gates (or iY). This flips both the bit values and the relative sign, transforming the state into the Singlet state |Ψ−〉 (up to global phase):
Circuit 5: Superdense coding for message 11 (Z followed by X on q0 → Bob measures 11).
Superdense Coding Protocol Truth Table
Target Message
Alice’s Local Gate
Encoded Bell State
Bob’s Decoder (CX → H)
Measured Classical Bits
00
I (None)
|Φ+〉
|00〉
00 (100%)
01
Z (Phase-Flip)
|Φ−〉
|01〉
01 (100%)
10
X (Bit-Flip)
|Ψ+〉
|10〉
10 (100%)
11
ZX (Bit & Phase)
|Ψ−〉
|11〉
11 (100%)
4 · Why Superdense Coding Cannot Transmit Faster Than Light
A natural question arises: If Alice applies her encoding gate immediately on qubit 0, does Bob instantly receive her message across the universe?
Can Bob read Alice's message before receiving her qubit?
Answer: NO. Bob's qubit in isolation is in a Maximally Mixed State (|r| = 0).
As we established in Module 3, as long as Bob holds only qubit q1 in isolation, his reduced density matrix is identical regardless of which gate Alice applied:
If Alice applies I: Bob’s local state is 50% |0〉, 50% |1〉 (pure noise)
If Alice applies Z: Bob’s local state is 50% |0〉, 50% |1〉 (pure noise)
If Alice applies X: Bob’s local state is 50% |0〉, 50% |1〉 (pure noise)
If Alice applies ZX: Bob’s local state is 50% |0〉, 50% |1〉 (pure noise)
No measurement Bob performs on his own qubit alone can reveal any information about which gate Alice selected! Zero information is transmitted until Alice physically transports qubit q0 across space to Bob. Because the physical transmission of a qubit is bounded by the speed of light c, Einstein’s causality is rigorously preserved.
5 · The Quantum Resource Duality: Superdense Coding vs. Teleportation
Superdense coding and Quantum Teleportation (Module 9) form the fundamental dual pillars of quantum communication. They represent the exact reciprocal exchange rate between quantum and classical channels:
Feature
Superdense Coding (Module 3b)
Quantum Teleportation (Module 9)
Objective
Transmit 2 classical bits
Transmit 1 unknown quantum state
Pre-Shared Resource
1 shared Bell pair (|Φ+〉)
1 shared Bell pair (|Φ+〉)
Channel Transmitted
1 physical qubit (quantum channel)
2 classical bits (classical radio/fiber)
Information Exchange
1 e-bit + 1 qubit → 2 classical bits
1 e-bit + 2 classical bits → 1 qubit
In both protocols, 1 Bell pair (1 e-bit of entanglement) acts as a currency that doubles the power of the transmitted channel!
6 · Complete Qiskit 2.x Python Implementation
Below is the complete, self-contained Python script implementing Superdense Coding in Qiskit 2.x. The script defines the parameterized circuit for any 2-bit string and verifies that all four messages decode with 100% deterministic fidelity using statevector simulation:
import numpy as np
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
def build_superdense_circuit(message: str) -> QuantumCircuit:
"""
Builds an end-to-end Superdense Coding circuit in Qiskit 2.x.
Parameters:
message (str): A 2-bit string, one of '00', '01', '10', '11'.
Returns:
QuantumCircuit: The full 2-qubit circuit with encoding and decoding.
"""
qc = QuantumCircuit(2, 2)
# --- PHASE 1: PRE-SHARED ENTANGLEMENT (Charlie) ---
qc.h(0)
qc.cx(0, 1)
qc.barrier(label="Bell Pair")
# --- PHASE 2: ALICE'S LOCAL ENCODING (on qubit 0) ---
if message == "00":
qc.id(0) # Identity: do nothing
elif message == "01":
qc.z(0) # Phase-flip: |Phi+> -> |Phi->
elif message == "10":
qc.x(0) # Bit-flip: |Phi+> -> |Psi+>
elif message == "11":
qc.z(0)
qc.x(0) # Bit & Phase: |Phi+> -> -|Psi->
else:
raise ValueError("Message must be '00', '01', '10', or '11'")
qc.barrier(label="Alice Transmits q0")
# --- PHASE 3: BOB'S BELL BASIS DECODER ---
qc.cx(0, 1)
qc.h(0)
qc.barrier(label="Bob Decodes")
# Measure both qubits into classical register
qc.measure([0, 1], [0, 1])
return qc
# --- SIMULATION & VERIFICATION OF ALL 4 MESSAGES ---
print("=== Superdense Coding Simulation (Qiskit 2.x) ===
")
test_messages = ["00", "01", "10", "11"]
for msg in test_messages:
# Build circuit without measurement for exact statevector analysis
qc = build_superdense_circuit(msg)
qc_no_meas = qc.remove_final_measurements(inplace=False)
sv = Statevector(qc_no_meas)
probs = sv.probabilities_dict()
# Format non-zero probabilities
formatted_probs = {k: round(float(v), 2) for k, v in probs.items() if v > 1e-6}
print(f"Target Message Sent : '{msg}'")
print(f"Bob's Decoded State : {formatted_probs}")
print(f"Verification Status : {'PASS (100% Certainty)' if msg in formatted_probs and formatted_probs[msg] == 1.0 else 'FAIL'}")
print("-" * 45)
Execution Output:
=== Superdense Coding Simulation (Qiskit 2.x) ===
Target Message Sent : '00'
Bob's Decoded State : {'00': 1.0}
Verification Status : PASS (100% Certainty)
---------------------------------------------
Target Message Sent : '01'
Bob's Decoded State : {'01': 1.0}
Verification Status : PASS (100% Certainty)
---------------------------------------------
Target Message Sent : '10'
Bob's Decoded State : {'10': 1.0}
Verification Status : PASS (100% Certainty)
---------------------------------------------
Target Message Sent : '11'
Bob's Decoded State : {'11': 1.0}
Verification Status : PASS (100% Certainty)
---------------------------------------------
Key Insights & Takeaways:
Entanglement Doubles Classical Capacity: With one pre-shared Bell pair, transmitting 1 physical qubit transfers 2 classical bits deterministically.
Local Gates Steer Global States: Alice applies local Pauli operations (I, Z, X, ZX) to her qubit alone, yet changes the joint entanglement basis into one of the 4 orthogonal Bell states.
No FTL Communication: Bob gains zero bits of information until Alice’s physical qubit arrives through space. Causality is strictly maintained.
The Teleportation Duality: Superdense coding trades 1 qubit for 2 classical bits; quantum teleportation trades 2 classical bits for 1 qubit.
[…] decoder is the foundational building block for Superdense Coding (Module 3b) (transmitting 2 classical bits using only 1 physical qubit) and the receiver measurement in Quantum […]
[…] Coding, which trades 1 qubit + 1 Bell pair to transmit 2 classical bits! Learn how it works in Superdense Coding Explained (Module 3b) → Related interactive experiment: Teleportation uses entanglement as a resource. See the same […]
[…] A Complete Learning Path series. Bridging the transition from entangled communications in Superdense Coding (Module 3b) and Two-Qubit Entanglement (Module 3) to the multi-qubit Hadamard tools in The […]
Leave a comment