The objective of this project was to develop an automated verifier for black-box Local Differential Privacy (LDP) algorithms. You can run 4 different experiments with this project.
- Testing for Convergence in Terms of Unbiased Estimation
- Violation Detection Through p-value Test
RR, GR, Simple RAPPOR and OUE algorithms can be found in LDP_Algorithms directory. If you want to add another algortihm, it should be a subclass of LDP_Base class.
git clone https://github.com/alikaratas17/COMP-430-Project.git
cd COMP-430-Project
sudo apt install -r requirements.txt
main.py [-h] -a ALGO -e EPSILON -m MODE [-n ITERATION]
ALGO is the name of the algorithm such as RR, GRR, OUE, SimpleRAPPOR. EPSILON is the epsilon value for the algorithm. MODE is an integer value corresponding to the type of the experiment (1: Convergence, 2: Direct Epsilon Estimation, 3: P-value Estimation, 4: P-value Plot). ITERATION is an optional argument that corresponds to the number of iterations.
If you want to check a custom algorithm, you need to create a class inherits from LDP_Base, then add it to the LDP_Algorithms folder. Make sure the algorithm name in arguments and the name of the python file are the same when you run the code with command line.