On the (im)possibility of obfuscating programs
Microsoft (United States) · Microsoft Research New England (United States) · +6 more institutions
Abstract
Informally, an obfuscator O is an (efficient, probabilistic) “compiler” that takes as input a program (or circuit) P and produces a new program O ( P ) that has the same functionality as P yet is “unintelligible” in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic and complexity-theoretic applications, ranging from software protection to homomorphic encryption to complexity-theoretic analogues of Rice's theorem. Most of these applications are based on an interpretation of the “unintelligibility” condition in obfuscation as meaning that O ( P ) is a “virtual black box,” in the sense that anything one can efficiently compute given O ( P ), one could also efficiently compute…
Citation impact
- FWCI
- 86.20
- Percentile
- 100%
- References
- 56
Authors
7Topics & keywords
- Obfuscation
- Computer science
- Impossibility
- Theoretical computer science
- Random oracle
- Oracle
- Homomorphic encryption
- Cryptography
Funding
- NSNational Science FoundationAward: 0627526, 0426582
- APAlfred P. Sloan FoundationAward: 0205594, 0312809, 0456717, 0627781, 07163890830803, 0916574, 1065276, 1118096, and 1136174
- MFMinerva FoundationAward: 460/05
- USUnited States-Israel Binational Science FoundationAward: 2004288
- ISIsrael Science FoundationAward: 460/05
- OFOkawa Foundation for Information and TelecommunicationsAward: 0205594, 0312809, 0456717, 0627781, 07163890830803, 0916574, 1065276, 1118096, and 1136174