Image from Amazon Title: Cracking Codes with Python: An Introduction to Building and Breaking Ciphers
Author(s): Al Sweigart
Publisher: No Starch Press
Amazon wrote: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!
“Cracking Codes with Python” is a fun way of leanring Python. The book starts out with no Python at all. Instead it covers the basics of encoding/decoding. Starting with chapter 2, Python is used. The book introduces new concepts at a manageable pace as you need them to follow the examples. It also introducs various cipher techniques.
By chapter 3, readers learn how to save and run programs. I like that the book covers good programming practices and not just the basics. While I know Python, the book was a good review. I had forgotten a few things like __name__ from disuse. I like that the book included performance testing and complexity of algorithms.
Towards the end of the book, the code examples are quite long. Normally, I don't like this in a book, but there were great comments.
In conclusion, I recommend this book for anyone who wants to learn Python/programming and is interested in security or puzzles.
I give this book 9 out of 10 horseshoes.
Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.