Back to Learn
Intermediate
ProgrammingBuilding a Quantum Random Number Generator
8 min read 4 views 0
Quantum measurement outcomes are fundamentally random, making quantum computers perfect for generating true random numbers.
The Concept
Prepare a qubit in equal superposition using a Hadamard gate, then measure. Each measurement yields 0 or 1 with exactly 50% probability — genuine quantum randomness.
Implementation with Qiskit
from qiskit import QuantumCircuit from qiskit_aer import AerSimulator def quantum_random_bits(num_bits): circuit = QuantumCircuit(num_bits, num_bits) circuit.h(range(num_bits)) # Superposition circuit.measure(range(num_bits), range(num_bits)) simulator = AerSimulator() result = simulator.run(circuit, shots=1).result() counts = result.get_counts() bitstring = list(counts.keys())[0] return bitstring # Generate 8 random bits random_value = quantum_random_bits(8) print(f'Random byte: {random_value}')
Verification
Run the generator many times and verify the distribution is uniform. Classical PRNGs can pass statistical tests but are deterministic — only quantum measurement provides true randomness.
random number
qiskit
hadamard
tutorial