3 ms·
Amazing, an article actually links to a research paper! What the paper is claiming is to have invented a indistinguishably obfuscater. This means that for a pro
by gizmo686 13y ago
Amazing, an article actually links to a research paper! What the paper is claiming is to have invented a indistinguishably obfuscater. This means that for a program X, you can consider the set of all source codes (of equal size) which generate a program with equivalent behavior to X. The obfuscater can be used to draw a function from this set, without revealing anything about the original source code.
As the research paper mentions, although this meets the technical definition of best possible obfuscation, it is not necessarily good obfuscation. For example, if the obfuscater generates the most human-readable version of the input, then it would still qualify, as it reveals nothing about the original source.
The bigger problem with using this encrypt software is that software is over specified. Every external call your system makes, whether or not it actually does anything, is still considered part of the behavior of the program, and would therefore leak information about the structure of your program.
While this is defiantly much stronger than many previous obfuscation techniques, in order for it to be most effective you would need to very strongly keep all side-effect generating code separate as isolated as possible.
EDIT: From the paper: "Now that we have constructed an indistinguishability obfuscator, we are faced with the question: what good
is an indistinguishability obfuscator? The definition of indistinguishability obfuscation does not make clear
what, if anything, an indistinguishability obfuscator actually hides about a circuit. In particular, if the
circuit being obfuscated was already in an obvious canonical form, then we know that the indistinguisha-
bility obfuscator would not need to hide anything...we will use indistinguishability obfuscation
by constructing circuits that inherently have multiple equivalent forms"
Also, the application to software obfuscation is largely an afterthought in the paper. And I don't see any analysis of the efficiency of software generated by this, so my guess would be that this is infeasible to use for obfuscation.