Projects

Efficient MPC protocols for secure Machine Learning (ongoing)

December 31, 2019

Research project, Microsoft Research Lab, Bengaluru, India

In this project, we are working on constructing efficient (semi-honest and malicious) multi-party computation protocols, for secure inference of ML algorithms in a 2-party setting.

CrypTFlow: Secure TensorFlow Inference

September 15, 2019

Research project, Microsoft Research Lab, Bengaluru, India

In this project, 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 security of the protocols output by Aramis relies on hardware for integrity and MPC for confidentiality. Moreover, our system, through the use of a new float-to-fixed compiler, matches the inference accuracy over the plaintext floating-point counterparts of these networks. We experimentally demonstrate the power of our system by showing the secure inference of real-world neural networks such as ResNet50, DenseNet121, and SqueezeNet over the ImageNet dataset with running times of about 30 seconds for semi-honest security and under two minutes for malicious security.

A Practical Model for Collaborative Databases: Securely Mixing, Searching and Computing

January 01, 2019

Research project, Microsoft Research Lab | IIT Delhi, Bengaluru/Delhi, India

In this project, we introduce the notion of a Functionally Encrypted Datastore which collects data anonymously from multiple data-owners, stores it encrypted on an untrusted server, and allows untrusted clients to make select-and-compute queries on the collected data. Little coordination and no communication is required among the data-owners or the clients. Our security and performance profile is similar to that of conventional searchable encryption systems, while the functionality we offer is significantly richer. The client specifies a query as a pair (Q,f) where Q is a filtering predicate that selects some subset of the dataset and f is a function on some computable values associated with the selected data. We provide efficient protocols for various functionalities of practical relevance. We demonstrate the utility, efficiency, and scalability of our protocols via extensive experimentation. In particular, we use our protocols to model computations relevant to the Genome-Wide Association Studies such as Minor Allele Frequency (MAF), Chi-square analysis and Hamming Distance. Our experiments show our system is capable of accumulating data from 100,000+ data owners in a few hundred seconds, while also allowing clients to query the data in a few seconds with a few MB of total communication.

Cloud-native backup solution for workloads hosted in Azure

July 02, 2018

Software Engineering, Microsoft Corp, Hyderabad, India

In this project, I worked on building an Azure IaaS VM extension to deliver on cloud-native, zero-infrastructure backup solution for workloads hosted in Azure (like SQL Server, SAP Hana etc.). To do this, I designed and built key infrastructural components of the extension to support various operations like backup and recovery on any given workload. This service was released publicly for all customers of Azure in March 2019.

Stack Exchange Tag Recommendation

May 15, 2016

Course project, IIT Delhi, Delhi, India

In this project, we build an automatic tag recommendation system for Stack Exchange websites like Stack Overflow, Math Overflow etc.

Cryptography in 2 server setting

May 15, 2015

Research project, IIT Delhi, Delhi, India

In this project, we explored the setting of a data-owner interacting with two non-colluding malicious servers and how this can be leveraged to increase the efficiency of different cryptographic primitives and protocols. In particular, we developed a keyless protocol for supporting Proofs of Retrievability in this setting and explored how to do function computation more efficiently.

Pseudo-Random Number Generators in Practice

May 14, 2015

Course project, IIT Delhi, Delhi, India

In this project, we studied the current literature on PRNG with input, its formal modeling, and security. In particular, we looked at the non-robustness of Linux’s PRNG /dev/random and urandom, and suggested new attacks on the same.

Scheduling policies for Baadal - the IITD academic cloud

July 01, 2014

Research project, IIT Delhi, Delhi, India

Baadal is the orchestration software for the IITD academic cloud. In this project, we explore different strategies for improving the VM scheduling and migration policies used by Baadal, by modelling the problem as a vector bin-packing problem.