Training material for capture-the-flag cryptographic challenges - see ctftime.org - provided as jupyter notebooks.
There are several cryptography libraries, with varying degrees of user-friendliness and capabilities - see for instance this crypto API comparison. Commonly used libraries are pyca and pycryptodome.
Tested on ubuntu 25.10.
python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade -r requirements.txt
jupyter notebookAdditionally, for gmpy2 and pyecm in the RSA notebook you will need libmpc-dev, libmpfr-dev, and libgmp-dev, which you can install (credit: monolune) with
sed 's/#.*//' apt.txt | xargs sudo apt install -y
wget https://raw.githubusercontent.com/martingkelly/pyecm/master/pyecm.py