Dan Boneh from Stanford University has an excellent online course on cryptography, hosted on Coursera, called Cryptography I. Each week of the course has a corresponding optional programming assignment.
This repo contains solutions to all six programming assignments. They are written in modern, statically type annotated, Python 3.
Requires python version 3.9 or newer. Install dependencies via:
python3 -m pip install -r requirements.txtRun each solution by simply invoking the python interpreter:
python3 src/week$N.pyVerify static type checking of each solution via:
python3 -m pip install -U mypy
mypy src/*.py