2003 · 279 citations · 30 references
ComputingComputer ScienceComputer SecurityCryptographySecurity ProtocolsCryptographic Protocol DesignCryptographic ProtocolsSecure Multi-party ComputationBoolean Circuit EvaluationCircuit EvaluationNon-deterministic Polynomial TimePolynomial Time ComplexityPolynomial-time AlgorithmsSecure Function Evaluation
Computing with encrypted data and secure function evaluation have been studied for decades, focusing on minimizing communication rounds in two‑party protocols for evaluating known circuits over private inputs, yet many open problems remain. This work presents a round‑optimal, one‑round protocol for securely evaluating NC^1 circuits and proposes its use in network and mobile computing. The protocol has an input party send encrypted data to a cryptocomputer that evaluates the circuit non‑interactively, securely, and obliviously, returning the output without learning it. The protocol outperforms prior NC^1 results that require multiple communication rounds, achieving polynomial‑time, single‑round evaluation.
The area of "computing with encrypted data" has been studied by numerous authors in the past twenty years since it is fundamental to understanding properties of encryption and it has many practical applications. The related fundamental area of "secure function evaluation" has been studied since the mid 80's. In its basic two-party case, two parties (Alice and Bob) evaluate a known circuit over private inputs (or a private input and a private circuit). Much attention has been paid to the important issue of minimizing rounds of computation in this model. Namely, the number of communication rounds in which Alice and Bob need to engage in to evaluate a circuit on encrypted data securely. Advancements in these areas have been recognized as open problems and have remained open for a number of years. In this paper we give a one round, and thus round optimal, protocol for secure evaluation of circuits which is in polynomial time for NC/sup 1/ circuits. The protocol involves an input party sending encrypted input to a second party, a cryptocomputer, which evaluates the circuit (or a known circuit over its additional private input) non-interactively, securely and obliviously, and provides the output to the input party without learning it. This improves on previous (general) results that are specialized to the case of NC/sup 1/ circuits and require a constant number of communication rounds. We further suggest applications to network and mobile computing.
30
Mihir Bellare, Phillip Rogaway · 1993 · 4.7K citations · Full text
How to generate and exchange secrets
Andrew Chi-Chih Yao · 1986 · 3.7K citations
Oded Goldreich, Silvio Micali, Avi Wigderson · 1987 · 3.5K citations
Shafi Goldwasser, Silvio Micali · Journal of Computer and System Sciences · 1984 · 2.6K citations