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!
You’ll also learn how to:
- Combine loops, variables, and flow control statements into real working programs
- Use dictionary files to instantly detect whether decrypted messages are valid English or gibberish
- Create test programs to make sure that your code encrypts and decrypts correctly
- Code (and hack!) a working example of the affine cipher, which uses modular arithmetic to encrypt a message
- Break ciphers with techniques such as brute-force and frequency analysis
There’s no better way to learn to code than to play with real programs. Cracking Codes with Python makes the learning fun!
Python Crash Course: A Hands-On, Project-Based Introduction to Programming
Python Crash Course
is a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time.
In the first half of the book, you’ll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing...
Python Playground: Geeky Projects for the Curious Programmer
Python is a powerful programming language that’s easy to learn and fun to play with. But once you’ve gotten a handle on the basics, what do you do next?
Python Playground is a collection of imaginative programming projects that will inspire you to use Python to make art and music, build simulations of...
Python for Kids: A Playful Introduction to Programming
For Kids Aged 10+ (And Their Parents)
Python is a powerful, expressive programming language that's easy to learn and fun to use! But books about learning to program in Python can be kind of dull, gray, and boring, and that's no fun for anyone.
Python for Kids brings Python to life and...
2D Unity: Your First Game from Start to Finish
Have you ever wanted to make a video game, but didn't know where to start? 2D Unity is an approachable guide to making your own games using Unity, the powerful, free-to-use development platform.
2D Unity contains hands-on projects that get you started making games from the ground-up. Unity's complex...
Learning PowerShell is a custom-built, handcrafted, painstakingly curated book designed to get you from total PowerShell newbie to confident PowerShell user in as little as four weeks. This book assumes no prior knowledge, perfect for non-developers and Gui addicts who recognize that PowerShell is the future but need a good bit of handholding...