CryptoBook icon indicating copy to clipboard operation
CryptoBook copied to clipboard

Learning Cryptography, math and programming with Cryptol (and maybe some Python)

Goals of this book

Shooting for high-school-ish aged students who want to learn about cryptography, and are willing to learn about math and programming along the way.

Beginnings of an Outline

  • Introduction
    • what to expect, what we expect of you
    • encrypting punchlines with Reverse-Caesar codewheels
  • Encoding information - Binary, ASCII, UTF-8, Morse code, Huffman encoding
    • each chapter begins with "what you'll get out of this chapter", which can also be "if you know all this, you can skim this chapter"
  • Introduction to Cryptol
    • data types
    • sequences, comprehensions
    • functions
  • Implementing the Caesar Cipher in Cryptol
  • The Enigma
    • a bit of history
    • building one with paper
    • implementing the Enigma in Cryptol

Tools used to build the book

I'm writing the book in ReStructuredText, and converting to PDF and HTML via Sphinx. (I switched from Pandoc/Markdown to make it easier to generate the index, and other improvements)