I am a computer scientist interested in cryptography and security. BS from Iowa State University ↝ PhD from University of Illinois ↝ Assistant Prof at University of Montana (2009-2013) ↝ Assistant Prof at Oregon State (2013-2019) ↝ Associate Prof at Oregon State (2019-present). I am the only faculty member at Oregon State University whose name contains the substring "OSU".
News
Teaching
Typically I teach CS 321 (Theory of Computation) in fall, CS 427 (Intro to Cryptography) in winter, and CS 517 (Computational Complexity) in spring.
Textbook
I am writing an undergraduate textbook on cryptography called The Joy of Cryptography. The book is free and will continue to be free, thanks to support from Oregon State's open textbook initiative.
Mentoring
Current advisees:
- Naman Kumar (PhD, co-advised with Jiayu Xu)
- Jake Januzelli (MS, co-advised with Jiayu Xu)
- David Richardson (MS, co-advised with Jiayu Xu)
- Alice Murphy (PhD)
- Junxin Liu (PhD)
Former advisees:
- Perry Hooker (MS, 2012) → Oracle
- Zhangxiang Hu (MS, 2015) → PhD program U Oregon
- Morgan Shirley (MS, 2017) → PhD program Toronto
- Peter Rindal (PhD, 2018) → Visa Research
- Brent Carmer (PhD, 2018) → Galois
- Naimisha Saireddy (MS, 2019)
- Tommy Hollenberg (MS, 2019)
- Ni Trieu (PhD, 2019 ★) → Berkeley postdoc → Arizona State faculty
- Lawrence Roy (PhD, 2022 ★) → Aarhus postdoc
- Gayathri Garimella (PhD, 2023) → Brown postdoc
- Jaspal Singh (PhD, 2023) → Purdue postdoc
- Ian McQuoid (PhD, 2023) → MIT Lincoln Labs
I have started collecting some materials for new grad students (and their mentors) related to graduate study, so that I can refer to it easily for new students. The materials are biased towards my area of research, but there is also plenty of advice about grad school in general.
2PC Course
In Summer 2018 I was an invited lecturer at the crypt@b-it summer school in Bonn, Germany. I delivered a week-long course on efficient secure computation techniques. The focus was on things that I actually know about: 2PC based on garbled circuits, and PSI.
- Day 1: Overview of secure computation (applications and definitions) and textbook Yao's protocol. slides
- Day 2: Optimizations to garbled circuits (point-permute, free-XOR, half-gates, arithmetic garbling). slides
- Day 3: Optimizations to oblivious transfer (Beaver precomputation, OT extension, IKNP protocol and variants). slides
- Day 4: Protecting Yao's protocol from malicious attacks (cut-and-choose & its subtleties, cheating punishment, dual execution variants, batch cut-and-choose) slides
- Day 5: Private set intersection (classic DH protocol, OT-based equality tests, hashing techniques) slides
- Homework problems for all days
Research
My main research focus is on cryptographic protocols for secure computation. These tools allow parties to perform computations on private data, so that they learn the outcome of the computation but nothing else. I am interested in both theoretical and practical aspects of secure computation techniques.
More specifically, my recent research has focused on:
- Private set intersection: Two parties each hold a set of items, and wish to learn which items they have in common, without revealing anything else about their sets. This special case of secure computation has many real-world applications.
- Garbled circuits: Garbled circuits are one of the few ways to achieve general-purpose secure computation protocols with just a few rounds of communication. I'm interested in making this core technique more efficient.
- Secure computation against malicious adversaries: My group has developed new techniques for hardening secure computation protocols against malicious participants, who may deviate arbitrarily from the protocol.
My research is supported by the NSF, including an NSF CAREER award, and faculty research awards from Google and Visa Research.
Publications
Various bean counting can be found on my Google scholar page and DBLP page. Below I include a link to a free version of almost all articles. Send me email or take advantage of sci-hub if you would like a copy of any paywalled publications.
Unpublished manuscripts & other writings
Selected talks
Other Things
Projects
Professional Service
I have served on the following program committees:
- 2026: Crypto (program co-chair)
- 2025: Crypto (area chair), RWC
- 2024: CFail
- 2023: CT-RSA (program chair)
- 2022: PETS (senior PC), CT-RSA, SCN
- 2021: Crypto, RWC, CFail
- 2020: Crypto, Indocrypt, SCN, CFail
- 2019: ACM CCS (area chair), IEEE S&P, Indocrypt, CCSW
- 2018: Crypto, Eurocrypt, TCC
- 2017: ACM CCS, Indocrypt
- 2016: Crypto, PETS
- 2015: PETS, ACNS
- 2014: Eurocrypt, TCC
- 2012: TCC
- 2011: PKC
I have been an associate editor for ACM Transactions on Privacy and Security (TOPS) since Dec 2020.
I am on the organizing committee for TPMPC: Theory and Practice of Multi-Party Computation Workshops and for CFAIL: Conference for Failed Approaches and Insightful Losses in Cryptology.
From 2014 to 2019 I served as communications secretary for the International Association for Cryptologic Research.
Miscellany
I have a personal website (never updated), a Flickr page, a Github page, and a few Youtube videos.