This repository generates hardware Trojans for ICCAD research purposes. It creates basic circuits with corresponding interfaces (complete circuits) and inserts Trojan cores into them, while modifying Trojan core parameters such as internal cryptographic elements and Trojan IO bit widths. The process generates both clean circuits and Trojaned circuits for comparison and analysis.
The system:
- Generates base circuits with complete functionality and proper interfaces
- Inserts Trojan cores with configurable parameters:
- Internal cryptographic keys/ciphertext
- Trojan IO bit widths
- Other parametric configurations
- Produces paired datasets of clean and Trojaned circuits
yosys in your PATH (with abc installed internally):
sudo apt install yosysconfigure the data paths in CONFIG of syn.py, then run:
python3 syn/syn.py- 0 ~ 19: trojaned, with node labels
- 20 ~ 29: non trojaned
- 30 ~ 2029: trojaned, no node labels
- 2030 ~ 3029: non trojaned