GTkernel / secure-mpc

Secure multi-party computation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NOTE

This repo is a work in progress. Please contact James Choncholas for more information.

Building and Running EMP

The auction can run in 3 security models, semi-honest 2pc, publicly verifiable covert, and authenticated garbling 2pc.

Specifically for semihonest 2pc there are a few different applications.

  • sh2pc_auction is a usable application that computes an auction for resources.
  • sh2pc_auction_benchmark is a tool to run the auction repeatedly with increasing size and performance measurements.
  • sh2pc_auction_benchmark_dc2 is just like benchmark except the evaluator (bob) has ALL the data.

Flame Graphs

  1. install FlameGraph repo and point path in docker/run.sh

sh2pc installation instructions:

  1. Install necessary dependencies

    > ./install.sh
  2. Build and run the sh2pc tests

    > ./scripts/build_all.sh
    > ./scripts/run_all.sh

pvc installation instructions:

  1. First install normal dependancies.

    > ./install.sh
  2. Build a circuit file with circuit generator program.

    > mkdir build
    > cd build
    > cmake ..
    > make
    > ./bin/gen_auction
  3. Install special pvc dependancies.

    > ./install_pvc.sh
  4. Copy the circuit to PVC location

    > cp to pvc test dir with special name (aes or something)
  5. Run the pvc test but with the new circuit

    > cd emp-pvc/test
    > run the test

AG installation instructions:

Copy the following two lines into emp-agmpc/CMakeLists.txt right above the test cases

install(DIRECTORY emp-agmpc DESTINATION include)
install(DIRECTORY cmake/ DESTINATION cmake)

Run make install from that directory

About

Secure multi-party computation


Languages

Language:C++ 44.2%Language:Shell 25.6%Language:Python 18.4%Language:CMake 7.8%Language:C# 3.5%Language:Dockerfile 0.4%