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 Vigenere 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
- 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!
Livro realmente fantástico e muito divertido. O livro consiste basicamente em apresentar modelos de criptografia que avançam em complexidade no correr do livro. O autor parte da simples cifra de César e até a complexa (and still hackeable) cifra de RSA. Ao longo do caminho o autor também apresenta alguns conceitos de criptografia, como o principio de Kerckhoffs. É uma leitura divertida e é direcionada para não programadores. Para quem já sabe um pouco de programação, tentar aplicar os modelos de cifra do livro em pequenos programas executáveis e tentar decifrá-los posteriormente é um bom exercício (principalmente para treinar flow statements e condicionais).