- We start from the end
- xMin and xMax was determined on the curve with
Traces.mat
, I took the 5 last rounds
CTO.mat
fileTraces.mat
file- cargo to build the rust code
To quickly install rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- copy
CTO.mat
andTraces.mat
in a new folder calledres/
in the working directory - build the code
cargo build --release
- launch the program
cargo run --release
or
./target/release/aes_side_channel
$ time cargo run --release
Finished release [optimized] target(s) in 0.02s
Running `target/release/aes_side_channel`
Initialisation...
Decrypting the key...
The decrypted key is [40, 172, 23, 32, 35, 86, 132, 234, 23, 56, 75, 97, 89, 67, 56]
cargo run --release 2.81s user 0.41s system 99% cpu 3.223 total
On a macbook pro Intel core i92,3 GHz 8 cores (Big Sur 11.2.3) - 16 giga of rams, the program found the 16 bytes in less than 5 seconds. In comparison, the same program with GNU octave took more than a hour.
Note: I am aware of the limitation of the GNU octave software.