Giter Site home page Giter Site logo

klb2 / secret-key-budget-ruin Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 38 KB

This repository belongs to the paper "Reliability and Latency Analysis for Wireless Communication Systems with a Secret-Key Budget" (K.-L. Besser, R. F. Schaefer, H. V. Poor, IEEE Transactions on Communications, vol. 72, no. 2, pp. 1033-1044, Feb. 2024).

Home Page: https://doi.org/10.1109/TCOMM.2023.3329211

License: GNU General Public License v3.0

Python 96.96% Shell 3.04%
physical-layer-security ruin-theory wireless-communications communication-systems communications ieee-transactions research-paper research-paper-implementation secret-key-generation python

secret-key-budget-ruin's Introduction

Reliability and Latency Analysis for Wireless Communication Systems with a Secret-Key Budget

Binder GitHub DOI arXiv

This repository is accompanying the paper "Reliability and Latency Analysis for Wireless Communication Systems with a Secret-Key Budget" (Karl-L. Besser, Rafael Schaefer, and Vincent Poor, IEEE Transactions on Communications, vol. 72, no. 2, pp. 1033-1044, Feb. 2024. doi:10.1109/TCOMM.2023.3329211, arXiv:2304.02538).

The idea is to give an interactive version of the calculations and presented concepts to the reader. One can also change different parameters and explore different behaviors on their own.

File List

The following files are provided in this repository:

  • run.sh: Bash script that reproduces the figures presented in the paper.
  • util.py: Python module that contains utility functions, e.g., for saving results.
  • illustration_budget.py: Exemplary illustration of the temporal progress of the considered secret-key budget
  • simulation_deterministic.py: Simulation of the deterministic timing scheme (alternating between SKG and TX)
  • simulation_random_timing.py: Simulation of the random timing scheme
  • ide_stopping_time.py: Python module that contains functions to calculate the stopping times numerically via solving an IDE.
  • mc_stopping_time.py: Python module that contains functions to determine the stopping times via Monte Carlo simulations.
  • bounds_stopping_time.py: Python module that contains functions to calculate bounds on the stopping times.
  • ultimate_ruin_prob.py: Python module that contains functions to calculate the probability of ultimate ruin (for the random timing scheme).

Usage

Running it online

You can use services like CodeOcean or Binder to run the scripts online.

Local Installation

If you want to run it locally on your machine, Python3 and Jupyter are needed. The present code was developed and tested with the following versions:

  • Python 3.10
  • numpy 1.24
  • scipy 1.10
  • matplotlib 3.7

Make sure you have Python3 installed on your computer. You can then install the required packages by running

pip3 install -r requirements.txt

This will install all the needed packages which are listed in the requirements file. You can then recreate the figures from the paper by running

bash run.sh

Acknowledgements

This research was supported by the German Research Foundation (DFG) under grant BE 8098/1-1, by the German Federal Ministry of Education and Research (BMBF) within the national initiative on 6G Communication Systems through the research hub 6G-life under Grant 16KISK001K, and by the U.S National Science Foundation under Grants CNS-2128448 and ECCS-2335876.

License and Referencing

This program is licensed under the GPLv3 license. If you in any way use this code for research that results in publications, please cite our original article listed above.

You can use the following BibTeX entry

@article{Besser2024secretkeybudget,
  author = {Besser, Karl-Ludwig and Schaefer, Rafael F. and Poor, H. Vincent},
  title = {Reliability and Latency Analysis for Wireless Communication Systems with a Secret-Key Budget},
  journal = {IEEE Transactions on Communications},
  year = {2024},
  month = {2},
  volume = {72},
  number = {2},
  pages = {1033--1044},
  eprint = {2304.02538},
  archiveprefix = {arXiv},
  primaryclass = {cs.IT},
  doi = {10.1109/TCOMM.2023.3329211},
}

secret-key-budget-ruin's People

Contributors

klb2 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.