2. Classical Systems.- 2.1. Caesar, simple substitutions, Vigenere.- 2.2. The incidence of coincidences.- 2.3. Vernam, Playfair, Transpositions, Hagelin, Enigma.- 3. Shift Register Sequences.- 3.1. Introduction.- 3.2. Linear feedback shift registers.- 3.3. Non-linear algorithms.- 4. Shannon Theory.- 5. Huffman Codes.- 6. Des.- 7. Public Key Cryptography.- 8. The Discrete Logarithm Problem.- 8.1. The discrete logarithm system.- 8.2. How to take discrete logarithms.- 9. RSA.- 9.1. The RSA system.- 9.2. The Solovay and Strassen primality test.- 9.3. The Cohen and Lenstra primality test.- 9.4. The Rabin variant.- 10. The Mceliece System.- 11. The Knapsack Problem.- 11.1. The knapsack system.- 11.2. The Shamir attack.- 11.3. The Lagarias and Odlyzko attack.- 12. Threshold Schemes.- 13. Other Directions.- Appendix A. Elementary Number Theory.- A.1. Introduction.- A.2. Euclid's Algorithm.- A.3. Congruences, Fermat, Euler, Chinese Remainder Theorem.- A.4. Quadratic residues.- A.5. Mobius inversion formula, the principle of inclusion and exclusion.- Appendix B. The Theory of Finite Fields.- B.1. Groups, rings, ideals and fields.- B.2. Constructions.- B.3. The number of irreducible polynomials over IFq.- B.4. The structure of finite fields.- References.- Notations.