This repository contains modified and original files taken from scarv/scarv-cpu, which were used to analyze the leakage behavior of the masking-ise of the scarv-cpu. The analysis can be found in the paper Another Evidence to not Employ Customized Masked Hardware - Identifying and Fixing Flaws in SCARV TODO:LinkToPaper.
If you're interested in the Verilog code for our version of the SCARV ALU, start with ./secure_frv_masked_alu/src
.
This folder contains all the files relevant to building our non-leaking version of the SCARV ALU.
Please note that our ALU must be reset after each calculation.
For our experiments using PROLEAD, begin with the files in ./frv_masked_and/
.
This folder includes the first and simplest experiment from our analysis.
Running PROLEAD on this small design is quick and can be done on nearly any computer.
Other folders primarily provide different wrappers, allowing PROLEAD to investigate various subsets of the entire ALU.
Please note that except for ./frv_masked_and
, all other folders contain Verilog files, leading to designs in which PROLEAD detects no leakage.
These folders include versions of the designs after our fixes are applied.
Furthermore, we have tried to keep the impact of our changes on the source code as minimal as possible. Without this constraint, it might be possible to make the code more readable.