The “On the (Im)possibility of Obfuscating Programs” link is interesting, IMO. Haven’t finished it yet, and am still rather sceptical. Obfuscation is not really like a cryptographic primitive—but it is not necessarily trivial either. The paper itself says:
Our work rules out the standard, “virtual black box” notion of obfuscators as impossible, along with several of its applications. However, it does not mean that there is no method of making programs “unintelligible” in some meaningful and precise sense. Such a method could still prove useful for software protection.
Also, the main approach is to exhibit some programs which the authors claim can’t be obfuscated. That doesn’t seem all that significant to me.
The link with homomorphic encryption seems rather weak—though the authors do mention homomorphic encryption as a possible application of obfuscation in their abstract.
Ruling out a black box obfuscator is extremely significant. This means that anything which provably obfuscates a program needs to exploit some special structure of the thing being obfuscated. In fact, they show it needs to exploit some super special structure, because even very easy classes of program to obfuscate can’t be obfuscated.
There are actually several strong connections between obfuscation and homomorphic encryption. For one, obfuscation implies homomorphic encryption. For two, their descriptions are very semantically similar. For three, the possibility of homomorphic encryption is precisely the thing that implies the impossibility of obfuscation.
The “On the (Im)possibility of Obfuscating Programs” link is interesting, IMO. Haven’t finished it yet, and am still rather sceptical. Obfuscation is not really like a cryptographic primitive—but it is not necessarily trivial either. The paper itself says:
Also, the main approach is to exhibit some programs which the authors claim can’t be obfuscated. That doesn’t seem all that significant to me.
The link with homomorphic encryption seems rather weak—though the authors do mention homomorphic encryption as a possible application of obfuscation in their abstract.
Ruling out a black box obfuscator is extremely significant. This means that anything which provably obfuscates a program needs to exploit some special structure of the thing being obfuscated. In fact, they show it needs to exploit some super special structure, because even very easy classes of program to obfuscate can’t be obfuscated.
There are actually several strong connections between obfuscation and homomorphic encryption. For one, obfuscation implies homomorphic encryption. For two, their descriptions are very semantically similar. For three, the possibility of homomorphic encryption is precisely the thing that implies the impossibility of obfuscation.