Getting Started
The code has been developed for this challenge and is available on Github in two version: Pytorch repo and Tensorflow repo.
Although, the repositories are using neural network, there are restriction in the use of template attack or stochastic attack.
Installing dependencies:
The framework runs with python >= 3.8 and python <= 3.11. Futhermore, it requires the following dependencies:
venv, part of python's standard library, but not included in some python installations
(e.g., run apt install python3-venv to obtain it)
pipfor most of the python installations (on Ubuntu,apt install python3-pip)
We highly recommend using a UNIX environment (on Windows, use WSL)
Cloning repo
First, one can clone the challenge repository.
For Pytorch:
git clone https://github.com/pace-tl-ntu/ches2025_pytorchFor Tensorflow:
git clone https://github.com/pace-tl-ntu/ches2025_tf.gitDownloading the datasets
See Datasets page for downloading the datasets.
Train models during the profiling phase
In the following, we use ./../Datasets as the path to where the dataset is stored, and ches_2025 as the directory of the repository.
For PyTorch, one should go https://pytorch.org/ to install the pytorch version: 2.7.0
For TensorFlow, make sure that the tensorflow version: 2.19.0
*For MacOS, please use Pytorch instead of Tensorflow.
Analyze the trained model during the attack phase
For submission, one should edit the code analyze_{tf/pytorch}.py, where they have to load their model to run the function evaluate() to compute the guessing entropy. There are some code there
The function evaluate() will output something like:
If there are any issues, please reach out to the organizer.
Last updated