Might Be Evil

Secure Computation

We are developing techniques and tools to enable useful computation to be done while preserving data privacy.


A simple GCC wrapper that makes it easy to embed secure computation protocols inside regular C programs, which exposing enough about the nature of data-oblivious computation to enable efficient protocols. [github]
Privacy-Preserving Machine Learning

Past Projects

Secure Stable Matching
Fast Secure Computation Using Garbled Circuits
Framework and library for buiding efficient and scalable privacy-preserving applications using garbled circuits. [Download]

NetList: Efficient Circuit Structures
Circuit structures for efficiently implementing data structures in static circuits. [Download]

Garbled Circuits Intermediate Language

Secure Computation on Smartphones
Using our fast garbled circuits framework to enable privacy-preserving applications on Android devices. [Demo]
(Yan Huang, Peter Chapman, David Evans)
Efficient Privacy-Preserving Biometric Identification
Using garbled circuits and homomorphic encryption to perform private biometric identification.
(Yan Huang, Lior Malka, David Evans, Jonathan Katz)
Private Editing in the Cloud
A Firefox extension for using Google Docs without exposing your document's contents.
(Yan Huang, David Evans)


David Evans, Vladimir Kolesnikov and Mike Rosulek. A Pragmatic Introduction to Secure Multi-Party Computation, NOW Publishers, December 2018. [PDF]

Bargav Jayaraman, Lingxiao Wang, David Evans and Quanquan Gu. Distributed Learning without Distress: Privacy-Preserving Empirical Risk Minimization. In 32nd Conference on Neural Information Processing Systems (NeurIPS). Montreal, Canada. December 2018. (PDF, 19 pages, including supplemental materials)

Adrià Gascón and Phillipp Schoppmann and Borja Balle and Mariana Raykova and Jack Doerner and Samee Zahur and David Evans. Privacy-Preserving Distributed Linear Regression on High-Dimensional Data. In 17th Privacy Enhancing Technologies Symposium (PETS), 18-21 July 2017.

Lu Tian, Bargav Jayaraman, Quanquan Gu, and David Evans. Aggregating Private Sparse Learning Models Using Multi-Party Computation. In Private Multi-Party Machine Learning (NIPS 2016 Workshop), Barcelona, 9 December 2016.

Jack Doerner, David Evans, abhi shelat. Secure Stable Matching at Scale. In 23rd ACM Conference on Computer and Communications Security (CCS). Vienna, Austria. 24-28 October 2016.

Samee Zahur, Xiao Wang, Mariana Raykova, Adrià Gascón, Jack Doerner, David Evans, Jonathan Katz. Revisiting Square-Root ORAM Efficient Random Access in Multi-Party Computation. In 37th IEEE Symposium on Security and Privacy (“Oakland”). San Jose, CA. 23-25 May 2016. [PDF, 17 pages] [Project]

Samee Zahur, David Evans. Obliv-C: A Language for Extensible Data-Oblivious Computation. Cryptology ePrint Archive: Report 2015/1153. 27 November 2015. [PDF, 20 pages] [Obliv-C Website]

Samee Zahur, Mike Rosulek, and David Evans. Two Halves Make a Whole: Reducing Data Transfer in Garbled Circuits using Half Gates. In EuroCrypt 2015. Sofia, Bulgaria. 26-30 April 2015. [PDF, 28 pages] [Code]

Yan Huang, Jonathan Katz, and David Evans. Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose. In 33rd International Cryptology Conference (CRYPTO 2013), Santa Barbara, CA, 18-22 August 2013. [PDF, 16 pages]

Samee Zahur and David Evans. Circuit Structures for Improving Efficiency of Security and Privacy Tools. In 34th IEEE Symposium on Security and Privacy ("Oakland" 2013), San Francisco, CA. May 19-22, 2013. [PDF, 15 pages]

Yan Huang, Jonathan Katz, and David Evans. Quid-Pro-Quo-tocols: Strengthening Semi-Honest Protocols with Dual Execution. In 33rd IEEE Symposium on Security and Privacy ("Oakland" 2012), San Francisco, CA. 20-23 May 2012. [PDF, 13 pages]

Yan Huang, David Evans, and Jonathan Katz. Private Set Intersection: Are Garbled Circuits Better than Custom Protocols?. In 19th Network and Distributed Security Symposium (NDSS 2012), San Diego, CA. 5-8 February 2012. [PDF, 15 pages]

Yan Huang, Chih-hao Shen, David Evans, Jonathan Katz, and abhi shelat. Efficient Secure Computation with Garbled Circuits. Invited paper for Seventh International Conference on Information Systems Security (ICISS 2011). 15-19 December 2011, Jadavpur University, Kolkata, India. [PDF, 21 pages]

Yikan Chen and David Evans. Auditing Information Leakage for Distance Metrics. In Third IEEE Conference on Privacy, Security, Risk and Trust, Boston, MA, 9-11 October 2011. [PDF, 10 pages]

Yan Huang, David Evans, Jonathan Katz, and Lior Malka. Faster Secure Two-Party Computation Using Garbled Circuits, 20th USENIX Security Symposium, San Francisco, CA. 8-12 August 2011. [PDF, 16 pages]

Yan Huang, Peter Chapman, and David Evans. Privacy-Preserving Applications on Smartphones. 6th USENIX Workshop on Hot Topics in Security (HotSec 2011), San Francisco. 9 August 2011. Paper: [PDF, 6 pages]. Talk slides: [PDF] (Peter Chapman).

Yan Huang and David Evans. Private Editing Using Untrusted Cloud Services. Second International Workshop on Security and Privacy in Cloud Computing. Minneapolis, Minnesota. 24 June 2011. [PDF, 10 pages]

Yan Huang, Peter Chapman, and David Evans. Secure Computation on Mobile Devices. Poster at IEEE Symposium on Security and Privacy. Berkeley, CA. 22-25 May 2011. [Proposal: PDF, 2 pages] [Poster: PDF, 2MB]

Yan Huang, Lior Malka, David Evans, and Jonathan Katz. Efficient Privacy-Preserving Biometric Identification, in 18th Network and Distributed System Security Symposium (NDSS 2011). San Diego, CA. 6-9 February 2011. [PDF, 14 pages]


Past Project Leaders

Yan Huang (now Assistant Professor at Indiana University, initiated project in 2010, completed PhD at University of Virginia in 2012)
Samee Zahur (now at Google (Sunnyvale), lead project from 2012-2016, initiated Obliv-C, completed PhD at University of Virginia in 2016)

Current Students

Bargav Jayaraman (PhD student, working on privacy-preserving machine learning)

Faculty Director

David Evans (University of Virginia)


Haina Li (MCS 2017; now at Facebook)
Darion Cassel (University of Virginia, BSCS 2017; joined CMU PhD program in Fall 2017)
Peter Chapman (University of Virginia, BACS 2012; CRA Runner-Up; now at CMU)
Jiamin Chen (University of Virginia, BACS 2012)
Yikan Chen (University of Virginia, graduate Student)
Natnatee ("Ko") Dokmai (BACS 2015, started Indiana University PhD program in Fall 2015)
Brittany Harris (University of Virginia, BACS 2013)
Samuel Havron (BSCS 2017; starting Cornell's PhD prograin in Fall 2017)
Sang Koo (University of Virginia, BSCS/BSCpE 2013)
Lior Malka (University of Maryland post-doc, now at Intel)
Guanmei Liang (University of Virginia, BACS Student)
Billy Melicher (University of Virginia, BACS 2013, now at CMU)
Shengxuan (Jerry) Ye (University of Virginia, BSCS 2012; now at CalTech)


This work has been supported by a a MURI award from the Air Force Office of Scientific Research (Defending Against Hostile Operating Systems, FA9550-09-1-0539), grants from the National Science Foundation (TC: Large: Collaborative Research: Practical Secure Two-Party Computation: Techniques, Tools, and Applications, Multi-Party Machine Learning with Privacy), and a Google Research Award.