## Corner Points Computation

This tool computes the set of corner points of the probability of error for a given
channel. Using the corner points the script can compute 3 things:
- The maximum probability of error
- The maximum ratio prob-error/Santhi-Vardy bound (used to improve the bound)
- The maximum ratio prob-error/Hellman-Raviv bound (used to improve the bound)

The tool can be run from both the command line and a simple GUI.
#### Using the GUI

To launch the GUI type
perl gui.pl

The GUI requires the Perl/TK library to be installed in the system. On debian/ubuntu systems
this can be done by
sudo apt-get install perl-tk

The GUI allows to enter the channel matrix, select the quantity to compute and check whether
to use multiple processors or not (use this option in systems with multiple processors or multiple
cores for better performance). Pressing the **OK** button starts the computation and displays
the results.
#### Using the command line

To use the command line version type
perl run.pl [--maximize=ratio-sv|ratio-hr|prob-error] [--fork]

*Arguments*
--maximize=ratio-sv|ratio-hr|prob-error
Selects what quantity to maximize (see above)
--fork
Can be used in systems with multiple processors (or cores). It splits the
computation into processors to increase performance.

The script doesn't have any input, the matrix should be given by modifying the
$matrix variable in the beginning of the run.pl script. Note that the complexity
of the algorithm is exponential so the matrix has to be small!
#### More info

More information about the algorithm can be found in the following papers:
- K. Chatzikokolakis, C. Palamidessi, P. Panangaden.
On the Bayes Risk in Information-Hiding Protocols.
Journal of Computer Security, to appear.
pdf
- K. Chatzikokolakis, C. Palamidessi, P. Panangaden.
Probability of Error in Information-Hiding Protocols.
Proceedings of CSF20, IEEE Computer Society Press, pp. 341-354, 2007.
pdf

TODO
- The script currently doesn't work for matrices with zero elements (this should be easy to fix)
- Graphical interface
- Performance enhancements based on the alternative characterization of the JCS paper