Implementation of the system described in this paper
Remark This is an implementation of the proceedings version of the paper, that has a bug in the way constant values are handled. The current eprint version of the paper corrects this. This will be fixed in the next release of this prototype.
- A Unix-like environment (e.g., Linux, mingw-w64)
- GCC compiler, GMP development libraries
- CodeBlocks IDE (optional, for re-building on Windows)
- Python 2.7 with Twisted and GMPY
For instance, on Amazon Linux the following commands install the required dependencies:
sudo yum install gcc-c++ gmp-devel
pip install --upgrade pip
sudm pip install twisted gmpy scipy
- After cloning the repository, download the dependencies:
git submodule init
git submodule update
- Compile the ate-pairing library with SNARK support:
cd ate-pairing
make SUPPORT_SNARK=1
-
On Unix, compile the C++ library and tools by running run
make
from the main directory -
On Windows (64-bits), binaries are included so building is not necessary; to re-build, open
qaps.workspace
in CodeBlocks and choosing "Rebuild Workspace" (also works on Unix) -
Install our customized VIFF version:
cd tueviff-fp-inlinecb
python setup.py install
- For generic examples, see
simple.py
,simple2.py
, andsimple3.py
in theviff
directory. Edit and runtest.sh
from thebin
directory to run these examples - For the "aggregate" and "logrank" examples from the paper, edit and run test_anon.sh and test_stat.sh, respectively
This work is part of projects that have received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 643964 (SUPERCLOUD) and No 731583 (SODA).