A curated list of resources for privacy-enhancing technologies
- General
- Differential Privacy
- Privacy-Preserving Federated Learning
- Homomorphic Encryption
- Secure Multiparty Computation
- Synthetic Data
- Zero-knowledge Proofs and zk-SNARKs
- Privacy-Preserving Hardware
General resources about PETs and related concepts
For general privacy tools and services, see the Awesome Privacy List (github: pluja/awesome-privacy).
- Privacy Enhancing Technologies: An Introduction for Technologists - Overview of PETs from Katharine Jarmul, the author of Practical Data Privacy.
-
Practical Data Privacy - An overview of privacy and how to apply it in technical systems and organizations. Includes introductions to various PETs.
-
Real World Cryptography - The majority of the book is an introduction to cryptography and cryptographic applications with additional material covering PETs such as multi-party computation, homomorphic encryption, zero-knowledge proofs, and cryptographic hardware.
- OpenMined Blog - Blog of the open-source group OpenMined with several posts on PETs and privacy tech.
-
Privacy enhancing technologies: Adoption guide - A white paper and interactive tool on adopting PETs for projects provided by the UK government's Centre for Data Ethics and Innovation.
-
The United Nations Guide on Privacy-Enhancing Technologies for Official Statistics
- Shifting Privacy Left - Podcast hosted by privacy and legal expert Debra J Farber featuring interviews and discussions with various privacy and PETs experts.
See the Awesome Differential Privacy List (github: menisadi/awesome-differential-privacy).
-
DifferentialPrivacy.org - A website with resources curated by the DP research community. It includes several courses, videos, surveys, and links to other resources.
-
OpenDP - Open-source group developing DP tools.
-
NIST Differential Privacy Blog Series - A blog series from NIST covering topics from introductory concepts to deploying DP-based applications.
-
A friendly, non-technical introduction to differential privacy - A useful series of posts and visualizations introducing DP and related concepts from Damien Desfontaines, a.k.a. Ted, a research scientist at Tumult Labs.
-
The Algorithmic Foundations of Differential Privacy - Free, online book focused on DP principles and theory
-
Programming Differential Privacy - Free, online book focused on teaching DP principles through Python code examples
-
Hands-On Differential Privacy - An O'Reilly book analyzing practical DP methods with a focus on using the OpenDP library
- OpenDP - Python bindings for OpenDP's Rust-based framework.
-
Guidelines for Evaluating Differential Privacy Guarantees - NIST publication providing an overview of DP with a focus on practical considerations and common pitfalls when using DP in practice.
-
Differential Privacy: A Primer for a Non-Technical Audience - In-depth yet accessible overview of DP.
-
Issues Encountered Deploying Differential Privacy - Review of deployment and usage of DP for the 2020 United States population census.
-
Differential Privacy & the 2020 U.S. Census Reading List - Collection of writings and presentations reviewing the usage of DP in the 2020 U.S. Census.
- Protecting Privacy with MATH - Overview of DP and related concepts by the MinutePhysics channel in collaboration with the US Census Bureau.
Note: Federated learning by itself does not guarantee data privacy, but when used in combination with other PETs it can become privacy-preserving.
There are several different Awesome lists for federated learning, but this one seems to be the most popular. Note that it's federated learning generally, not just PPFL: https://github.com/innovation-cat/Awesome-Federated-Machine-Learning
- Communication-Efficient Learning of Deep Networks from Decentralized Data - Paper that introduced the popular FedAvg algorithm
-
APPFL - Advanced Privacy-Preserving Federated Learning built my Argonne National Labs aimed at high-performance computing applications. Includes differential-privacy and the ability to incorporate other PETs
-
FedML - Github Repository: https://github.com/fedml-ai/fedml
-
Flower - A unified FL framework available in multiple languages. Flower does not include privacy preservation itself, but is intended to be used in conjunction with other ML and PPML frameworks.
-
OpenFL - Open-source FL framework hosted by the Linux Foundation.
See the Awesome Homomorphic Encryption List (github: jonaschn/awesome-he).
- [https://homomorphicencryption.org/](Homomorphic Encryption Standardization) - A body consisting of industry, government, and academic members advocating for standardization of HE.
- A High-Level Technical Overview of Fully Homomorphic Encryption - Great overview of FHE from Jeremy Kun's Math ∩ Programming blog
See the Awesome MPC List (github: rdragos/awesome-mpc).
- MPC Alliance - Industry group devoted to increasing adoption of MPC. Includes links to several books and videos.
- Multiparty Computation - Computational Thinking - 5 minute intro on MPC and secret sharing examples and concepts
DataSynthesizer - A Python-based tool for generating differentally-private synthetic data
See the Awesome Zero Knowledge Proofs List (github: https://github.com/matter-labs/awesome-zero-knowledge-proofs)
- ZKProof - An open-industry academic initiative seeking to develop standards for ZKPs. The organization also conducts workshops, publishes research, educational material, etc.
-
Zero Knowledge What? An Introduction to Zero Knowledge - A technical introduction (including basic Python examples) from Stanford's Code the Change guides.
-
Zero-Knowledge: a tutorial by Oded Goldreich - A tutorial covering introductory and advanced topics in Zero-knowledge proofs
-
The knowledge complexity of interactive proof-systems - The original paper introducing zero-knowledge proofs
-
A physical zero-knowledge object-comparison system for nuclear warhead verification - A proposed mechanism to use ZKPs for nuclear armament reduction
-
Why and How zk-SNARK Works - Good overview of the building blocks that zk-SNARKs are composed of
- Zero Knowledge Proofs - Computational Thinking - 9 minute intro on ZKP examples and concepts
- State of the Future - Trusted Execution Environments (TEEs) and Confidential Computing - Overview from a VC blog on what trusted-execution environments are and how they enable privacy-preserving, collaborative computing
Contributions welcome! Read the contribution guidelines first.