Craig Gentry
CACM
Can we hide secrets in software? Can we obfuscate programs-that is, make programs unintelligible while preserving their functionality? What exactly do we mean by "unintelligible"? Why would we even want to do this? In this article, we describe some rigorous cryptographic answers to these quasi-philosophical questions. We also discuss our recent "candidate indistinguishability obfuscation" scheme and its implications.
Craig Gentry
CACM
Martin Albrecht, Craig Gentry, et al.
CCS 2009
Shai Halevi, Yael Tauman Kalai
Journal of Cryptology
Craig Gentry
CCC 2014