I'm a research scientist / software engineer at Facebook. In 2016, I graduated with a PhD in computer science at Stanford University. My PhD focus was in cryptography and security, advised by Dan Boneh.
Here are a couple of blog posts that cover some of the work I have been doing with Meta in recent years:
Some of my past research has focused on the constructions of a cryptographic primitive called "order-revealing encryption", and also more generally, multi-input functional encryption. Learn more about the ORE research efforts here.
I have also implemented a few of these research projects that have produced cryptographic primitives. These are all released on GitHub under a permissive open-source license.
A Rust implementation of an Auditable Key Directory for key transparency protocols.
A Rust implementation of a STARK prover and verifier for arbitrary computations.
A framework for applications of multilinear maps, including obfuscation and multi-input functional encryption.
A practical implementation of order-revealing encryption, as described by our publication here.
An implementation of function-hiding inner product encryption.
Key transparency has been presented as an efficient solution for detecting a server that attempts to dishonestly serve keys. We design and implement a memory-optimized and privacy-preserving verifiable data structure for committing to the username to public key store.
We present a new primitive, called the Oblivious Revocable Function (ORF), which allows identifiers to be obliviously mapped to a consistent value across multiple devices, while enabling the server to permanently remove an individual device’s ability to map values.
This paper presents HashWires, a hash-based range proof protocol that is applicable in settings for which there is a trusted third party (typically a credential issuer) that can generate commitments.
Joint work with Kostas Chalkias, Shir Cohen, Fredric Moezinia, and Yolan Romailler.
We introduce the notion of credential-hiding login, which enables a client to authenticate itself by sending a single message to the server, while ensuring the correct verification of credentials and maintaining credential privacy in the same strong sense as guaranteed by asymmetric PAKEs.
We describe how Facebook handles the large-scale propagation of updates securely, using a lattice-based homomorphic hash function to help provide integrity without sacrificing efficiency.
Joint work with Wonho Kim, Ilya Maykov, and Stephen Weis.
We describe two token-based methods for authentication within Facebook to provide secure authorization within Facebook's infrastructure.
Joint work with Callen Rain, Stephen Weis, Yueting Lee, Haozhi Xiong, and Benjamin Yang.
We initiate a systematic study of mmap-based constructions, building a general framework, called 5Gen, to experiment with program obfuscation and multi-input functional encryption.
We give new constructions of order-revealing encryption with improved security guarantees and also show how to perform range queries efficiently in a manner that is robust against inference attacks.
Joint work with David J. Wu.
We show how to construct pseudorandom functions that are secure against a large class of related-key attacks.
Joint work with Hart Montgomery and Ananth Raghunathan.
We connect natural subgraph finding problems on edge-weighted graphs with the infamous k-Sum Conjecture, establishing tight reductions between graph problems and decision problems on sums.
Joint work with Amir Abboud.
We analyze the online version of the min-cost metric matching problem on k servers and k requests, and show how a simple randomized algorithm obtains an O(log k)-competitive solution on the line metric.
Joint work with Anupam Gupta.