Skip to main content

Implementation of various algorithms to calculate the secrecy capacity of MIMO channels

Project description

Calculation of the Secrecy Capacity

This repository contains Python implementations of two algorithms that allow a (numerical) calculation of the secrecy capacity of wiretap channels.

The two algorithms are taken from the following publications:

S. Loyka and C. D. Charalambous, "An Algorithm for Global Maximization of Secrecy Rates in Gaussian MIMO Wiretap Channels," IEEE Trans. Commun., vol. 63, no. 6, pp. 2288–2299, Jun. 2015.

T. Van Nguyen, Q.-D. Vu, M. Juntti, and L.-N. Tran, "A Low-Complexity Algorithm for Achieving Secrecy Capacity in MIMO Wiretap Channels," in ICC 2020 - 2020 IEEE International Conference on Communications (ICC), 2020.

Installation

You can install the package via pip

pip install secrecy-capacity

If you want to install the latest version, you can install the package from source

git clone https://github.com/klb2/secrecy-capacity-calculation.git
cd secrecy_capacity
git checkout dev  # only if you want to unstable version
pip install .

Usage

Some examples are provided in the examples/ directory. You can run the code locally or using a service like Binder. If you use Binder, you do not need a local Python installation and you can simply run the scripts in your browser.

Binder

Version

The code has been developed and tested with the following versions

  • Python 3.9
  • numpy 1.19
  • scipy 1.6
  • matplotlib 3.3
  • Jupyter 1.0

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 the original articles listed above and this repository.

You can use the following BibTeX entry for this repository

@online{BesserSecrecyCapacityCalculation,
  author = {Besser, Karl-Ludwig},
  title = {Algorithms to calculate the secrecy capacity},
  subtitle = {Python Implementation},
  year = {2021},
  url = {https://github.com/klb2/secrecy-capacity-calculation},
  version = {0.1.0},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secrecy_capacity-0.1.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

secrecy_capacity-0.1.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file secrecy_capacity-0.1.0.tar.gz.

File metadata

  • Download URL: secrecy_capacity-0.1.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.7

File hashes

Hashes for secrecy_capacity-0.1.0.tar.gz
Algorithm Hash digest
SHA256 30cea80032498b92df10e02668e54b6b97f82aa1fabdc5be21f5e3461a68c393
MD5 811d21c275a62393d69b6379a546c179
BLAKE2b-256 5661a9de18115eb34f666b8e519c5defffe3ee590217179c6a453205ea5bdd04

See more details on using hashes here.

File details

Details for the file secrecy_capacity-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: secrecy_capacity-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.6.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.7

File hashes

Hashes for secrecy_capacity-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46cee3320d878372f3a0ce726332b5983fed90f85b405eb6a800b8d401b49a8a
MD5 4ea28c76d527c62d500175b172d973d8
BLAKE2b-256 2213eb68e2b1719c4180ea862672c7099d9fe7057bd29c5f0b60ced90e68053b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page