This is a public version of the code used in Security Proof for Variable-Length Quantum Key Distribution [arxiv link]. This was built for v2.0.1 of the Open QKD Security package.
The code computes the key rates for fixed-length and variable-length qubit BB84 protocols studied in the paper and generates the plots in the paper.
Note
The key rates produced by this code are slightly better than the key rates in the published paper. This is due to variety of improvements made in the numerical optimization routine since the publication of the paper. In particular, this code solves the same optimization for key rate calculations as the one presented in the paper. If you would like access to the code that exactly reproduces the plots in the paper, please reach out to us.
Caution
This repository is for archival and transparency purposes; we do not guarantee compatibility with other versions of the Open QKD Security package beyond the ones listed above.
Note
This repository requires the Statistics and Machine Learning Toolbox from Mathworks to function. Please install this first, then follow the rest of the instructions.
- Download the linked version of the code from above and follow all install instructions.
- Download the latest release on the side bar and unzip in your preferred directory and add this folder to the Matlab path.
- Run
mainQubitAdaptive.m
for Fig. 1 of the paper. RunmainFullyAdaptiveQubitBB84.m
for Fig. 2 of the paper.
- Clone this repository and its exact submodules navigate to your desired directory and run,
git clone --recurse-submodules https://github.com/Optical-Quantum-Communication-Theory/SecurityProofForVariableLengthQuantumKeyDistribution
- Follow all further install instructions.
- Add this repository's folder to the Matlab path.
- Run
mainQubitAdaptive.m
for Fig. 1 of the paper. RunmainFullyAdaptiveQubitBB84.m
for Fig. 2 of the paper.