PROLEAD Extension
Introduction
PROLEAD allows to analyze the robust probing security of masked implementations provided as a verilog netlist or arm binary.
The tool PROLEAD is command-line-based, here comes this extension in and provides a gui to clone/update PROLEAD source code, build it, configure the settings or choose standard values, run PROLEAD and evaluate the output with useful warnings, error messages and updates in the status bar that guide the user.
Walkthrough
Please check the walkthrough to know how you should set up the extension and install what is needed.
The walktrough will show up automatically for the first 3 times you open VSC after installing the extension.
For a more detailed information about PROLEAD, its parameters and its settings please visit the Wiki page of the original repo on Github.
Functions
Name |
Shortcut |
Description |
Install Dependencies |
ctrl +alt +i |
installs the needed packages such as git, g++, make etc. |
Open Project |
ctrl +alt +o |
simply opens a new folder (new workspace), it should be an existing project |
Create Project |
ctrl +alt +P |
lets you create a new project by setting its path and choosing its parts |
Set Directory |
ctrl +alt +d |
lets you change the path to project folder / args.set / config.set |
Get Ready |
ctrl +alt +s |
checks up for code updates, the needed files, executables and gets the updates |
Configure |
ctrl +alt +c |
opens up the configuration page (a gui for args.set and config.set) |
Evaluate |
ctrl +alt +f5 |
runs PROLEAD with the provided parameters in args.set and settings in config.set |
Project Structure
Directory Tree
.
├─ args.set
├─ config.set
├─ gate/
│ └─ design.v
├─ library.lib
├─ linker.ld
└─ results/
Folders and Files
Name |
Description |
args.set |
contains the parameters that are passed to PROLEAD via command line. |
config.set |
contains the settings of PROLEAD which are needed for the simulation, evaluation and performance |
design.v |
contains the gate-level netlist of the implementaion you want to test, written in verilog |
library.lib |
contains the library that define the functional behavior of each cell in the netlist |
linker.ld |
contains the specified linker file as the standard linker file (is more needed for the software version) |
results/ |
saves the output of PROLEAD after each evaluation in a new folder with the name format DD-MM-YYYY_hh-mm-ss |
Templates
When creating a new project you can choose to select an existing library file (for example) or use the standard library from the template.
You can find these templates in the extension folder under ~/.vscode/extensions/prolead
Usage
- make sure you have the dependencies installed
- open an existing project (that must contain a project structure) or create a new one
please contact Nicolai Müller (nicolai.mueller@rub.de) if you have any questions, comments, if you found a bug that should be corrected, or if you want to reuse PROLEAD or parts of it for your own research projects.
Publications