liveBook · Manning

Go

As explained in Hacking Cryptography

Go is a statically typed, compiled programming language designed for simplicity, portability, and efficient software development.

Go is a readable, portable programming language used for rapid prototyping and practical engineering examples. It supports learning by running implementations and observing their vulnerabilities and exploits. section 1.4 section 1.4

Go’s role in implementation-focused development includes:

  • Writing examples that demonstrate how cryptographic algorithms work in practice. section 1.4
  • Running code and exercises to connect specific implementation details with vulnerabilities and attacks. section 1.4
  • Supporting portable experimentation while avoiding production cryptography implemented from scratch. section 1.4

Running a cryptographic attack

A Go implementation can build a rainbow table for cracking hashed passwords, then expose the practical limits and attack path of targeting hash functions. section 1.4

How Hacking Cryptography covers it

How deep it goes
Demonstrates implementations and vulnerabilities through runnable examples, while deferring the mathematical theory underlying cryptographic algorithms.
Examples
Uses runnable code listings, exercises, and a rainbow table implementation for cracking hashed passwords.
What you can do after
Builds and runs practical Go implementations while recognizing vulnerabilities and choosing tested cryptographic implementations for production.
How it connects
Connects Go with cryptography, cryptographic algorithms, hash functions, rainbow tables, vulnerabilities, and exploits.

Also explained in

Compare how 11 books explain Go →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Hacking Cryptography. The section links point to the parts of the book it draws on.