Projects

Below, I describe some of the major themes of my resesarch. Click on the headings for more details.

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.

Proof Systems

A proof system is a two-party 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).

Software Watermarking

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. In this project, we study and propose new constructions for watermarking cryptographic functionalities.

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.

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).

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. The first constructions of order-revealing encryption relied on either multilinear maps or indistinguishability obfuscation, and thus, are unlikely to be practical in the foreseeable future. This project initiates the study of more practical order-revealing encryption schemes that provide a security/efficiency tradeoff. We give several constructions and implementations of highly practical ORE schemes (based only on pseudorandom functions such as AES). We also explore ways of using order-revealing encryption in encrypted database applications in a way that is robust against inference attacks.

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. Examples include designing private discovery protocols for the Internet of Things, constructing private navigation systems, and building systems for privacy-preserving machine learning classification.

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.

Fully Homomorphic Encryption

A fully homomorphic encryption system enables computations to be performed on encrypted data without needing to first decrypt the data. Such cryptosystems have natural applications in secure, privacy-preserving computation as well as many other areas. Since Gentry's breakthrough work on fully homomorphic encryption (FHE) [Gen09], there has been much excitement and attention devoted towards developing practical FHE systems. In this project, we provide an implementation of Brakerski's scale-invariant somewhat homomorphic encryption (SWHE) system [Bra12]. In addition, we examine several candidate applications of FHE and SWHE systems, such as performing statistical analysis on encrypted data or evaluating private database queries over an encrypted database.

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.