Optimal protocol & Key generating rates for 3 QKD-protocol under different scenarios
Quantum key distribution (QKD) provides us with an unprecedentedly secure way of communication, and the future of QKD protocols is therefore extremely promising. This dataset concerns the key generating rates of 3 well-known protocols under different scenarios. These protocols are BB84, Measurement device independent QKD (MDI-QKD) and Twin-Field QKD (TF-QKD). What compose a specific scenario are 5 features: dark count rate (Y0), misalignment error rate (ed), efficiency of single photon detectors (η), numbers of pulses (N), and transmission distance (L). It also features a pair of training and testing set which we use to train a machine learning model to determine which protocol is the optimal one for a specific scenario.
We rank the protocols according to their security level, where BB84 is Lv.1, MDI and TF are Lv.2. A higher level means the protocol is safer.
The file named ori.csv is the original dataset which hasn’t gone through any data preprocessing procedure.
The files named training1.csv and testing1.csv are for the training and testing for all protocols, and the files named training2.csv and testing2.csv are for the situation of Lv.2 only.
How we obtain the training & testing set for all protocols and Lv.2 only:
For the situation where both Lv.1 and Lv.2 (all protocols) are taken into considerations, we first delete the scenarios where all protocols have the same key generating rate. Then, for each scenario, we select the protocol with the highest rate as the optimal. For the situation where only Lv.2 is concerned, we just need to compare the rates of MDI and TF after deleting the scenarios where the rates of both are the same. In both situation, 80% of the data are selected for training, and the rest are for testing. Ultimately, we respectively normalize the training sets and testing sets.
Feature explanation and range setting:
dark count rate (Y0), misalignment error rate (ed), efficiency of single photon detectors (η), numbers of pulses (N), and transmission distance (L).
Y0:10^(-10)~10^(-5), ed:0~0.06，η：0.1~0.9, N: 10^6~10^16, L: 0~600km
How to use:
Using the function pandas.read_csv() in Python to read the .csv files of training and testing, select the model you want and then try out. You can also use other tools as long as it is capable of this job. The task is to train your model to predict the optimal protocol under different scenarios.
You can also use ori.csv for other applications.