This is a public version of the code used in Rényi security framework against coherent attacks applied to decoy-state QKD [arXiv]. This was built on top of v2.0.2 of the Open QKD Security package.
The necessary functions for each protocol can be found in the corresponding folders contained in RenyiProtocols. Each folder contains a main file which generates the data of the corresponding figure. Furthermore, every folder contains a plot file which creates the plot. In the table below we summarize which files need to be run for each figure.
| Figure | Folder | main file | plot function |
|---|---|---|---|
| Fig. 1 - Qubit BB84 | QubitBB84 |
mainRenyiQubitBB84Lossy.m |
plotQubitBB84.m |
| Fig. 2 - active decoy BB84 (2 decoy) | ActiveDecoyBB84/2 Decoy |
mainRenyiDecoyBB84_1Decoy.m |
plotDecoyBB84_1Decoy.m |
| Fig. 3 - active decoy BB84 (1 decoy) | ActiveDecoyBB84/1 Decoy |
mainRenyiDecoyBB84_2Decoy.m |
plotDecoyBB84_2Decoy.m |
| Fig. 4 - passive decoy BB84 with intensity imperfections (2 decoy) |
PassiveDecoyBB84/2 Decoy |
mainRenyiDecoyBB84Passive_2Decoy.m |
plotPassiveDecoyBB84_1Decoy.m |
| Fig. 5 - passive decoy BB84 with intensity imperfections (1 decoy) |
PassiveDecoyBB84/1 Decoy |
mainRenyiDecoyBB84Passive_1Decoy.m |
plotPassiveDecoyBB84_2Decoy.m |
| Fig. 6 - passive decoy 4-6 w/o phase imperfections (1 decoy), q=1 |
Decoy46/PerfectDecoy46 |
mainRenyiPerfectDecoy46.m |
plot46Decoy.m |
| Fig. 7 - passive decoy 4-6 with phase imperfections (1 decoy), q=0.99 |
Decoy46/PhaseImperfectDecoy46 |
mainRenyiPhaseImpDecoy46.m |
plot46Decoy.m |
Figure 4 until Figure 6 require MOSEK 10.0.44 (or above). For instalation instructions on the newest version of MOSEK, follow [MOSEK].
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.
- Download the linked version of the code from above and follow all installation instructions.
- Also follow the additional Mosek install instructions if you want an exact match. (We STRONGLY recomend it)
- Download the latest release on the side bar and unzip in your preferred directory and add this folder to the Matlab path.
- 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/Renyi-security-framework
- Follow all further installation instructions.
- Also follow the additional Mosek install instructions if you want an exact match. (We STRONGLY recomend it)