Skip to content

Simula-UiB/SKINNY-LFGI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Comparison of Graph-Inference Side-Channel Attacks Against SKINNY

This repository contains the source code for the experiments in the paper A Comparison of Graph-Inference Side-Channel Attacks Against SKINNY to be presented at CASCADE 2025.

The project consist of several Python scripts meant to be run separately from the main directory. The necessary libraries are listed in requirements.txt and can be installed by running pip install -r requirements.txt, preferably in a virtual environment.

Attacks on Synthetic Traces

To compute the experiments corresponding to Fig. 4 and 5 in the paper, you can run the script:

> python src/fgi-sim/SASCA.py

This will populate the results folder with several .hdf5 files. Each of these files contains the success rates and key ranks for each experiment.

The file names are structured as follows:

SASCA<_44><-start><-end>-[number of experiments]-[depth range in rounds]-[trace count range]-[iterations range]-[std]-[seed].h5

where the items marked in <> are optional flags and the items marked with [] are dependent on experiment parameters. So, for example, the file:

SASCA_44-start-end-500-2_2-1_20-60_60-1-12345.h5

contains the experiments using 44 S-boxes of leakage, a graph consisting of two rounds, from 1 to 20 traces, 60 iterations, a noise level of 1, and the seed 12345.

For attacking the larger tweak key variant of SKINNY, SKINNY-128-384, relating to Fig. 3, the script is:

> python src/fgi-sim/SASCA-384.py

Attacks on Real Traces

For the attacks on real traces, the traces must first be downloaded from Zenodo,https://doi.org/10.5281/zenodo.14640175, and added to a folder traces in the base directory.

Then run

> python src/fgi-real/generate_profiles.py
> python src/fgi-real/generate_scores.py

to precompute Gaussian templates from the profiling traces and scores for all intermediates in the attack traces.

Lastly, the experiments relating to Fig. 6 can be run with:

> python src/fgi-real/SASCA_real.py

Self Acquisition of Traces

To acquire new traces, follow the instructions in https://github.com/Simula-UiB/CGI-DPA and use the convert function in convert.py to convert the traces to the updated .hdf5 format.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages