International Association for Cryptologic Research

International Association
for Cryptologic Research

Transactions on Cryptographic Hardware and Embedded Systems 2025

HIPR:

Hardware IP Protection through Low-Overhead Fine-Grain Redaction


README

HIPR: Hardware IP Protection through Fine-Grain Redaction

This repository contains the artifacts accompanying our paper titled HIPR: Hardware IP Protection through Low-Overhead Fine-Grain Redaction, which has been accepted for publication in TCHES Volume 2025 Issue 3.

The shared artifacts include compressed archives ("*.tgz") for:

These artifacts correspond to the evaluation benchmarks reported in our paper: Link

Please cite our work as follows:

BibTeX

@article{Dasgupta_Paria_Bhunia_2025,
title="{HIPR: Hardware IP Protection through Low-Overhead Fine-Grain Redaction}",
volume={2025},
url={https://tches.iacr.org/index.php/TCHES/article/view/12236},
DOI={10.46586/tches.v2025.i3.781-805},
number={3},
journal={IACR Transactions on Cryptographic Hardware and Embedded Systems},
author={Dasgupta, Aritra and Paria, Sudipta and Bhunia, Swarup},
year={2025},
month={Jun.},
pages={781–805}
}

Text

Dasgupta, A., Paria, S., & Bhunia, S. (2025). HIPR: Hardware IP Protection through Low-Overhead Fine-Grain Redaction. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2025(3), 781-805. https://doi.org/10.46586/tches.v2025.i3.781-805

Overview

HIPR is a fine-grain hardware IP redaction technique for ASICs that uses novel transformations to optimize the overhead cost without compromising the security of sensitive IP blocks.

HIPR achieves fine-grain redaction of security-critical Boolean logic cones, sequential logic like FFs, and interconnect randomization as demonstrated below:

Hardware redaction in **HIPR**

Fig. 1: Hardware redaction in HIPR.

The configurable fabric in HIPR utilizes the following components to implement the redacted logic:

Please refer to our paper for more details.

Getting Started

The compressed files ("*.tgz") can be extracted by running the "init.sh" bash script provided:

sh init.sh

Once finished, the evaluation benchmark directory ("./eval_benchmarks_mit_cep") tree should look something like:

./eval_benchmarks_mit_cep/
├── hipr_tX/
│   ├── rdY/
│   │   ├── rdY.hipr_tX.bitstream.txt
│   │   ├── rdY.hipr_tX.rd_io_map.wrapper.v
│   │   ├── rdY.hipr_tX.syn.sdc
│   │   └── rdY.hipr_tX.syn.v
│   │   └── reports_syn/
│   │       ├── rdY.hipr_tX.syn.power.rpt
│   │       └── rdY.hipr_tX.syn.qor.rpt
│   ...
...
├── hipr_tX.tgz
...
├── org/
│   ├── rdY/
│   │   ├── rdY.org.syn.sdc
│   │   ├── rdY.org.syn.v
│   │   └── reports_syn/
│   │       ├── rdY.org.syn.power.rpt
│   │       └── rdY.org.syn.qor.rpt
│   ...
└── org.tgz

Here, $tX: X \in {1,2,3}$ correspond to the HIPR transformations T1/T2/T3 with different combinations of security-aware overhead optimizations, and $rdY: Y \in {1,2,\cdots,10}$ correspond to the 10 test IPs redacted. Please refer to our paper for more details about the transformations and test IPs.

The library directory ("./lib") tree should look like:

./lib/
├── nangate15/
│   ├── sim/
│   │   ├── NanGate_15nm_OCL_conditional.v
│   │   └── NanGate_15nm_OCL_functional.v
│   └── syn/
│       └── NanGate_15nm_OCL_typical_conditional_ccs.db
└── nangate15.tgz

Artifact Details

Original Test IPs

The artifacts shared in the "./eval_benchmarks_mit_cep/org/" directory include the following:

Redacted Test IPs

The artifacts shared in the "./eval_benchmarks_mit_cep/hipr_tX/" directory include the following:

Bitstream Configuration

The redacted IP generated by HIPR contains a daisy-chained shift register to store the configuration bitstream. The bitstream provided in "rdY.hipr_tX.bitstream.txt" can be loaded serially via the "i_bit_si_0" input pin while toggling the configuration clock "config_clk_0" over N clock cycles for a N-bit configuration bitstream, starting from bitstream[0] (line 1) to bitstream[N-1] (line N).

Alternately, the bitstream configuration step can be skipped by directly assigning the configuration bit values from "rdY.hipr_tX.bitstream.txt" to the output pins of the corresponding shift register flops in the"rdY.hipr_tX.syn.v" netlist. As the shift register flops are daisy-chained, they can be easily identified from the netlist using the configuration I/O pins: starting from input "i_bit_si_0" and ending with "o_bit_so_0", where each flop is connected to the clock "config_clk_0".

Standard Cell Library

The gate-level netlists for the original and redacted test IPs are mapped to NanGate 15nm standard cell library for typical/nominal operating conditions (Process: HP, Voltage: 0.8V, Temperature: 25C). The synthesis and simulation library files used by HIPR are shared in the "./lib/nangate15/" directory:

The Open-Cell NanGate 15nm library files are available upon request from Silvaco: Link

License

This repository is distributed under the Apache-2.0 license. See LICENCE for more information.

Contacts

If you have any queries, please feel free to contact us: