To run an experiment, follow the Jupyter Notebook DL_to_locate_COs.ipynb
.
The repository is organized as follows:
/CNN
: Contains modules and configuration files for the Convolutional Neural Network use for classify the start of cryptographic operations./inference_pipeline
: Contains functions for classify, segment, align, and attack a side-channel trace.DL_to_locate_COs
: It is a Jupyter Notebook for run a demo.
.
├── CNN
│ ├── configs
│ │ ├── common
│ │ │ └── neptune_configs.yaml
│ │ └── exp
│ │ ├── data.yaml
│ │ ├── experiment.yaml
│ │ └── module.yaml
│ ├── datasets
│ │ └── co_class_dataset.py
│ ├── models
│ │ ├── custom_layers.py
│ │ ├── resnet.py
│ │ └── resnet_time_series_classifier.py
│ ├── modules
│ │ ├── co_class_datamodule.py
│ │ └── co_class_module.py
│ ├── train.py
│ └── utils
│ ├── data.py
│ ├── logging.py
│ ├── module.py
│ ├── trainer.py
│ └── utils.py
├── inference_pipeline
│ ├── alignment.py
│ ├── cpa.py
│ ├── sca
│ │ ├── preprocess.py
│ │ └── sca_utils.py
│ ├── segmentation.py
│ └── sliding_window_classification.py
└── DL_to_locate_COs.ipynb
The dataset for the AES cryptosystem is avaible here.
The dataset is organized as follows:
\training
: contains three subsets, i.e., train, valid, and test.
Each subset consist into two .npy files:- set: it contains the side-channel traces accordingly preprocessed.
- labels: it contains the target labels for training the CNN, labelling each data as cipher start, cipher rest, or noise.
\inference
: contains two file as demo of the inference pipeline. One file is the side-channel trace containing an undefine number of AES encryptions. The other file is a list of plaintexts matching the AES encryptions to test a CPA attack.
This work is part of [1] available online.
This repository is protected by copyright and licensed under the Apache-2.0 license file.
© 2024 hardware-fab
[1] G. Chiari, D. Galli, F. Lattari, M. Matteucci and D. Zoni, "A Deep- Learning Technique to Locate Cryptographic Operations in Side-Channel Traces," 2024 Design, Automation & Test in Europe Conference & Exhibition (DATE), Valencia, Spain, 2024, pp. 1-6, doi: 10.23919/DATE58400.2024.10546758.