Tools
Engineering and research workbench
Loading the selected calculator, defaults, and scientific caution notes.
Preparing tool
Loading workbench view
Preparing calibrated controls, default presets, and explanatory notes.
Tools
Loading the selected calculator, defaults, and scientific caution notes.
Loading workbench view
Preparing calibrated controls, default presets, and explanatory notes.
Workbench tool
Paste a run JSON or load one from local saved history, then generate a reproducible Markdown or JSON report with timestamp, assumptions, formulas, warnings, and model version.
No saved runs yet
Use Save run locally from a calculator or simulator result panel, then return here to reuse, compare, duplicate, or delete it.
# Sample link-budget report
- Run ID: link-budget-20260531222626
- Created at: 2026-05-31T22:26:26.223Z
- Tool ID: link-budget
- Model version: qkd-link-budget.simplified.v1
## Input
```json
{
"protocol": "bb84",
"lengthKm": 2,
"fiberLossDbPerKm": 0.2,
"connectorLossDb": 2,
"sourceRateHz": 100000000,
"meanPhotonNumber": 0.5,
"detectorEfficiency": 0.2,
"darkCountProbability": 0.000001,
"backgroundCountProbability": 0.000001,
"misalignmentError": 0.01,
"basisSiftingFactor": 0.5,
"senderZBasisProbability": 0.5,
"receiverZBasisProbability": 0.5,
"detectorDeadTimeNs": 0,
"afterpulseProbability": 0,
"reconciliationEfficiency": 1.16,
"blockSize": 1000000
}
```
## Result
```json
{
"totalLossDb": 2.4,
"channelTransmittance": 0.5754399373371569,
"totalDetectionEfficiency": 0.11508798746743139,
"baseSignalDetectionProbability": 0.05591964414698236,
"baseNoiseDetectionProbability": 0.000002,
"afterpulseNoiseProbability": 0,
"deadTimeAvailabilityFactor": 1,
"signalDetectionProbability": 0.05591964414698236,
"noiseDetectionProbability": 0.000002,
"clickProbability": 0.05592164414698236,
"rawRateHz": 5592164.414698237,
"basisAgreementProbability": 0.5,
"effectiveSiftingFactor": 0.5,
"siftedRateHz": 2796082.2073491183,
"qber": 0.010017524520513457,
"binaryEntropyQber": 0.08090928982793047,
"secretFraction": 0.8252359339716702,
"secretKeyRateHz": 2307427.5118433186
}
```
## Formulas
- See model assumptions.
## Assumptions
- Asymptotic prepare-and-measure approximation with independent dark/background counts.
- Detector dead time uses a non-paralyzable availability proxy, afterpulsing is modeled as a click-correlated noise term, and basis bias rescales the effective sifted fraction relative to the unbiased BB84 baseline.
- Finite-key proof terms, rigorous decoy optimization, timing jitter, and side channels are still outside this teaching slice.
- Secret fraction uses max(0, 1 - f_ec h2(Q) - h2(Q)); decoy-state mode replaces that asymptotic fraction with a single-photon lower-bound teaching proxy.
## Warnings
- None
## References
- Not provided for this run.