Below, I describe some of the major themes of my research. Click on individual headings for a list of relevant works.

Cryptographic Proof Systems

A proof system is a protocol between a prover and a verifier, where the goal of the prover is to convince the verifier that some statement is true. In this project, we study and construct new proof systems that satisfy special properties such as zero-knowledge (where we require that the proof does not reveal anything more about the statement other than its truth) and succinctness (where proofs are short and can be verified quickly). We also study the related notion of (succinct) functional commitments which can be viewed as succinct proofs on committed data.

Lattice-Based Cryptography

Lattice-based cryptography is one of the leading candidates for post-quantum cryptography. A major focus of my work has been on constructing new cryptographic primitives such as zero-knowledge proof systems, watermarking, and more, from standard lattice assumptions.

Privacy-Preserving Systems

Functionality and user privacy are often in tension with each other, especially when it comes to modern data-driven and cloud-based applications. Much of my research is on leveraging cryptographic tools and techniques to provide a balance between the need for privacy and the need for functionality. Notable examples include designing efficient protocols for private information retrieval (PIR) and systems for privacy-preserving machine learning.

Functional Encryption

Functional encryption (FE) enables fine-grained access control of sensitive data. In an FE scheme, decryption keys are associated with functions. Decrypting an encryption of a message m using a secret key associated with a function f yields the function evaluation f(x), and nothing more about x. In this line of work, we explore the connections between different flavors of functional encryption and give new candidate constructions of functional encryption. A major theme of my more recent work is on removing trust from advanced encryption schemes (e.g., through either registration-based or multi-authority constructions).

Watermarking and Traitor Tracing

A software watermarking scheme enables a user to embed a tag (e.g., a developer's name or a serial number) into a program while preserving the program's functionality. Moreover, it should be difficult to remove the watermark from the resulting program without destroying its functionality. Closely related is the notion of traitor tracing, which are cryptographic schemes that enable users or authorities to trace the source of compromised cryptographic keys and programs. Both of these primitives are useful for protecting against unauthorized use or redistribution of digital content. In this project, we study and propose new constructions of these primitives.

Private Constrained PRFs

A constrained pseudorandom function (PRF) is a PRF for which one can generate constrained keys that can only be used to evaluate the PRF on a subset of the domain. In this work, we introduce the notion of a private constrained PRF, which is a constrained PRF with the additional property that the constrained key also hides the constraint. In addition to giving constructions of private constrained PRFs, we also explore the connections between private constrained PRFs and other cryptographic primitives, such as watermarking and constrained invertible pseudorandom functions (IPFs).

Genome Privacy

Patient genomes are typically interpretable only in the context of other genomes. However, genome sharing opens individuals up to possible discrimination and identification. Some of my research has focused on developing cryptographic methods to protect the privacy of a patient's genome while still enabling useful computations across multiple genomes.

Order-Revealing Encryption

An order-revealing encryption (ORE) scheme is an encryption scheme where there is a public function that can be used to compare ciphertexts. Because ORE enables comparisons on ciphertexts, it has many applications in searching over and sorting encrypted data. In this project, we design and implement several practical ORE schemes (based only on pseudorandom functions such as AES).

Fully Homomorphic Encryption

A fully homomorphic encryption system enables computations to be performed on encrypted data without needing to first decrypt the data. In this line of work, we develop new implementations of fully homomorphic encryption and leverage FHE to construct new concretely-efficient privacy-preserving protocols.

Foundations of Cryptography

This line of work studies new assumptions and approaches for constructing basic cryptographic primitives (e.g., pseudorandom functions) as well as the limitations (i.e., lower bounds) of using such primitives to construct more advanced cryptographic functionalities.

Text Recognition in Natural Images

Reading text from natural images is a challenging problem that has received significant attention in recent years. Traditional systems in this area have generally relied on elaborate models incorporating carefully hand-engineered features or large amounts of prior knowledge. In this project, we take a different approach and instead, leverage the power of unsupervised feature learning in conjunction with deep, multi-layer neural networks in order to develop robust, high-performing modules for text recognition in natural images.