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 9398.95user 0.72system 2:36:40elapsed 99%CPU (0avgtext+0avgdata 24204maxresident)k 0inputs+176outputs (0major+152433minor)pagefaults 0swaps /usr/bin/time ./aes128-table.py < aes128.out > aes128.tex 0.02user 0.01system 0:00.04elapsed 97%CPU (0avgtext+0avgdata 10056maxresident)k 0inputs+8outputs (0major+1291minor)pagefaults 0swaps /usr/bin/time ./isdsims.py > isdsims.out 3603109.54user 1215.09system 9:40:38elapsed 10345%CPU (0avgtext+0avgdata 4430020maxresident)k 0inputs+1296outputs (118major+97060272minor)pagefaults 0swaps /usr/bin/time ./isdsims-graph.py < isdsims.out 10.15user 0.14system 0:10.32elapsed 99%CPU (0avgtext+0avgdata 139856maxresident)k 10968inputs+296outputs (62major+36694minor)pagefaults 0swaps /usr/bin/time ./isdpredict1.py > isdpredict1.out 1293087.32user 3551.98system 6:44:14elapsed 5345%CPU (0avgtext+0avgdata 2088116maxresident)k 0inputs+384outputs (86major+376742476minor)pagefaults 0swaps /usr/bin/time ./isdpredict2.py < isdpredict1.out > isdpredict2.out 35430769.39user 7700.90system 40:09:29elapsed 24513%CPU (0avgtext+0avgdata 757164maxresident)k 0inputs+7256outputs (48major+381740912minor)pagefaults 0swaps /usr/bin/time ./isdpredict-table.py < isdpredict2.out > isdpredict.tex 0.18user 0.01system 0:00.20elapsed 100%CPU (0avgtext+0avgdata 10132maxresident)k 0inputs+8outputs (0major+1332minor)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