Cracking Codes with Python: An Introduction to Building and Breaking Ciphers

  • 6h 58m
  • Al Sweigart
  • No Starch Press
  • 2018

Learn how to program in Python while making and breaking ciphers—algorithms used to create and send secret messages!

After a crash course in Python programming basics, you’ll learn to make, test, and hack programs that encrypt text with classical ciphers like the transposition cipher and Vigenère cipher. You’ll begin with simple programs for the reverse and Caesar ciphers and then work your way up to public key cryptography, the type of encryption used to secure today’s online transactions, including digital signatures, email, and Bitcoin.

Each program includes the full code and a line-by-line explanation of how things work. By the end of the book, you’ll have learned how to code in Python and you’ll have the clever programs to prove it!

There’s no better way to learn to code than to play with real programs. Cracking Codes with Python makes the learning fun!

About the Author

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.

In this Book

  • Introduction
  • Making Paper Cryptography Tools
  • Programming in the Interactive Shell
  • Strings and Writing Programs
  • The Reverse Cipher
  • The Caesar Cipher
  • Hacking the Caesar Cipher with Brute-Force
  • Encrypting with the Transposition Cipher
  • Decrypting with the Transposition Cipher
  • Programming a Program to Test Your Program
  • Encrypting and Decrypting Files
  • Detecting English Program Matically
  • Hacking the Transposition Cipher
  • A Modular Arithmetic Module for the Affine Cipher
  • Programming the Affine Cipher
  • Hacking the Affine Cipher
  • Programming the Simple Substitution Cipher
  • Hacking the Simple Substitution Cipher
  • Programming the Vigenère Cipher
  • Frequency Analysis
  • Hacking the Vigenère Cipher
  • The One-Time Pad Cipher
  • Finding and Generating Prime Numbers
  • Generating Keys for the Public Key Cipher
  • Programming the Public Key Cipher
SHOW MORE
FREE ACCESS