The QKDNetSim source code is free for download from the git repository “

The code is periodically updated in accordance with the NS-3 dev version of the NS-3 simulator. The latest code corresponds to the NS-3 version 3.41.


QKDNetSim has been successfully tested on linux distributions:

  • Ubuntu 22.04


The latest version of the code is compatible with NS-3 version 3.41. Thus, one should follow installation requirements from the NS-3 official website ( The code has been successfully tested on Ubuntu 22.04. QKDNetSim v2.0 module is not compatible with QKDNetSim version 1.0.. This module is written independently and from scratch.

QKDNetSim includes QKDEncryptor class that relies on cryptographic algorithms and schemes from Crypto++ open-source C++ class cryptographic library. Currently, QKD crypto supports several cryptographic algorithms and cryptographic hashes, including One-Time Pad (OTP) cipher, Advanced Encryption Standard (AES) block cipher, VMAC message authentication code (MAC) algorithm, and others.

Installing crypto++ (libcryptopp) and Universally Unique Identifiers (UUIDs) libraries on Ubuntu:

sudo apt-get install libcrypto++-dev libcrypto++-doc libcrypto++-utils gnuplot uuid-dev


git clone
cd qkdnetsim-v2
./ns3 configure --enable-mpi

Execute the test script:

./ns3 --run scratch/