Massachusetts Institute of Technology
Most of the computer science questions Adam Sealfon has studied fall under subject of computing in the presence of an adversary. "You want to be able to complete a task, but there's someone trying to stop you."
For Sealfon, a doctoral candidate at the Massachusetts Institute of Technology, the adversary could try to steal information. It could attempt to learn sensitive attributes from data released into the open. It could remove or damage parts of an algorithm or system.
"These dual goals - where I want to design something that's functional and robust - I think these are really fascinating problems," says Sealfon, a Department of Energy Computational Science Graduate Fellowship (DOE CSGF) recipient.
The methods Sealfon develops with advisor Shafi Goldwasser could have many uses. One project focuses on secure multiparty computation, which would allow many people to collaborate in analyzing their shared data without revealing individual pieces of information to each other.
"We have several people or computers who don't trust each other" or can't share data for legal or ethical reasons, Sealfon says, but want to run computations on their combined information. Hospitals, for example, may want to analyze pooled data but can't disclose private patient records. With secure multiparty computation, they could "run a shared computation and produce the outputs without actually sending their data to one another."
Similarly, an organization may want to study a data set and publicize the results without disclosing the underlying sensitive information. "We want to be able to draw conclusions from these data and to publish findings," Sealfon says. "Ideally, we would want to release some version of the data set so people can run their own studies without revealing the sensitive information. This presents a whole host of challenges."
Sealfon also works on building cryptographic tools for secure cloud computing. Cloud computing companies lease time and data storage on high-performance computing (HPC) systems so remote users can avoid buying their own equipment. Cloud users may encrypt their information to keep it private.
"So far, so good. But now I want to access my data and it's encrypted," Sealfon says. The cloud provider could search the data in response to a specific query, but since the information is scrambled the request would be meaningless. Alternatively, "I could download my entire data set from the cloud, decrypt it and read the whole thing every time I want to do a search, but that's incredibly inefficient." Sealfon is among dozens of researchers developing techniques that shield information from view but still allow its controlled manipulation.
Though Sealfon's work doesn't directly employ HPC systems, his improved algorithms could help them solve problems more quickly and efficiently. And "if you're going to run your computations on an untrusted cloud - on someone else's high-performance computer - then you're going to want security."
Sealfon's 2015 Lawrence Berkeley National Laboratory practicum also dealt with algorithm design. With applied mathematician Aydın Buluç, he studied a longstanding problem in graph algorithms, which compute over data structured as a network. Illustrations of these networks show objects, called vertices, as dots while the connections between them, called edges, are lines.
Sealfon focused on graph matching: finding sets of edges that have no common vertices. "If I have a graph with 2N vertices I might want to pick N edges so that the end points of these N edges are all 2N vertices of the graph. This is what's called a perfect matching" - when a complete set of edges don't share any end points.
The problem gets tougher when values, called weights, are assigned to the edges. The algorithm may want to find matchings in which the selected edges have the greatest possible weight.
Matching has applications to linear algebra and other fields, Sealfon says, but has been hard to do in parallel, in which big problems are divided and sent to multiple processors for simultaneous computation to solve them quickly.
Sealfon studied approaches to parallelize weighted graph matching. "It's a very hard problem," he says. "We came up with some new ideas and tried to understand which worked better than others."
Sealfon expects to graduate in 2019, giving him time to consider his future. Academia is one possibility, he adds, but "I'm happy with anything where I can study really interesting problems with people I enjoy. There are lots of scenarios where that can play out."
Image caption: Adam Sealfon and colleagues Ranjit Kumaresan and Srinivasan Raghuraman developed secure multiparty computation protocols and impossibility results in a setting where some parties have infrastructure that lets them perform certain operations securely. Some pairs of parties are given the ability to compute between one another securely, while others are not, in a configuration that can be represented by a network. The image shows three special examples of networks. Protocols for these special networks serve as the building blocks for their algorithms on general networks. Credit: Adam Sealfon.