Privacy Preserving Machine Learning - Resources & Materials

Posted by : on

Category : private-secure-ai


About

This is a compiled list of resources and materials for PPML.
Here is the link to the github repo. And please leave a Star if you find it useful.

Survey Papers

  1. [Arxiv’20] Privacy in Deep Learning: A Survey
  2. [Arxiv’20] SoK: Training Machine Learning Models over Multiple Sources with Privacy Preservation
  3. [IEEEAccess’20] Privacy-Preserving Deep Learning on Machine Learning as a Service: A Comprehensive Survey
  4. [PETS’21] SoK: Privacy-Preserving Computation Techniques for Deep Learning
  5. [PETS’21] SoK: Efficient Privacy Preserving Clustering

Cryptographic-based Approaches

Training Phase

Homomorphic Encryption (HE) & Functional Encryption (FE)

  1. [BMC medical genomics’18] Privacy-preserving logistic regression training
  2. [Arxiv’19] CryptoNN: Training Neural Networks over Encrypted Data (Functional Encryption). Code (Python)
  3. [PETS’18] CryptoDL: Privacy-preserving Machine Learning as a Service (Unofficial Code) (C++/Python)
  4. [IEEE/CVF’19] Towards Deep Neural Network Training on Encrypted Data
  5. [ArXiv’20] Neural Network Training With Homomorphic Encryption
  6. [ArXiv’20] PrivFT: Private and Fast Text Classification with Homomorphic Encryption

HE-based Hybrid Techniques

  1. [NeurlPS’20] Glyph: Fast and Accurately Training Deep Neural Networks on Encrypted Data (Switch between HE schemes: TFHE and BGV)
  2. [NDSS’21] POSEIDON: Privacy-Preserving Federated Neural Network Learning (Federated Learning + HE) (Code is confidential)

Secure Multi-Party Computation (SMPC)

  1. [S&P’17] SecureML: A System for Scalable Privacy-Preserving Machine Learning. Code (C++)
  2. [CCS’19] QUOTIENT: two-party secure neural network training and prediction
  3. [Arxiv’19] CodedPrivateML: A Fast and Privacy-Preserving Framework for Distributed Machine Learning
  4. [PETS’20] Falcon: Honest-Majority Maliciously Secure Framework for Private Deep Learning. Code (C++)
  5. [ICPP’20] ParSecureML: An Efficient Parallel Secure Machine Learning Framework on GPUs. Code (C++)
  6. [PoPETs’20] FLASH: Fast and Robust Framework for Privacy-preserving Machine Learning.
  7. [NDSS’20] BLAZE: Blazing Fast Privacy-Preserving Machine Learning
  8. [USENIX’21] Cerebro: A Platform for Multi-Party Cryptographic Collaborative Learning. Code (Python)
  9. [USENIX’21] Fantastic Four: Honest-Majority Four-Party Secure Computation With Malicious Security. Code (Python)
  10. [S&P’21] CryptGPU: Fast Privacy-Preserving Machine Learning on the GPU. Code (Python)
  11. [USENIX’21] SWIFT: Super-fast and Robust Privacy-Preserving Machine Learning
  12. [Arxiv’21] Adam in Private: Secure and Fast Training of Deep Neural Networks with Adaptive Moment Estimation
  13. [Arxiv’21] Secure Quantized Training for Deep Learning. Code (Python)
  14. [ACMCCS’21] ABY2.0: Improved Mixed-Protocol Secure Two-Party Computation. Code (C++)

SMPC-based Hybrid Techniques

  1. [PETS’18] SecureNN: 3-Party Secure Computation for Neural Network Training. Code (C++)
  2. [CCS’18] ABY3: A Mixed Protocol Framework for Machine Learning. Code (C++)
  3. [NDSS’20] Trident: Efficient 4PC Framework for Privacy Preserving Machine Learning
  4. [Arxiv’21] Tetrad: Actively Secure 4PC for Secure Training and Inference
  5. [ICLR’21] MPCLeague: Robust 4-party Computation for Privacy-preserving Machine Learning
  6. [PETS’22] AriaNN: Low-Interaction Privacy-Preserving Deep Learning via Function Secret Sharing. Code (Python)

Hybrid Techniques

  1. [IACR Cryptol’17] Private Collaborative Neural Network Learning (SMPC + DP)

Inference Phase

Homomorphic Encryption (HE) & Functional Encryption

  1. [ICML’16] CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy. Code (C#).

Secure Multi-Party Computation (SMPC)

  1. [SIGSAC’17] Oblivious Neural Network Predictions via MiniONN Transformations. Code (Python).
  2. [ASIACCS’18] Chameleon: A Hybrid Secure Computation Framework for Machine Learning Applications
  3. [S&P’20] CrypTFlow: Secure TensorFlow Inference

Hybrid Tehcniques

  1. [USENIX’18] GAZELLE: A Low Latency Framework for Secure Neural Network Inference (SMPC + HE)

Non-cryptographic-based Approaches

Federated Learning

Courses

Frameworks

  • PySyft (Python): decouples private data from model training (using FL, DP, HE, SMPC…)

HE

  • TenSEAL (Python): A library for doing homomorphic encryption operations on tensors
  • concrete (Rust): zama.ai’s variant of TFHE scheme. It is based on the Learning With Errors (LWE) and the Ring Learning With Errors (RLWE) problems

SMPC

  • CrypTen (Python): a framework for Privacy Preserving Machine Learning built on PyTorch
  • MP-SPDZ (C++): software to benchmark various secure multi-party computation (MPC) protocols such as SPDZ, SPDZ2k, MASCOT, Overdrive, BMR garbled circuits, Yao’s garbled circuits, and computation based on three-party replicated secret sharing as well as Shamir’s secret sharing (with an honest majority)
  • MOTION (C++): a Framework for Mixed-Protocol Multi-Party Computation
  • ABY (C++): combines arithmetic, boolean and garbled style computation, and proposes protocols to switch between the arithmetic/boolean/garbled worlds for 2 parties.

Other Resources


About Khoa Nguyen
Khoa Nguyen

I am a deep learning engineer who is passionate about building privacy-preserving medical AI applications.

Email : dkn.work@protonmail.com

Website : https://khoaduynguyen.com

About Khoa

Hi, my name is Khoa. Currently, I am working as a researcher at the Network & Information Security Research Group, Tampere University, Finland under supervision of Prof. Antonios Michalas and a software engineer at OpenMined. My work focuses on researching and building privacy-preserving machine applications. I graduated with my bachelor and master degree from the Computing Sciences department also at Tampere University. During my bachelor study, I worked as a research assistant at the the centre for immersive visual technologies (CIVIT) under supervision of Prof. Atanas Gotchev. I am passionate about building beautiful and efficient software, especially privacy-preserving, AI-powered applications. This blog is where I share my learning journey and other passions in life. In my free time, I enjoy training boxing, playing guitar, reading, writing...

Useful Links