I am an Associate Professor of Computer Science at UC Berkeley, working on cryptography and its applications to security and privacy. Before Berkeley, I was a Josef Raviv Memorial Postdoctoral Fellow at IBM Research. I received my PhD from UCLA in 2013 and my bachelor’s degree from IIT Delhi in 2008.
Obfuscation transforms a program into one that computes the same function but hides how it works. Obfuscations of two programs that compute the same function cannot be told apart. Related papers
Witness encryption lets you encrypt a message to a puzzle instead of a public key. Anyone who knows a solution to the puzzle can decrypt. Related papers
Secure computation lets parties compute on their private inputs while revealing only the output. Garbled circuits are a basic tool for this: each gate is encrypted so that the evaluator can open exactly one row of its truth table. Related papers
A zero-knowledge proof convinces a verifier that a statement is true without revealing anything else. Recent work makes these proofs cheaper to generate, with help from untrusted servers, and cheaper to verify, even on Bitcoin. Related papers
Threshold cryptography splits a secret key among many parties so that any large enough subset can sign or decrypt. With silent setup, the parties do not need to interact to set up their keys. One application is keeping blockchain transactions encrypted until their block is fixed, which prevents front-running. Related papers
Cryptography can make AI systems more accountable, for example through watermarks on AI-generated text that anyone can verify with a public key. This work also studies attacks that bypass the safeguards in current AI systems. Related papers