Authors: Jean-Guillaume Dumas
Requirements:
Automatic linux install & run first benchmarks:
-
Fetch and run auto-vm.run
- Requires a linux virtual machine or sudoer rights to install packages.
- Will install distribution packages:
wget
,git
,g++
,cmake
,libgmp-dev
. - Then clone and install the
relic
andlibvespo
libraries. - Then run one small example and a large benchmark with increasing degrees.
Installation only:
-
Automatic (will install RELIC -- for now with x64-asm-4l arithmetic backend --)
- Fetch and run libvespo-auto-install.sh
- Same requirements (git, cmake, c++ compiler, OpenMP, GMP --dev: headers & library--, ...) already installed.
- Will clone and install
relic
(for now only withx64-asm-4l
arithmetic backend). - Will clone and install
libvespo
.
- Fetch and run libvespo-auto-install.sh
-
By hand (supposing RELIC is already installed)
- Clone the vespo directory and
cd vespo
. - Set the RELIC/GMP path within the
Makefile
. - Toggle compilation flags variants within the
Makefile
. - Compile with
make
.
- Clone the vespo directory and
Benchmarking only: cd vespo
-
Automatic (two different range of benchmarks)
- run
./Linear-FDT.sh [numthreads (default=8)] [max logdeg (12)] [iterations (3)]
(Ref. Table 7). - run
./PoR-FDT.sh [numthreads (default=8)] [iterations (3)]
(Ref. Tables 10 & 13). - Parse outputs via
./parse_bench.sh bench_*
.
- run
-
By hand
- Using executable
./vespo_bench
. - Usage:
vespo_bench [Vector dimension] [Paillier bitsize] [Verification iterations] [tasks (default=threads)]
- Example:
./vespo_bench 8192 2048 3
- Using executable
Results
-
Parsed output
- Degree: random polynomial degree.
- Setup: initialization time.
- CStore: client keys size.
- CTime: client verification time.
- STime: server computation time.
- UTime: client/server polynomial update time.
- HTime: reference Horner evaluation time.
-
Detailed Audit Benchmarks
- zeta: encrypted evaluation by the server of P(r);
- xi: proof by the server that the evaluation is correct.
- C-gsum: geometric sum checkpointing by the client;
- C-powm: pairings verification by the client;
- C-H_dec: deciphering the evaluation by the client.
- horner: reference Horner evaluation time.
References:
- VESPo: Verified Evaluation of Secret Polynomials.
PETS 2023: 23rd Privacy Enhancing Technologies Symposium,
J-G. Dumas, A. Maignan, C. Pernet, D. S. Roche, ArXiv 2110.02022