CrypTFlow: Secure TensorFlow Inference

We present CrypTFlow, a first of its kind system that converts TensorFlow inference code into Secure Multi-party Computation (MPC) protocols at the push of a button. To do this, we build three components. Our first component, Athos, is an end-to-end compiler from TensorFlow to a variety of semi-honest MPC protocols. The second component, Porthos, is an improved semi-honest 3-party protocol that provides significant speedups for TensorFlow like applications. Finally, to provide malicious secure MPC protocols, our third component, Aramis, is a novel technique that uses hardware with integrity guarantees to convert any semi-honest MPC protocol into an MPC protocol that provides malicious security. The malicious security of the protocols output by Aramis relies on integrity of the hardware and semi-honest security of MPC. Moreover, our system matches the inference accuracy of plaintext TensorFlow.

We experimentally demonstrate the power of our system by showing the secure inference of real-world neural networks such as ResNet50 and DenseNet121 over the ImageNet dataset with running times of about 30 seconds for semi-honest security and under two minutes for malicious security. Prior work in the area of secure inference has been limited to semi-honest security of small networks over tiny datasets such as MNIST or CIFAR. Even on MNIST/CIFAR, CrypTFlow outperforms prior work.

Publication Downloads

CrypTFlow: An End-to-end System for Secure TensorFlow Inference

August 6, 2018

EzPC is a cryptographic-cost aware compiler that generates efficient and scalable Secure Multi-party Computation (MPC) protocols using combinations of arithmetic and boolean circuits, from high-level code.

EzPC (Easy Secure Multi-party Computation)

Secure Multi-Party Computation (MPC) is a powerful cryptographic tool that allows multiple entities to execute protocols in order to compute functions on their private data without sharing their data in the clear with each other. Project Easy MPC (EzPC) at MSR India enables the construction of such protocols at the scale of machine learning applications without requiring the developer to have any knowledge in cryptography.