H.O.P.E Project
The project is a Proof of Concept (PoC) of a possible implementation which satisfies constraints specified by the Cryptographic Track.
Project Information
At a Glance
The project is a Proof of Concept (PoC) of a possible implementation which satisfies constraints specified by the Cryptographic Track.
Description
The project shows how the chosen protocol could be done in order to exchange data withouth making both the client and the server aware of actual car flag vector values nor speed function explicit formula. For the random initial car array, the two parts generate a random array each one, then it is encrypted locally with the same Paillier Cryptosystem Key. Client & Server do not have the corresponding private key. The two random encrypted arrays are then matemathically combined, in order to take advantage of the homomorphic property of Paillier Cryptosystem, obtaining one common initial vector for the user car, without being able to get back to the explicit values.
Technical Details
Python was selected as programming language. A virtual environment has been created, in order to grant to the judges the ability to inspect the code withtout globally installing external libraries. The virtual environment can be automatically created through a script, labeled "setup.py", which creates the VEnv, install used libraries and pushes the code inside the environment. Run it like any other python script.
The code can be run using the command:
[Linux] /path/to/venv/bin/python3 /path/to/venv/src/poc.py [Windows] /path/to/venv/Scripts/python3.exe /path/to/venv/src/poc.py
Team
8Alfonso Esposito
Benedetta Zibetti
Riccardo Mainardi
Benedetto Manoni
Nicolò Gizzi
Federica Scuotto
Alessia Zollo
Teresa Perioli