ABSTRACT: The effectiveness of side-channel attacks has been a critical topic in cybersecurity since their emergence in the late 1990s. SCAs exploit physical measurements like power consumption to extract cryptographic keys, and while many studies have focused on direct attack methodologies, the impact of preprocessing techniques on the efficiency of SCAs remains underexplored. This research investigates the influence of various preprocessing methods on the success rates of Correlation Power Analysis and Linear Regression Analysis attacks. By analyzing simulated power traces from both software and hardware implementations of the AES algorithm, we evaluate preprocessing methods including raw, squared, absolute value, centered, and standardized traces. Our findings reveal that our current preprocessing methods don’t significantly improve attack effectiveness. As the number of traces increases, the impact of preprocessing diminishes even more, with all methods converging towards accurate key identification. This study highlights the potential of preprocessing to refine SCA strategies and suggests future integration of deep learning techniques to further enhance preprocessing and attack methodologies.
Research Project - M1 Cybersecurity
Table of Contents
This research project was carried out in the second semester of the M1 Cybersecurity program at the University of Rennes.
This research project explores the impact of data pre-treatments on the success and effectiveness of side-channel attacks, particularly focusing on cryptographic systems. Side-channel attacks are sophisticated security breaches where an attacker gains insights into the cryptographic operations of a device by analyzing unintended physical outputs, such as power consumption. Our project investigates how careful preprocessing of this output can reveal sensitive information about cryptographic keys.
The project requires the following packages:
- numpy
pip install numpy
- matplotlib - for results visualization
python -m pip install -U pip python -m pip install -U matplotlib
- h5py
pip install h5py
- tqdm
pip install tqdm
- numba
pip install numba
- lascar
pip3 install "git+https://github.com/Ledger-Donjon/lascar.git" - scipy
python -m pip install scipy
For the extensive list with the versions used, please refer to the "Requirements.txt" file. This file contains a list of all packages and libraries needed to work on the project.
pip install -r Requirements.txt- Clone the repo
git clone https://gitlab.istic.univ-rennes1.fr/faguihard/side-channel.git
The repository contains 6 folders:
- images:
It contains visual evidence of the progress and results of our attacks. There are graphs that track the progression of rank scores over time for different analysis methods. There are graphs that illustrate the power traces collected from cryptographic devices under different key conditions. Each filename indicates the number of traces and key index used during the analysis - paper:
It contains the research paper studied to start the project. - presentation:
It includes the slides from our official project presentation to professors and students. - report:
It includes the technical report of the project, explaining the theory and results in details. The report is written in LaTeX. (see main.pdf) - src:
It contains the Python scripts for analysis. - traces:
It contains the physical outputs used in analysis.
Fabien Guihard - [email protected]\