2 / _ \_ _| |_| |__ ___ _ __
3 / /_)/ | | | __| '_ \ / _ \| '_ \
4 / ___/| |_| | |_| | | | (_) | | | |
5 \/ \__, |\__|_| |_|\___/|_| |_|
6 |___/ ___ _ __ __ _ _ _
7 / (_)/ _|/ _| ___ _ __ ___ _ __ | |_(_) __ _| |
8 / /\ / | |_| |_ / _ \ '__/ _ \ '_ \| __| |/ _` | |
9 / /_//| | _| _| __/ | | __/ | | | |_| | (_| | |
10 /___,' |_|_| |_| \___|_| \___|_| |_|\__|_|\__,_|_|
12 / _ \_ __(_)_ ____ _ ___ _ _
13 / /_)/ '__| \ \ / / _` |/ __| | | |
14 / ___/| | | |\ V / (_| | (__| |_| |
15 \/ |_| |_| \_/ \__,_|\___|\__, |
17 --------------------------------------------------------------------------------
19 This repository shows some example implementations of differential privacy[1]
20 in Python via Jupyter Notebooks. Each notebook contains further references and
21 information. This work may contain blunders, and it's accuracy has not been
22 verified, however it should still be able to give you a good starting point
23 for work with differential privacy.
25 You can use nbviewer[2] or GitHub[3] to view the notebooks online.
27 This work was completed under the guidance of Praneeth Vepakomma [4]
29 1: https://en.wikipedia.org/wiki/Differential_privacy
30 2: https://nbviewer.org
31 3: https://github.com/acheam0/python_dp
32 4: https://praneeth.mit.edu/
34 --------------------------------------------------------------------------------
40 - Approximate differential privacy (epsilon-delta):
41 - gaussian_mechanism.ipynb
44 - bayesian_attacker.ipynb
47 - exponential_mechanism.ipynb
50 - laplace_example_class_height.ipynb
53 - gaussian_mechanism.ipynb
55 - Exponential mechanism:
56 - exponential_mechanism.ipynb
59 - laplace_mechanism.ipynb
64 - Privacy loss distributions:
65 - gaussian_mechanism.ipynb
67 - Privacy loss random variable:
68 - gaussian_mechanism.ipynb
70 - Pure differential privacy (epsilon):
71 - laplace_example_class_height.ipynb
72 - laplace_mechanism.ipynb
74 - Sum, count, mean queries:
75 - laplace_example_class_height.ipynb
76 - laplace_mechanism.ipynb
78 In addition to these, there are some incomplete notebooks in the "Incomplete/"
81 --------------------------------------------------------------------------------
82 Copyright (c) 2023 Armaan Bhojwani <me@armaanb.net>, MIT License