International Association for Cryptologic Research

International Association
for Cryptologic Research

Transactions on Cryptographic Hardware and Embedded Systems, Volume 2021

Breaking CAS-Lock and Its Variants by Exploiting Structural Traces


README

Breaking_CAS-Lock

This repository contains scripts for implementing the defense and our proposed attacks.

IFS, IFS-SAT, and KBM-SAT attack scripts are provided for CAS-Lock, MCAS, and Anti-SAT techniques.

IFS folder contain the scripts for CAS-Lock defense and IFS attack.
KBM_SAT folder contains the scripts for CAS-Lock and KBM_SAT attack.
IFS_SAT folder contains the scripts for MCAS and IFS_SAT attack.
SAT_attack folder contains the sld and lcmp binaries in the bin/ folder.
bench_convert folder contains the convert binary to convert synthesized Verilog netlist to BENCH format.
IFS-SAT_attack folder contains the library files to get the user started.

Tools required:

Academic:

ABC Synthesis tool [1], tcsh shell

Industrial:

Synopsys Design Compiler (Version M-2016.12-SP2), Synopsys Tetramax (Version M-2016.12-SP5-1).

Library:

For all TCL scripts, the library path needs to be redirected to the appropriate one. To get started, we have provided the link to library files for NangateOpenCellLibrary 45nm [2].

[1] https://github.com/berkeley-abc/abc

[2] (2011) NanGate FreePDK45 Open Cell Library. Nangate Inc. [Online]. Available:http://www.nangate.com/?pageid=2325

Instructions to run the attacks:

There are three attacks provided in this repository (IFS, KBM-SAT, IFS-SAT). To run these attacks, the defense benchmarks must be first generated.
Instructions to produce the locked benchmarks for each attack is provided in the IFS/Defense, IFS-SAT/Defense and KBM-SAT/Defense folders.

Attack results:

Attacks mentioned in the paper are provided in the Attack folder within each main attacks.
README.md file provides instructions to run the attack scripts.

Binary commands usage:

E.g.

In bench_convert/src folder --> ./convert <.v file> <.bench file> (convert Verilog netlist to BENCH format)

In SAT_attack/bin folder --> ./lcmp key=

In SAT_attack/bin folder --> ./sld

Citation & Acknowledgement

If you find the code useful, please cite our paper:
* TCHES 2021:

@inproceedings{sengupta2021breaking,
title={Breaking CAS-Lock and Its Variants by Exploiting Structural Traces},
author={Sengupta, Abhrajit and Limaye, Nimisha and Sinanoglu, Ozgur},
booktitle={IACR Transactions on Cryptographic Hardware and Embedded Systems},
year={2021}
}