The Center for Encrypted Functionalities, which opened today, will advance the study of “program obfuscation,” the use of new encryption methods to make a computer program, and not just its output, invisible to an outside observer, while preserving the way it works, or its functionality.
Program obfuscation enhances cybersecurity by hiding vulnerabilities in software from potential adversaries, preventing tampering and detering reverse engineering, and it could allow programmers to strengthen encryption and secure information transfer by hiding cryptographic keys within software.
Amit Sahai, a UCLA professor of computer science, is the director of the center, which is being funded by a five-year, $5 million grant from the NSF’s Secure and Trustworthy Cyberspace program. The center is a collaboration among researchers at UCLA, Stanford University, Columbia University, the University of Texas at Austin and Johns Hopkins University.
“UCLA Engineering is a world leader in cybersecurity research, and this new major research center will set the groundwork for a new path forward,” said Vijay K. Dhir, dean of the school. “Amit and his colleagues have already demonstrated that this emerging area in encryption holds exceptional promise and we are very excited to see our faculty and students continue to push the boundaries for the benefit of society.”
The new center also will work to expand interest in computer science through massive open online courses, or MOOCs; programs to encourage more women to pursue computer science studies and careers; and outreach programs to K-12 schools.
“Our center’s mission is to explore every aspect of the new world that is opened up by encrypted functionalities,” Sahai said.
Last year, Sahai and colleagues devised the first mathematically sound approach to encrypting functionalities, a breakthrough that could reshape the way we think about security and computation. Their innovative approach uses a “multilinear jigsaw puzzle” approach, so an unauthorized user trying to find out how a protected piece of software worked would find only nonsensical jumbles of numbers.
“Humanity has been encrypting messages using mathematics for hundreds of years. But the question of encrypting a functionality — hiding secrets within the blueprints for how something works — seemed out of reach,” Sahai said.
When a message is encrypted, it becomes useless until it is decrypted with a secret key. In contrast, when a functionality is encrypted, it remains completely functional; the security goal is to ensure that any secrets that are used by the functionality to perform its function are kept hidden from potential adversaries.
“In human terms, this is like asking whether it is possible for someone to keep a secret if an adversary can see how every neuron in her brain behaves,” Sahai said. “In cryptography, traditionally we have modeled the world as divided into friends, with whom we want to share our secrets, and enemies. But what if a friend turns against us? Can our secrets be used against us? Encrypted functionalities allow us to limit our friends to ‘benign’ ways of using our secrets. This way, even if a friend turned against us, they could not exploit our secrets and would still be limited to only benign ways of using them.”