Paper 2014/779

Implementing Cryptographic Program Obfuscation

Daniel Apon, Yan Huang, Jonathan Katz, and 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.

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

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. MINOR revision.
Keywords
obfuscation
Contact author(s)
amaloz @ cs umd edu
History
2015-02-10: revised
2014-10-05: received
See all versions
Short URL
https://ia.cr/2014/779
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2014/779,
      author = {Daniel Apon and Yan Huang and Jonathan Katz and Alex J.  Malozemoff},
      title = {Implementing Cryptographic Program Obfuscation},
      howpublished = {Cryptology ePrint Archive, Paper 2014/779},
      year = {2014},
      note = {\url{https://eprint.iacr.org/2014/779}},
      url = {https://eprint.iacr.org/2014/779}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.