Cryptology ePrint Archive: Report 2019/1049

CrypTFlow: Secure TensorFlow Inference

Nishant Kumar and Mayank Rathee and Nishanth Chandran and Divya Gupta and Aseem Rastogi and Rahul Sharma

Abstract: 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.

Category / Keywords: cryptographic protocols / secure multi-party computation, implementation, TensorFlow

Original Publication (with minor differences): 41st IEEE Symposium on Security and Privacy 2020

Date: received 15 Sep 2019, last revised 18 Mar 2020

Contact author: t-niskum at microsoft com, t-may at microsoft com, nichandr at microsoft com, Divya Gupta at microsoft com, aseemr at microsoft com, rahsha at microsoft com

Available format(s): PDF | BibTeX Citation

Note: Code available at https://github.com/mpc-msri/EzPC.

Version: 20200319:020407 (All versions of this report)

Short URL: ia.cr/2019/1049


[ Cryptology ePrint archive ]