Skip to content

TrustworthyComputing/mploc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MPloC: Privacy-Preserving IP Verification using Logic Locking and Secure Multiparty Computation

Overview

Combine logic locking with secure multiparty computation for privacy-preserving intellectual property verification. Transform Verilog (2005) code (i.e., locked netlists) into "Bristol Fashion" MPC Circuits and run them using MP-SPDZ.

How to cite this work

The SoK outlining this framework will appear in 2023 IEEE 29th International Symposium on On-Line Testing and Robust System Design (IOLTS) (the preprint can be accessed here) and here. You can cite this article as follows:

@INPROCEEDINGS{IOLTS:Mouris23mploc,
  author    = "Dimitris Mouris and
               Charles Gouert and
               Nektarios Georgios Tsoutsos",
  booktitle =  "2023 IEEE 29th International Symposium on On-Line Testing 
                and Robust System Design (IOLTS)",
  title     =  "{MP$\ell\circ$C: Privacy-Preserving IP Verification using
                Logic Locking and Secure Multiparty Computation}",
  year      =  "2023",
  volume    =  "",
  number    =  "",
  pages     =  "1-7",
  doi       =  ""
}

Install

Prerequisites

sudo apt-get install automake build-essential clang cmake git libboost-dev \
    libboost-thread-dev libntl-dev libsodium-dev libssl-dev libtool m4 python3 \
    texinfo yasm yosys

Clone this repository:

git clone --recurse-submodules [email protected]:jimouris/mploc.git

Build MP-SPDZ

cd MP-SPDZ
make setup
make Programs/Circuits
make -j8 all
cd ..

Run

Generate Bristol Circuit

Create the EDIF files with Yosys:

$ yosys
yosys> read_verilog Programs/Verilog/4_bit_adder.v
yosys> synth
yosys> abc -g XOR,AND
yosys> write_edif Programs/EDIF/4_bit_adder.edif
yosys> exit

Convert the edif file to a Bristol fashion circuit:

python src/edif2bristol.py --edif Programs/EDIF/4_bit_adder.edif --out Programs/Circuits/4_bit_adder.txt

Prepare the Player Data

From the MP-SPDZ directory run:

mkdir -p Player-Data
echo 4 > Player-Data/Input-P0-0
echo 2 0 > Player-Data/Input-P1-0
./MP-SPDZ/compile.py 4_bit_adder
./MP-SPDZ/Scripts/semi.sh 4_bit_adder

Trustworthy Computing Group

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors