Explore Go: Cryptography (Go 1.24 edition)

Explore Go: Cryptography (Go 1.24 edition)

English | 2025 | 257 Pages | PDF, EPUB | 12 MB

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

  • 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
Homepage