This is a C++ library and it is meant to model QIF - Quantitative Information Flow.
It can be used to model systems and measure their entropies, vulnerabilities and information leakages.
This library models the basics of QIF such as probability distributions, informational channels, gain functions, hyper-distributions, and some functions to measure information flow.
The documentation is available in HTML format. To access the documentation, download the folder doc-html
and inside it open the file index.html
in a browser.
-
GNU GCC project C and C++11 compiler - Available on most UNIX distributions. For more details access GCC documentation.
-
GNU ar. Available on most UNIX distributions. For more details access ar documentation.
-
GNU make. Available on most UNIX distributions. For more details access make documentation.
To use the library follow these steps:
-
Clone this repository;
-
Copy the folder
qif
to your project's directory; -
Open the folder
qif
in the terminal and typemake
to compile all the modules. A binary file namedqif.a
will be generated; -
Include the library in your C++ project using
#include "qif/qif.hpp"
; -
Compile your project adding
qif/qif.a
in the command line used to compile your C++ project.
Example:
$ g++ main.cpp qif/qif.a
Following the steps above you will be able to use all the classes and functions from this library.
[1] Alvim M.S; Chatzikokolakis K; McIver A; Morgan C; Palamidessi C; Smith G.S. The Science of Quantitative Information Flow. Springer, 1 edition, 2019.