Code for the experiments performed in our paper can be found in the file starlight_experiments.py
. This script uses the starlight.json
file (also within the example folder) to specify the network topology.
The example folder contains several scripts that can be run with jupyter notebook for easy editing and visualization. These examples include:
BB84_eg.ipynb
, which uses the BB84 protocol to distribute secure keys between two quantum nodestwo_node_eg.ipynb
, which performs entanglement generation between two adjacent quantum routersthree_node_eg_ep_es.ipynb
, which performs entanglement generation, purification, and swapping for a linear network of three quantum routers
The example directory contains an example json file starlight.json
to specify a network topology, and the utils directory contains the script draw_topo.py
to visualize json files. To use this script, the Graphviz library must be installed. Installation information can be found on the Graphviz website.
To view a network, simply run the script and specify the relative location of your json file:
python utils/draw_topo.py example/starlight.json
This script also supports a flag -m
to visualize BSM nodes created by default on quantum links between routers.