FTSA is a protocol to securely aggregate (sum) vectors from multiple clients. The aggregation is performed at a server which we call the aggregator. The protocol has two main interesting properties:
Privacy: It preserves the privacy of the clients since it does not leak any information about the users' vectors except their sum.
Fault-Tolerance: The aggregator can compute the aggregate of the clients' vectors even if some clients drop from the protocol at any point in time.
A detailed description and evaluation of the protocol are submitted as a technical paper to ACSAC conference. The submitted manuscript can be found @ docs/acsac-submission.pdf
In this repository, you can find:
The source code of our protocol (can be found @ ftsa/protocols):
Documentation of the source code with a detailed description of all the classes and methods. It can be found @ docs/html.
Six Jupyter notebooks that allow the user to test our protocol (and SecAgg protocol). They can be found @ ftsa/jupyter_nb.
Benchmarks of both our protocol and SecAgg with different parameters. Also, a visualization of the benchmark results. They can be found @ ftsa/benchmarks.
The project requires a python version higher than 3.8 and a Jupyter notebook client (you can install one by running pip install notebook
).
virtualenv .venv
source .venv/bin/active
python setup.py build
python setup.py install
Please refer to here
Please refer to here