Securing vital data is a long-standing goal of computer science that aims to allow people to cooperate in computations without exposing their information.
“Secure computation is the idea that you can have two people compute a function that depends on things that each one knows individually and wants to keep private without exposing their private data to the other person, or to anyone else,” said University of Virginia computer scientist David Evans, who won a $3 million National Science Foundation grant for a project to develop privacy-preserving technologies.
The research has applications in everyday life, from private medical information, such as personal genomics, to privacy-preserving face recognition and electronic commerce.
As a simple example of how it works, consider two people that each have smartphones with personal address books. They would like to know if they know any of the same people by comparing their address books. But, they may not want to share their address books, which include potentially sensitive private information. So how could they find the common entries, without revealing anything about their other contacts?
“The way we can do that with secure computation is that we can execute a protocol where the two devices can talk to each other, using cryptography to compute a function on encrypted data,” Evans said. “The output of that function is the intersection of all the people they know in common. Both people learn this result, but can’t learn anything else about the address books because this information is encrypted for the entire computation.”
Unlike a normal computation, where each step operates on real data, in a secure computation each step occurs using encrypted data and produces encrypted results.
“Any function can be turned into a circuit,” Evans said. “So a circuit is just the way we compute with logic. We’re doing very simple operations, but instead of doing those operations on the real data, we’re doing those operations on encrypted data, so the machine executing the circuit doesn’t learn anything about what the data actually means.”
At the end, the encrypted output can convert back to a real value, but that’s all the users get, Evans said. “They don’t learn anything from the process of doing the computation because every step that they’re doing is done with encrypted values,” he said.
“The ultimate aim of this project is to make privacy-preserving computation practical and accessible enough to be used routinely,” Evans said.
Some of the applications he and his team works on are available today, he said. The much more complex work are a few years into the future, but “not that far off.”
“There are lots of practical and technical challenges in order to do more complex functions and to be able to scale up to larger problems,” Evans said. “But the main theoretical ideas are in place to build large-scale privacy-preserving applications.”