When it comes to protecting software, you’re only as good as your file encryption. A UCLA computer professor and his research team have figured out a way to encrypt software in a way that allows users access to the program but not the source code.
Amit Sahai says his team has developed a new technique for “software obfuscation,” which deliberately creates confusing source code that is difficult to understand. Where traditional obfuscation methods often only delay a hacker before he cracks the encryption via reverse-engineering, Sahai’s method utilizes mathematical puzzles that respond to any attempts at cracking with a series of complex functions that, he says, would take hundreds of years to solve on a traditional computer.
“You write your software in a nice, reasonable, human-understandable way and then feed that software to our system,” Sahai said in a press release. “It will output this mathematically transformed piece of software that would be equivalent in functionality, but when you look at it, you would have no idea what it’s doing.”
If a hacker tried to crack through Sahai’s “iron wall,” he would receive only a jumble of numbers — the program’s numbers respond in very specific ways that make it very difficult to crack by brute force.
Utilizing this new method, Sahai and his team developed a method of “functional encryption,” which can send personalized information and transform it dependent on the recipient, ensuring that different people with different levels of information access would be able to view the same set of files without stumbling on more sensitive details.