Experiment Protocols#
Protocols are implemented in src/pqnstack/pqn/protocols/ and exposed via the Node API.
CHSH Bell Test#
File: src/pqnstack/pqn/protocols/chsh.py
Tests Bell inequalities to verify quantum entanglement between two nodes. Each node measures photon polarization in two bases; the correlations between results either satisfy or violate the classical Bell bound (S ≤ 2).
A violation (S > 2) confirms quantum entanglement. The PQN uses the CHSH form of the Bell inequality.
Configuration (chsh_settings in config.toml):
hwp: Half-wave plate instrument for local basis rotationrequest_hwp: Half-wave plate on the follower nodeexpectation_signs: Sign pattern for the correlation matrix (depends on the Bell state prepared)measurement_config.integration_time_s: How long to collect photon counts per measurement
Quantum Key Distribution (QKD)#
File: src/pqnstack/pqn/protocols/qkd.py
Implements the BB84-like protocol to generate a shared secret key between two parties using quantum mechanics. Eavesdropping disturbs the quantum states and is detectable.
Configuration (qkd_settings in config.toml):
bitstring_length: Number of key bits to generatediscriminating_threshold: Minimum coincidence count to classify a measurement as valid
Quantum Fortune#
Generates random bits using quantum measurement outcomes. Because quantum measurement results are fundamentally random, the output is certified random by the laws of physics.
Secret Message Sharing (SSM)#
Combines QKD key generation with classical encryption to allow two users to exchange a quantum-secured secret message through the web interface.
Tomography#
File: src/pqnstack/pqn/protocols/tomography.py
Performs quantum state tomography by measuring in multiple bases to reconstruct the density matrix of the quantum state being produced.
Visibility#
File: src/pqnstack/pqn/protocols/visibility.py
Measures the visibility of quantum interference — a key metric for assessing the quality of the quantum source and optical alignment.
API Reference#
All protocols are accessible via the Node API. With the server running, visit http://127.0.0.1:8000/docs for the full interactive OpenAPI documentation.