Chapter 1: Making Paper Cryptography Tools Chapter 2: Installing Python Chapter 3: The Interactive Shell Chapter 4: Strings and Writing Programs Chapter 5: The Reverse Cipher Chapter 6: The Caesar Cipher Chapter 7: Hacking the Caesar Cipher with the Brute-Force Technique Chapter 8: Encrypting with the Transposition Cipher Chapter 9: Decrypting with the Transposition Cipher Chapter 10: Programming a Program to Test Our Program Chapter 11: Encrypting and Decrypting Files Chapter 12: Detecting English Programmatically Chapter 13: Hacking the Transposition Cipher Chapter 14: Making a Modular Arithmetic Module for the Multiplicative and Affine Ciphers Chapter 15: Programming the Affine Cipher Chapter 16: Hacking the Affine Cipher Chapter 17: The Simple Substitution Cipher Chapter 18: Hacking the Simple Substitution Cipher Chapter 19: The Vigenere Cipher Chapter 20: Frequency Analysis Chapter 21: Hacking the Viginere Cipher Chapter 22: The One-Time Pad Cipher Chapter 23: Finding Prime Numbers Chapter 24: Generating Keys for the RSA Cipher Chapter 25: Public Key Cryptography and Programming the RSA Cipher Appendix: Debugger
Al Sweigart is a professional software developer who teaches programming to kids and adults. He is the author of Automate the Boring Stuff with Python, Invent Your Own Computer Games with Python, and Scratch Programming Playground, also from No Starch Press. His programming tutorials can be found at inventwithpython.com.