Part II
Tools and Techniques

3 Software Tools
 3.1 Linux and Ubuntu
 3.2 OpenSSL
 3.3 Python
4 Statistics for Communications and Security
 4.1 Binary Values
 4.2 Counting
 4.3 Permutations and Combinations
 4.4 Probability
 4.5 Collisions
5 Number Theory
 5.1 Divisibility and Primes
 5.2 Modular Arithmetic
 5.3 Fermat’s and Euler’s Theorems
 5.4 Discrete Logarithms
 5.5 Computationally Hard Problems