International Association for Cryptologic Research

International Association
for Cryptologic Research

Transactions on Cryptographic Hardware and Embedded Systems, Volume 2024

Robust but Relaxed Probing Model


README

Artifact for "Robust but Relaxed Probing Model"

This artifact contains the extended PROLEAD version for the evaluation under the RR d-probing model.

Getting Started

We use the nix package manager (https://nixos.org/). After installing nix, simply type:
nix-shell which will automatically install all required dependencies.
Afterwards, PROLEAD can be used within the nix shell. To compile run make clean release.
Afterwards, run ./release/PROLEAD to start the evaluation of a basic example.

Structure

The artifact is structured as follows:
* The examples directory contains all experiments we reported in the paper (see Table 4).
* The inc directory contains all header files of PROLEAD.
* The src directory contains all source files of PROLEAD.
* The ut directory contains unit tests. Specifically, we test the evaluation of gadgets given in the full directory.
* The design.v and config.json files serve as default design and configuration file evaluated by running ./release/PROLEAD.
* The library.json file contains the standard cell library used by PROLEAD.
* The shell.nix file contains the configuration for nix. If you need more information about PROLEAD's dependencies, have a look.

Reproduce the Paper Results

The paper results are given in the examples folder. Every example contains a robust and a relaxed directory.
* The robust directory contains the evaluation results under the robust d-probing model.
* The relaxed directory contains the evaluation results under the RR d-probing model.

Further both directories contain the following files.
* The run.sh file serves as eecution script to evaluate the design.
* The config.json serves as a configuration file.
* The Report.dat file visualizes the result of the evaluation.

To evaluate a specific design, navigate to the folder where the run.sh file is located and type ./run.sh.

Caveat