Secure Two Party Computation

Secure Two Party Computation

Kannan Balasubramanian (Mepco Schlenk Engineering College, India)
DOI: 10.4018/978-1-5225-2915-6.ch012


The goal of secure two-party computation is to enable two parties to cooperatively evaluate a function that takes private data from both parties as input without exposing any of the private data. At the end of the computation, the participants learn nothing more than the output of the function. The two-party secure computation systems have three properties: (1) the application involves inputs from two independent parties; (2) each party wants to keep its own data secret; and (3) the participants agree to reveal the output of the computation. That is, the result itself does not imply too much information about either party's private input. Informally, the security requirements are that nothing is learned from the protocol other than the output (privacy), and that the output is distributed according to the prescribed functionality (correctness). The threat models in the two-party computation assume the presence of three different types of adversaries: 1) Semi honest, 2) Malicious and 3) Covert.
Chapter Preview

Yao’S Protocol

Let f be a polynomial-time functionality (assume for now that it is deterministic), and let x and y be the parties' respective inputs. The first step is to view the function as a Boolean circuit C. In order to describe Yao's protocol, it is helpful to first recall how such a circuit is computed. Let x and y be the parties' inputs. Then, the circuit C (x; y) is computed gate-by-gate, from the input wires to the output wires. Once the incoming wires to a gate g have obtained values α, β {0,1}, it is possible to give the outgoing wires of the gate the value g(α ; β). The output of the circuit is given by the values obtained in the output wires of the circuit. Thus, essentially, computing a circuit involves allocating appropriate zero-one values to the wires of the circuit. In the description below, we refer to four different types of wires in a circuit: circuit-input wires (that receive the input values x and y), circuit-output wires (that carry the value C (x; y)), gate-input wires (that enter some gate g), and gate-output wires (that leave some gate g).

Complete Chapter List

Search this Book: