Evervault Papers
Crypto means cryptography
The most important cryptography papers spanning the past, present, and future of cryptosystems & cryptology.
On the (Im)possibility of Obfuscating Programs
On the (Im)possibility of Obfuscating Programs
Boaz Barak, Oded Goldreich, Rusell Impagliazzo, Steven Rudich, Amit Sahai, Salil Vadhan, & Ke Yang — Published August 2001
The Papers below are about program obfuscation. The aim of program obfuscation is to make a program unintelligible while preserving its functionality. “Unintelligible” means making a program provably secure against attackers, and “preserving its functionality” means that the obfuscated program remains fully executable and has the same input-output behavior as the original program.
Program obfuscation enables one party, A, to give another party, B, a program that B can run — without letting B figure out how the programs work.
Program obfuscation was first introduced in 2001 in On the (Im)possibility of Obfuscating Programs; specifically, this Paper proved the impossibility of virtual black box obfuscation, and introduced the weaker indistinguishability obfuscation (IO). A revised version of the paper was published in 2010.
Other papers related to program obfuscation include Candidate Indistinguishability Obfuscation and Functional Encryption for all circuits, which proposed a candidate IO scheme; How to Use Indistinguishability Obfuscation: Deniable Encryption, and More, which introduces the concept of punctured programs applied to IO, and resolves the deniable encryption problem; and Indistinguishability Obfuscation from Well-Founded Assumptions, which shows how to construct IO based on well-founded cryptographic assumptions. Bruce Schneier has provided caveats about the latter paper.
Download PDF