Secure key rate optimizer for finite-size 1-decoy BB84 QKD
Calculate ideal parameters and secure key rates for finite-size 1-decoy BB84 quantum key distribution (QKD) systems.
Based on Wiesemann et al., A consolidated and accessible security proof for finite-size decoy-state quantum key distribution. Quantum 10, 2037 (2026) and the corresponding Python solver by Jerome Wiesemann.
Max. attenuation
0.0 dB
Max. distance
0.0 km
Changelog
v0.4.2 2026-04-11
-
Fixed:
- The plot hover overlays now show values separated by This and Comparison.
-
Changed:
- Removed the top Attenuation [dB] axis from the top of both plots.
v0.4.1 2026-04-04
-
Changed:
- Moved the Max distance control into the Plot collapsible
- Moved the Raman scattering cross section into the Optical noise collapsible
v0.4.0 2026-04-01
-
Added:
- Optical noise model with two modes (fixed at receiver, Raman co-propagation)
- Raman scattering noise for co-propagation with classical channel at 1550 nm over the same fiber
- Quantum channel wavelength selection (1310 nm / 1550 nm)
- Receiver optical filter bandwidth parameter
- Dual-wavelength fiber attenuation fields (1310 nm and 1550 nm)
- More fiber presets with more parameters
-
Changed:
- Solver sweep controls now use distance in km (including max range), while attenuation is derived internally from distance and fiber loss
- Charts swapped x-axes: distance (km) is now the primary (bottom) axis, attenuation (dB) is the secondary (top) axis
v0.3.0 2026-03-19
-
Added:
- Parameters plot selector for μ₂ display mode
- Solver options "Optimized" and "Fixed" for all 4 paramaters μ₁, μ₂/μ₁, P(μ₁), and P(Z)
v0.2.3 2026-03-18
-
Fixed:
- Info tooltips can now be opened on touch devices by tapping the info icon
v0.2.2 2026-02-24
-
Fixed:
- Corrected error in secondary x-axis (distance) in Python script plot
v0.2.1 2026-02-22
-
Fixed:
- Severe performance degradation with small step sizes (e.g. 0.01 dB), most noticeable in Firefox, caused by flooding the UI with thousands of individual updates for zero-SKR points
-
Changed:
- Adjusted allowed parameter ranges
- UI polish
v0.2.0 2026-02-20
-
Added:
- Save, Save as, load, rename, delete configurations using browser local storage
- Share configuration via URL using base64-encoded JSON
- Configuration versioning
- Config version and zod schema validation at configuration load time
- Reset button to reset all parameters to default values
- CSV export
- Option to add a comparison SKR line overlay in the SKR plot
- New SKR display mode: PA compression (in addition to absolute and relative)
- Input validation to prevent unphysical parameter combinations
-
Option to show GLLP SKR line
- Assumes Alice transmits perfect single-photon states.
- Detector properties, qubit encoding (polarization/timebin-phase), and basis choice (active/passive) are fully taken into account.
- Intrinsic error for polarization encoding, and separate Z and X errors for timebin-phase encoding are included.
- p_Z configurable, always the same for Alice and Bob.
- No finite-size effects. The PA compression is essentially `1 - h(q_Z) - h(q_X)`.
- Perfect error correction, i.e., error correction inefficiency is assumed to be f_EC = 1.
-
Fixed:
- Now clipping `p_err_Z_mu2` to max. values of 0.5
-
Changed:
- UI migrated to ShadCN UI components
v0.1.0 2026-02-08
- Initial release.
-
Features:
-
Configuration options
-
System
- Qubit transmission rate
-
Qubit encoding: polarization, or timebin-phase
- For polarization encoding: Intrinsic error
- For timebin-phase encoding: Separate Z and X error. Z error relates to mu1.
- Bob's basis choice method: passive, active
-
Detectors
- Detector presets
- Dark-count rate
- Photon detection efficiency
- Dead time
-
Fiber channel
- Fiber presets
- Attenuation
-
Post-processing & Security proof
- epsilon_sec
- epsilon_cor
- Block size
- Way in which block size is defined: Qubits transmitted by Alice, or Z detections by Bob
- EC inefficiency
- Concentration inequality: Hoeffding, Azuma, or asymptotic
- Serfling bound: original, improved (Fung), or asymptotic
-
Solver
- Max. attenuation
-
Step size mode: (fixed or adaptive)
- For fixed: Step size
-
For adaptive
- Initial step size
- Fine step size
- QBER threshold above which to switch to fine step size
-
- Export as Python script
- Display of max. distance and attenuation
-
Plot of SKR vs. attenuation
- Configurable SKR display: Absolute, relative
- Plot of optimized parameters
- Pressing enter triggers calculation from input fields
-
License
This tool is licensed under CC BY-NC-SA 4.0.
"Commercial use" includes, but is not limited to, use by or on behalf of any for-profit entity, use in connection with any revenue-generating activity, and internal business use within any commercial organization. For commercial licensing, please write to contact@jankrause.org.