Associate Professor of Computer Science
PhD at Carnegie Mellon University
Human Authentication, Cryptography, Data Privacy
Passwords, Memory Hard Functions, Password Hashing, Differential Privacy, Security Games
Postdoc at Microsoft Research New England Lab
Research Fellow at Simons Institute (UC Berkeley)
Postdoc at Carnegie Mellon University
NSF CAREER Award 2021
Purdue Seed for Success Award 2019. From Intelligence Advanced Research Projects Activity, HACCLE:
High-Assurance Compositional Cryptography: Languages and Environments.
Most Influential Professor (Graduate Student Board). Purdue CS Awards Banquet 2019.
National Science Foundation Computer and Information Science and Engineering (CISE) Research Initiation Initiative (CRII), 2018.
National Science Foundation Graduate Research Fellowship, 2009.
Allen Newell Award for Excellence in Undergraduate Research, 2009.
Outstanding Undergraduate Research Award (Honorable Mention), 2009.
Andrew Carnegie Society Scholar, 2009.
School of Computer Science Honors, 2009.
Carnegie Mellon University Dean’s List: Fall 2005, Spring 2006, Fall 2006, Spring 2007, Fall 2007, Fall
CMU Math Club: Spring Problem Contest Winner, 2007.
Efficiently Computing Data Independent Memory Hard Functions. with Joel Alwen. CRYPTO 2016.
Designing Proof of Human-work Puzzles for Cryptocurrency and Beyond. with Hong-Shen Zhou. TCC 2016-B.
CASH: A Cost Asymmetric Secure Hash Algorithm for Optimal Password Protection. with Anupam Datta. CSF 2016.
Client-CASH: Protecting Master Passwords against Offline Attacks. with Anirudh Sridhar. AsiaCCS 2016.
Differentially Private Password Frequency Lists: Or, How to release statistics from 70 million passwords (on purpose) . with Anupam Datta and Joseph Bonneau. NDSS 2016.
I am an Assistant Professor in Computer Science at Purdue University. Broadly, my research interests include cryptography, data privacy and security. I like to describe myself as a theoretical computer scientist who is interested in applying fundamental ideas from computer science to address practical problems in usable privacy and security. I am especially interested in developing usable and secure authentication protocols for humans. Are there easy ways for humans to create and remember multiple strong passwords? Can we design secure cryptographic protocols that are so simple that can be run by a human? Prior to joining Purdue I completed my PhD on Usable Human Authentication at Carnegie Mellon University where I was fortunate to be advised by Manuel Blum and Anupam Datta. I also spent a year at Microsoft Research New England as a postdoc.