Hacking Secret Ciphers with Python (2013)
Chapter 1: MAKING PAPER CRYPTOGRAPHY TOOLS
Chapter 3: THE INTERACTIVE SHELL
Chapter 4: STRINGS AND WRITING PROGRAMS
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: MODULAR ARITHMETIC WITH THE MULTIPLICATIVE AND AFFINE CIPHERS
Chapter 16: HACKING THE AFFINE CIPHER
Chapter 17: THE SIMPLE SUBSTITUTION CIPHER
Chapter 18: HACKING THE SIMPLE SUBSTITUTION CIPHER
Chapter 19: THE VIGENÈRE CIPHER
Chapter 20: FREQUENCY ANALYSIS
Chapter 21: HACKING THE VIGENÈRE CIPHER
Chapter 22: THE ONE-TIME PAD CIPHER
Chapter 23: FINDING PRIME NUMBERS
Chapter 24: PUBLIC KEY CRYPTOGRAPHY AND THE RSA CIPHER