Structure
QOSST is separated in seven packages, in order to have more manageable projects.
Presentation of the structure
The seven packages are listed in the table below:
Name |
URL |
Documentation |
|---|---|---|
|
||
|
||
|
||
|
||
|
||
|
||
|
Not released |
Not released. |
The first six have been released as part of the QOSST software and the last one, that was judged to be not mature enough has not been released.
The relations between the different modules is represented in the figure below:
In the following we give a description of each packages.
Released
In this section, we present the released modules of QOSST.
qosst-core
qosst-core holds several functionalities that are common to both Alice and Bob, including filters, synchronisation sequence, modulation.
It also implements the network protocol that is used for classical communications, the authentication algorithms and the configuration object.
See also
The documentation of the qosst-core module can be consulted at the following link:
qosst-hal
qosst-hal holds all the interfaces for hardware connections. HAL stands for Hardware Abstraction Layer and is composed of two main parts:
The abstraction part, which is defining abstract classes for different hardware connections (ADC, DAC, laser, modulator control, powermeters, VOA, optical switch) and fake classes (i.e. not interacting with actual hardware) to be used as default hardware;
The
extpart that provides specialized classes for a set of hardware material and the list of the implemented hardware interfaces can be found in the documentation ofqosst-hal.
See also
The documentation of the qosst-hal module can be consulted at the following link:
qosst-alice
qosst-alice is the endpoint for usage for Alice. It uses both qosst-hal and qosst-core to provide:
A Digital Signal Processing algorithm for the preparation of the signal;
Hardware instructions to generate the signal in the physical domain;
A server, using the network protocol in
qosst-coreto respond to Alice’s requests.
It also provides some script for calibration.
See also
The documentation of the qosst-alice module can be consulted at the following link:
qosst-bob
qosst-bob is the endpoint for usage for Bob. It uses qosst-hal, qosst-core and qosst-skr to provide:
Hardware instructions to acquire the signal received by Alice;
A Digital Signal Processing algorithm for recovering the symbols sent by Alice;
A client, using the network protocol in
qosst-coreto send requests to Alice;Functions to estimate the parameters for CV-QKD;
A Graphical User Interface to use the client;
Optimization scripts to optimize the DSP parameters.
It also provides some script for calibration.
See also
The documentation of the qosst-bob module can be consulted at the following link:
qosst-skr
qosst-skr provides functions to compute the Secret Key Rate of CV-QKD depending on the security assumption and the setup of the experiment. It used by qosst-bob but can also be used outside to compute the secret key rate.
See also
The documentation of the qosst-skr module can be consulted at the following link:
qosst-sim
qosst-sim (sim for simulation) should have held simulations to test the different part of the software without interacting with any hardware.
Not released
When the qosst software was first planned, one additional module was planned but is currently not released due to its lack of maturity.
qosst-pp
qosst-pp (pp for Post-Processing) should have held the functions for Error Correction and Privacy Amplification, which are essential steps for an actual CV-QKD systems. However, research-wise, the key rate can be computed after the parameters estimation part.