header image
Click to view the other books
Automate the Boring Stuff with Python cover thumbnail Invent with Python cover thumbnail Making Games cover thumbnail Hacking Secret Ciphers cover thumbnail
Vote up on StumbleUpon.com

Encrypt messages and hack ciphers!

Hacking Secret Ciphers with Python teaches complete beginners how to program in the Python programming language. The book features the source code to several ciphers and hacking programs for these ciphers. The programs include the Caesar cipher, transposition cipher, simple substitution cipher, multiplicative & affine ciphers, Vigenere cipher, and hacking programs for each of these ciphers. The final chapters cover the modern RSA cipher and public key cryptography.

100% of the proceeds from this book are donated to the Electronic Frontier Foundation, the Creative Commons, and the Tor Project.

Book PDF (Alternate link)
PDF and All Source Code
If you want to test your cipher hacking skills, check out the Mystery Twister C3 Contest. The contest has several challenges for you to attempt and a forum where contestants can discuss their approaches.
Crypto 101 is a free book on an introduction to modern cryptography. If you have finished Hacking Secret Ciphers and want to continue learning about crypto, I highly recommend this book.

Programming & Cryptography Books I Recommend (if you don't mind paying)

These books take a more conventional approach to covering programming concepts. They don't focus on having complete source code for small projects or games, but they do explain programming concepts fairly well.

"The Code Book" by Simon Singh is a well written history of classical and modern cryptography, and an easy read as well. "Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers" is devoted to using Python for modern computer security.
"Python for Kids" is a new book from No Starch Press specifically aimed at a young reader. "Programming the Raspberry Pi: Getting Started with Python" is a great book to learn Python if you have purchased a Raspberry Pi.
"Super Scratch Programming Adventure!: Learn to Program By Making Cool Games" is a great book for younger kids (8 to teens) to learn MIT's graphical Scratch programming environment to quickly make games. "Python Programming for the Absolute Beginner, 3rd Edition" is a great book to learn Python if you have never programmed before.
"The Quick Python Book, 2nd Edition" is a great book if you are already a programmer and want to learn Python, or just want to quickly get up to speed with various programming concepts. "Programming Video Games for the Evil Genius" teaches the Java programming language, but takes a similar approach to "Invent with Python" by having the source code to various games.


You can email the author at [email protected]. Feel free to send your programming questions or comments.