Sign up
Forgot password?
FAQ: Login

Arundel John. Explore Go: Cryptography

  • pdf file
  • size 6,09 MB
Arundel John. Explore Go: Cryptography
Bitfield Consulting, 2025. — 257 p.
Go 1.24 edition
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 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 are codes and ciphers designed — and broken? Where do 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 about:
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.
  • Sign up or login using form at top of the page to download this file.
  • Sign up
Up