Protecting code's secrets wins ACM prize
Code obfuscation: a difficult problem apparently cracked
Better code obfuscation has attracted the attention of the prestigious Association of Computing Machinery, which has anointed an Indian-born developer working at IBM's TJ Watson Research Centre with an award for his work.
Protecting code, even as a binary, from being reverse-engineered is difficult: any solution that encrypts the code has to keep its functionality in place, and decrypting the code for execution has to be fast.
Sanjam Garg, an alumni of the Institute of Technology of Delhi, claims to have cracked that problem in this paper, Candidate Multilinear Maps from Ideal Lattices.
As that paper explains, bilinear maps are so well-known that their applications are “too numerous” to list – but (for example) tripartate Diffie-Hellman and identity-based encryption are two handy examples. Expanding that concept to multi-lineal maps has been theorised, Garg writes in his paper, but not previously achieved.
That work was then expanded on in collaboration between Garg and researchers from Microsoft, Boston University and UCLA, here, which demonstrated that Garg's concepts are workable for program obfuscation.
As they put it in the paper's abstract, Garg's work provides a “candidate obfuscator that cannot be broken by algebraic attacks”.
As the ACM notes: “Garg described new mathematical tools that serve as key ingredients for transforming a program into a 'jigsaw puzzle' of encrypted pieces. Corresponding to each input is a unique set of puzzle pieces that, when assembled, reveal the output of the program. Security of the obfuscated program hinges on the fact that illegitimate combinations of the puzzle pieces do not reveal anything.” ®