CH-IMP
This section demonstrates some CH-IMP implementations of common security problems and protocols.
Each example includes:
- the time taken to execute the example on a modern desktop computer (3.2GHz CPU, 4GB RAM);
- the Markov chain file generated after executing the example;
- a list of the states in which the example terminated (generated with the interpreter's --termstates option);
- a tabular representation of the joint distribution of the secret and observable values in the terminating states (generated with the interpreter's --jointdist option);
- a leakiEst-compatible channel file (generated with the interpreter's --channel option);
- the leakage from the secret values to the observable values in the example, calculated using each of the leakage measures supported by the interpreter.
Summary of Examples
XORed Secret and Random Number
A secret value and random number, chosen from the same distribution, are XORed, and the value is revealed to an attacker.
XORed Secrets
Two secret values, chosen from the same distribution, are XORed, and the value is revealed to an attacker.
Leak Inside While Loop
A secret value is copied into a value that is later observed in a block of code nested inside a while loop.
Secret Not Always Defined
During some execution paths a secret value is defined; in others, no secret values are defined.
Different Number of Secrets
A varying number of secret values are defined, depending on the execution path taken.
Linear Congruential Generator
A linear congruential generator with weak parameters implements a pseudorandom number generator with poor randomness.
Dining Cryptographers
Dining cryptographers networks, with fair and biased coins.