/idash-sgx-nn

Privacy-preserving Machine Learning as a Service on SGX

Primary LanguageRust

iDASH's Neural Network Evaluation in SGX

This is a winning solution to Track III of the iDASH Privacy & Security Workshop 2019.

Dependencies

Installing dependencies for a bio-sgx node

From the main directory:

source scripts/bio-sgx-deps-install.sh

Build

To build in the SGX Enclave mode:

make

To build in the non-SGX Enclave mode:

make ENCLAVE_MODE=0

Benchmark

  1. Build the program:
make
  1. Preprocess and encrypt the weight file:
make preprocess WEIGHT_SRC_FILE=<dir_to_hdf5_file>
  1. Run a local benchmark:
time make run INPUT_FILE_DIR=<input_file_dir>