This repo contains code for privacy preserving attribution reporting in a secure enclave.
For more details please refer to the paper: TODO
For installation please check gramine documentation Check installation is correct and run:
gramine-sgx
Run make
(non-debug) or make DEBUG=1
(debug) in the directory.
Run make SGX=1
(non-debug) or make SGX=1 DEBUG=1
(debug) in the directory.
Without SGX:
gramine-direct main
With SGX:
gramine-sgx main
Some scripts can be used to run multiple tests. For these scipts to work, you need to follow these steps:
- Clone input repo
git clone https://github.com/victormassy/input.git
- Unzip input:
cd input
unzip TODO
- Run tests:
chmod +x 100tests.sh
./100tests.sh 12
Execution times are stored in file results.txt in microseconds (ms).
main.c: Contains code executed inside the enclave.
wrap_key: cryptographic key used for encryption (the matching private key is hard coded in the manifest)
main.manifest.template: specify where to find encrypted input