This repository contains three scripts related to reconfigurable hardware Trojan mitigation.
Jordan Maynard & Amin Rezaei
find_rare.cpp: finds steady state probabilities of design FSMduplicate_state.cpp: duplicates a chosen state in the designinsert_trojan.cpp: inserts a stealthy Trojan on a chosen statebenchmarks/: folder containing original and example benchmarksv/: original FSM benchmarks from Synthezzav_d/: least likely state duplicatedv_ti1/: stealthy stuck-at-fault Trojan inserted on least likely statev_ti2/: stealthy wrong transition Trojan inserted on least likely statev_d_ti1/: least likely state duplicated and stealthy stuck-at-fault Trojan introduced to original least likely statev_d_ti2/: least likely state duplicated and stealthy wrong transition Trojan introduced to original least likely state
output/: output location for user-run scripts
- g++ version 8.1.0 & Windows 10/11 is used to compile. To download g++, follow this link.
- Run
g++ find_rare.cpp -o fr.exe, theng++ duplicate_state.cpp -o ds.exetheng++ insert_trojan.cpp -o it.exeto compile and create executables for each script. - Run
./[the one you want to use].exeto use each script.
find_rare.cpp
- Run
./fr.exe. - Input benchmark file name, including ".v". Example:
benchmarks/v/as13.v
duplicate_state.cpp
- Run
./ds.exe. - Input benchmark file name, including ".v". Example:
benchmarks/v/as13.v - Choose the state you want to duplicate by number. NOTE: if duplicating a duplicate state, use
2_d
insert_trojan.cpp
- Run
./it.exe. - Input benchmark file name, including ".v". Example:
benchmarks/v/as13.v - Choose the state you want to duplicate by number. NOTE: if infecting a duplicate state, use
2_d - Choose the number of state visits before Trojan trigger activates.
- Choose between stuck-at-fault or wrong state transition payload.
@INPROCEEDINGS{LIANA,
author={Maynard, Jordan and Rezaei, Amin},
booktitle={2024 IEEE 17th Dallas Circuits and Systems Conference (DCAS)},
title={Reconfigurable Run-Time Hardware Trojan Mitigation for Logic-Locked Circuits},
year={2024},
volume={},
number={},
pages={1-6},
doi={10.1109/DCAS61159.2024.10539881}
}