International Association for Cryptologic Research

International Association
for Cryptologic Research

Transactions on Cryptographic Hardware and Embedded Systems, Volume 2024

Time Sharing - A Novel Approach to Low-Latency Masking


README

Time Sharing Masking (TSM)

This repository contains the supplementary materials corresponding to the paper "Time Sharing - A Novel Approach to Low-Latency Masking" accepted for publication in CHES 2024. We include the HDL source code(Verilog), corresponding netlists and formal verification results for the S-Boxes of PRINCE and AES.

Please refer to the README files in the PRINCE_SBox and AES_SBox subfolders for more information.

Instructions

To formally verify our netlist, there are two steps. First, we need to synthesize our Verilog design to generate netlists. Second, we verify the generated netlists using the formal verification tool SILVER.

Generating Netlists

The Verilog files are synthesized using NanGate 45nm Open Cell Library, with Synopsys DC Compiler v2021.06 as outlined in the paper.

After making the necessary changes, synthesize the design by running the command dc_shell -f compile.tcl.

Formal Verification

To formally verify the generated netlists:
1. Build SILVER framework using the instructions in their repository: https://github.com/Chair-for-Security-Engineering/SILVER
2. Annotate the inputs and outputs of the top module in the netlist according to the guidelines in the SILVER repository. We provide some netlists in the ./PRINCE_SBox/netlist/ folder with annotated inputs and outputs, which can be used as a reference.
3. You can also find the necessary command line options to formally verify the generated netlist. An example command to verify our PRINCE S-Box is:

./bin/verify --verbose=1 --verilog=1 --verilog-design_file=$REPO_TOP/PRINCE_SBox/netlist/compile/compile_exact_map.v --verilog-module_name=PRINCE_sbox_opt

where $REPO_TOP refers to the local path where this artifact is in your computer.

Publication

D. Kumar S. V., S. Dhooghe, J. Balasch, B. Gierlichs, I. Verbauwhede "Time Sharing - A Novel Approach to Low-Latency Masking" IACR Transactions on Cryptographic Hardware and Embedded Systems (TCHES) 2024, Volume 3. link