Image: Christian Ditaputratama
Advertisement
The obfuscator takes a part the garbled code and mixes random elements together in such a way that when the obfuscated program is run in its intended fashion, the randomness is negated, and the intended output is generated. If the program is told to do something other than what its designer intended, it won’t work.“It means that I will be able to give you the code, but you won’t be able to learn how it’s constructed, or about any thing I wish to keep a secret within it,” Boneh said.Today most closed source code is obfuscated to some degree—not directly accessible to prying eyes. But, such code is nearly always hackable given enough resources, cryptography expert Dr. Zachary Peterson told me over the phone. And online, most code is openly embedded in web pages, and can be easily studied. That’s why being able to use indistinguishability obfuscation to create “black box” software is a breakthrough.“It means that I will be able to give you the code, but you won’t be able to learn how it’s constructed, or about any thing I wish to keep a secret within it."
Advertisement
A crash course in obfuscation, for the mathematically inclined.
Advertisement