Cryptography and Machine Learning


Mixing both for privacy-preserving machine learning

Experimenting with TF Encrypted

A Library for Privacy-Preserving Machine Learning in TensorFlow

We apply TF Encrypted to a typical deep learning example, providing a good starting point for anyone wishing to get into this rapidly growing field. As shown, using state-of-the-art secure computation techniques to serve predictions on encrypted data requires nothing more than a basic familiarity with deep learning and TensorFlow.


Secure Computations as Dataflow Programs

Implementing the SPDZ Protocol using TensorFlow

Using TensorFlow as a distributed computation framework for dataflow programs we give a full implementation of a secure computation protocol with networking, in turn enabling optimised machine learning on encrypted data.


Private Image Analysis with MPC

Training CNNs on Sensitive Data

We take a typical CNN deep learning model and go through a series of steps that enable both training and prediction to instead be done on encrypted data using the SPDZ protocol.


The SPDZ Protocol, Part 2

More Fun with Triples


The SPDZ Protocol, Part 1

Secure Computation using Precomputed Triples


Secret Sharing, Part 3

Robust Reconstruction via Reed-Solomon Codes

We have previously seen that redundancy in secret sharing can be used to recover from lost shares. In this third part of the series we use Reed-Solomon decoding methods to see that it can also be used to detect when some shares have been manipulated.


Recent Talks on Privacy

Slides from PMPML'16, TPMPC'17, and PSA'17

Overview of work done at Snips on applying privacy-enhancing technologies as a start-up building privacy-aware machine learning systems for mobile devices. Mainly centered around secure aggregation for federated learning from user data but also some discussion around privacy from a broader perspective.


Secret Sharing, Part 2

Efficient Sharing with the Fast Fourier Transform

Efficient secret sharing requires fast polynomial evaluation and interpolation. In the second part of the series we go through how the well-known Fast Fourier Transform can be used for this.


Secret Sharing, Part 1

Distributing Trust and Work

First part in a series where we look at secret sharing schemes, including the lesser known packed variant of Shamir's scheme, and give full and efficient implementations. We start in this post by looking at the more typical textbook approaches.


Private Deep Learning with MPC

A Simple Tutorial from Scratch

We build a simple secure computation protocol from scratch and use it to train simple neural networks for basic boolean functions.