Skip to main content

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},
}

Metadata

Release files for secrecy-capacity 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for secrecy-capacity 0.1.0
File Size Uploaded
secrecy_capacity-0.1.0.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for secrecy-capacity 0.1.0
File Interpreter ABI Platform
secrecy_capacity-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 48.0 kB

Release files / secrecy_capacity-0.1.0.tar.gz

Download URL secrecy_capacity-0.1.0.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
30cea80032498b92df10e02668e54b6b97f82aa1fabdc5be21f5e3461a68c393
BLAKE2b-256 checksum
How to use checksums
5661a9de18115eb34f666b8e519c5defffe3ee590217179c6a453205ea5bdd04
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / secrecy_capacity-0.1.0-py3-none-any.whl

Download URL secrecy_capacity-0.1.0-py3-none-any.whl
Size 25.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
46cee3320d878372f3a0ce726332b5983fed90f85b405eb6a800b8d401b49a8a
BLAKE2b-256 checksum
How to use checksums
2213eb68e2b1719c4180ea862672c7099d9fe7057bd29c5f0b60ced90e68053b
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page