Cryptology ePrint Archive: Report 2014/779

Implementing Cryptographic Program Obfuscation

Daniel Apon, Yan Huang, Jonathan Katz, Alex J. Malozemoff

Abstract: Program obfuscation is the process of making a program "unintelligible" without changing the program's underlying input/output behavior. Although there is a long line of work on heuristic techniques for obfuscation, such approaches do not provide any cryptographic guarantee on their effectiveness. A recent result by Garg et al. (FOCS 2013), however, shows that cryptographic program obfuscation is indeed possible based on a new primitive called a \emph{graded encoding scheme}.

In this work, we present the first implementation of such an obfuscator. We describe several challenges and optimizations we made along the way, present a detailed evaluation of our implementation, and discuss research problems that need to be addressed before such obfuscators can be used in practice.

Category / Keywords: implementation / obfuscation

Date: received 1 Oct 2014, last revised 10 Feb 2015

Contact author: amaloz at cs umd edu

Available format(s): PDF | BibTeX Citation

Note: See changelog at end of paper for information on changed content.

Version: 20150210:203741 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]