Название: Explore Go: Cryptography (Go 1.24 edition) Автор: John Arundel Издательство: Bitfield Consulting Год: 2025 Страниц: 257 Язык: английский Формат: pdf (true), epub Размер: 24.6 MB
Can you keep a secret? I hope so, because much of the modern world is built on cryptography: the art of secret messages. This book will show you what it’s all about and how it really works, with dozens of example programs in Go.
About the book Have you ever wondered how passwords are stored securely? What makes a good password? How codes and ciphers are designed—and broken? Where random numbers come from, and what makes them random? What are the connections between lava lamps, space games, digital signatures, black holes, and Bitcoin? Let's find out. Join Alice, Bob, Eve, and Mallory as we learn about the fundamental principles of cryptography and digital security, from brute force and blockchains to keyspaces and hashing. We'll build a cipher system in Go from scratch, with step-by-step instructions and code examples at each stage (also available on GitHub).
Starting with the simplest cipher imaginable, we'll gradually improve the system by attacking it, adding sophisticated features like block chaining, padding, digests, and authentication. Along the way, you'll develop a powerful intuitive understanding of ciphers and keys, what makes them strong (or weak), and how to use them securely. We'll see how state-of-the-art modern algorithms like AES, SHA-256, Diffie-Hellman, and RSA work under the hood, and how to integrate them into real-world Go tools. This book is essential reading for all Go programmers who have to deal with encryption, authentication, and security... in other words, all of us!
What you’ll learn: By reading through this book and completing the challenges, you’ll learn аbout: The fundamental principles of codes and ciphers Building software test-first in Go How to write useful command-line tools Password security, keyspaces, and cracking Blocks, streams, chains, and cipher modes Padding, number bases, and endianness Pseudo-random and true random number generators Entropy, complexity, and quantum uncertainty Attacks, nonces, and initialization vectors Message digests, integrity, and authentication MD5, SHA-1, SHA-256, and SHA-3 Rainbow tables, salts, and zero-knowledge proofs Cryptocurrencies, key exchange, and asymmetric encryption Public-key cryptography: Diffie-Hellman and RSA AES/Rijndael internals and implementations AES-256 and AES-GCM Modern cryptography with the Go standard library Post-quantum cryptography