Informally, obfuscating a program is the process of concealing what the program is doing while at the same time preserving its functionality. Among other things this serves to protect against code tampering and reverse engineering.

"Indistinguishability obfuscation" means that if you can encode some "processing" as circuits, so that there are several possible distinct circuits which yield the same results, then indistinguishability obfuscation allows publication of an "obfuscated circuit" in a way that anybody can run the circuit and obtain the result, but no outsider can know or learn which of the possible circuits was internally used as a basis.

For more detailed information, check papers like Candidate Indistinguishability Obfuscation and Functional Encryption for all circuits

history | excerpt history