Assumes a Debian installation with the following packages: apt install build-essential libgmp-dev libmpfi-dev python3-matplotlib libssl-dev To compile: make -j4 To rebuild the aes128.tex table (see timings below): ./aes128.py > aes128.out ./aes128-table.py < aes128.out > aes128.tex To rebuild the isdsims.pdf graph (see timings below): ./isdsims.py > isdsims.out ./isdsims-graph.py < isdsims.out To rebuild the isdpredict.tex table (see timings below): ./isdpredict1.py > isdpredict1.out ./isdpredict2.py < isdpredict1.out > isdpredict2.out ./isdpredict-table.py < isdpredict2.out > isdpredict.tex Timings under Debian 11 (gcc 10.2.1, libgmp 6.2.1) on a dual EPYC 7742 with Core Performance Boost disabled: /usr/bin/time ./aes128.py > aes128.out 5042.92user 58.00system 1:24:46elapsed 100%CPU (0avgtext+0avgdata 23196maxresident)k 0inputs+360outputs (0major+9228574minor)pagefaults 0swaps /usr/bin/time ./aes128-table.py < aes128.out > aes128.tex 0.03user 0.00system 0:00.03elapsed 100%CPU (0avgtext+0avgdata 9952maxresident)k 0inputs+8outputs (0major+1312minor)pagefaults 0swaps /usr/bin/time ./isdsims.py > isdsims.out 3402930.09user 1202.07system 9:37:04elapsed 9831%CPU (0avgtext+0avgdata 4428056maxresident)k 656inputs+1240outputs (88major+108789717minor)pagefaults 0swaps /usr/bin/time ./isdsims-graph.py < isdsims.out 11.84user 6.32system 0:10.43elapsed 174%CPU (0avgtext+0avgdata 149472maxresident)k 18016inputs+232outputs (62major+101585minor)pagefaults 0swaps /usr/bin/time ./isdpredict1.py > isdpredict1.out 1166269.02user 3761.90system 5:54:48elapsed 5496%CPU (0avgtext+0avgdata 2088068maxresident)k 0inputs+352outputs (104major+383135672minor)pagefaults 0swaps /usr/bin/time ./isdpredict2.py < isdpredict1.out > isdpredict2.out 32646814.33user 14366.80system 37:05:14elapsed 24462%CPU (0avgtext+0avgdata 756800maxresident)k 0inputs+7264outputs (45major+437173938minor)pagefaults 0swaps /usr/bin/time ./isdpredict-table.py < isdpredict2.out > isdpredict.tex 0.18user 0.01system 0:00.19elapsed 99%CPU (0avgtext+0avgdata 10248maxresident)k 0inputs+8outputs (0major+1339minor)pagefaults 0swaps To save time in spot-checks, this package includes copies of the main outputs: aes128.out.precomputed isdsims.out.precomputed isdpredict1.out.precomputed isdpredict2.out.precomputed