I am a Staff Research Scientist at Visa Research where I work on Cryptography and Secure Computation. My primary research interest is the development and applications of efficient methods for computing on encrypted data. Most notably is the notion of being able to compute on encrypted data and the area of research known as Secure Computation:

A group of distrusting parties wish to compute a function on their private data sets. The parties should learn the output of the function but no additional information about the data sets themselves without using a trusted third party.

Below is a collection of my recent blog posts and publications.


Improved Private Set Intersection against Malicious Adversaries

Peter Rindal & Mike Rosulek ~ eprint/2016/746 ~ Eurocrypt’17

Private set intersection (PSI) refers to a special case of secure two-party computation in which the parties each have a set of items and compute the intersection of these sets without revealing any additional information. In this paper we present improvements to practical PSI providing security in the presence of malicious adversaries. Our starting point is the protocol of Dong, Chen & Wen (CCS 2013) that is based on Bloom filters. We identify a bug in their malicious-secure variant and show how to fix it using a cut-and-choose approach that has low overhead while simultaneously avoiding one the main computational bottleneck in their original protocol. We also point out some subtleties that arise when using Bloom filters in malicious-secure cryptographic protocols. We have implemented our PSI protocols and report on its performance. Our improvements reduce the cost of Dong et al.’s protocol by a factor of 14−110× on a single thread. When compared to the previous fastest protocol of De Cristofaro et al., we improve the running time by 8−24×. For instance, our protocol has an online time of 14 seconds and an overall time of 2.1 minutes to securely compute the intersection of two sets of 1 million items each.

Faster Malicious 2-party Secure Computation with Online/Ofine Dual Execution

We describe a highly optimized protocol for general-purpose secure two-party computation (2PC) in the presence of malicious adversaries. Our starting point is a protocol of Kolesnikov et. al. (TCC 2015). We adapt that protocol to the online/offline setting, where two parties repeatedly evaluate the same function (on possibly different inputs each time) and perform as much of the computation as possible in an offline preprocessing phase before their inputs are known. Along the way we develop several significant simplifications and optimizations to the protocol.

More …

Secure Data Exchange: A Marketplace in the Cloud

Ran Gilad-Bachrach, Kim Laine, Kristin Lauter, Peter Rindal & Mike Rosulek ~ eprint/2016/620 ~ AMC CCSW’119

A vast amount of data belonging to companies and individuals is currently stored \emph{in the cloud} in encrypted form by trustworthy service providers such as Microsoft, Amazon, and Google. Unfortunately, the only way for the cloud to use the data in computations is to first decrypt it, then compute on it, and finally re-encrypt it, resulting in a problematic trade-off between value/utility and security. At a high level, our goal in this paper is to present a general and practical cryptographic solution to this dilemma.

More …