This repo is made for the tutorial "Where did my RAM go? Using algebraic cryptanalysis in practice" in the Croatia summer school 2025. In this repo you can find the slides for the guiding presentations as well as the exercises that accompany the tutorial. This tutorial aims to give students a starting understanding of algebraic cryptanalysis, the common methods used therein, and how to estimate the complexity of such attacks.
In the exercises we will make use of Sage in jupyter notebooks. The most painless way to install sage is (in my opinion) through Conda. Conda is an open source package management system and has pre-compiled binaries for Sage.
Follow the installation steps for Conda at Miniforge
Run the following command to create a virtual environment containing jupyter, sage and python.
conda create -n summer-school python=3.12 sage jupyterActivate the environment using
conda activate summer-schoolNow you can open jupyter lab to edit the code in the browser using
jupyter laband clicking the link in the terminal output. Alternatively you can link your favorite IDE to this python environment
When you are done you can deactivate the environment using
conda deactivate