5 Substitution ciphers

 

This chapter covers

  • Simple substitution and polyalphabetic substitution ciphers
  • Solving polyalphabetic ciphers using the Kasiski test and the index of coincidence
  • Autokey and running key ciphers, and methods for solving them
  • Simulating rotor-based cipher machines

We are now ready to explore the basic tools described in the preceding chapter in greater depth. Before I begin describing all the various ciphers, let me explicitly state the goals that these ciphers are trying to achieve. The Dutch linguist and polymath Auguste Kerckhoffs first expressed these principles in a pair of articles in Journal des Sciences Militaires in 1883:

  1. The cipher should be unbreakable in practice, even if not in theory.
  2. This should be true even if the enemy learns the system.
  3. The key should be easy to remember (without notes) and easy to change.
  4. It should be possible to transmit the enciphered messages by telegraph.
  5. The apparatus and documents should be easily carried and operated by one person.
  6. The cipher should be easy to use; there should be no complex rules or computations.

Rule 4 might be updated to read “transmit the enciphered messages digitally.” Otherwise these precepts remain as valid today as in 1883.

5.1 Simple substitution

5.2 Mixing the alphabet

5.3 Nomenclators

5.4 Polyalphabetic substitution

5.5 The Belaso cipher

5.6 The Kasiski method

5.7 Index of Coincidence

5.8 Index of Coincidence, again

5.9 Solving a polyalphabetic cipher

sitemap