Techniques for Efficient Secure Computation Based on Yao’s Protocol
Yehuda Lindell
Bar-Ilan University, Israel
PKC 2013
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 1 / 39
Techniques for Efficient Secure Computation Based on Yaos Protocol - - PowerPoint PPT Presentation
Techniques for Efficient Secure Computation Based on Yaos Protocol Yehuda Lindell Bar-Ilan University, Israel PKC 2013 Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 1 / 39 Secure Computation Background A set of
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 1 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 2 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 3 / 39
◮ Models inadvertent leakage but otherwise gives a weak
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 4 / 39
◮ Provides a very strong guarantee, but is hard to achieve with
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 5 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 6 / 39
◮ A rich and beautiful theory has been developed
◮ Governments, security organizations, industry,... Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 7 / 39
◮ We can run huge computations (on circuits of over a billion
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 8 / 39
◮ For many years, it was assumed that any protocol that is based
◮ Fairplay – an implementation of Yao’s protocol for semi-honest
◮ It was surprising to many that a circuit-based protocol could
◮ The billionaires’ problem on 32-bit integers took between 1.25
◮ Median on ten 16-bit numbers (circuit of size 4383 gates) took
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 9 / 39
◮ Secure AES computation (with 9,280 non-XOR gates) took
◮ In 2013, we can do even better Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 10 / 39
◮ There were protocols that need exponentiations per gate; e.g.,
◮ These protocols can be efficient for small circuits but do not
◮ One important and influential approach is based on Yao’s
◮ This approach appears to still give the lowest latency in a
◮ In 2012, an implementation of secure AES computation took
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 11 / 39
◮ The cryptographic keys for one-time password generation are
◮ Share the key between two servers ◮ In order to verify a one-time password, securely compute AES
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 12 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 13 / 39
◮ And they are good!
◮ For years we talked about elections and auctions, but it appears
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 14 / 39
◮ Understanding the problem and difficulty ◮ The cut-and-choose technique and subtleties ◮ An optimization to reduce bandwidth ◮ New developments Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 15 / 39
◮ Given the keys associated with bits x1, . . . , xn ∈ {0, 1}, it is
◮ Given the keys associated with x1, . . . , xn ∈ {0, 1} it is not
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 16 / 39
i
j
i
j
i
j
i
j
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 17 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 18 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 19 / 39
◮ In the ith OT, P2 inputs yi (its ith input bit) and P1 inputs
i , k1 i associated with this input wire
◮ P2 receives kyi
i
i
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 20 / 39
◮ This is trivial for P1’s input wires ◮ This follows from the security of OT for P2’s input wires
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 21 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 22 / 39
◮ This was a problem 5 years ago: the best protocols required
◮ In 2008, this was solved by [PVW] (stand-alone model version
◮ This is not just a problem of correctness, but also of privacy ◮ The circuit can compute a different function of the evaluator’s
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 23 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 24 / 39
◮ If the first bit of P2’s input is 0, then it cannot compute and
◮ If the first bit of P2’s input is 1, then it computes ◮ Thus, P1 can learn the first bit of P2’s input by observing if it
◮ This is called a selective bit attack [KS06] Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 25 / 39
◮ P1 generates one garbled circuit that outputs garbage if the
◮ With probability 1/2, this circuit is not checked ◮ If the first bit of P2’s input is 0, it aborts ◮ If the first bit of P2’s input is 1, it does not abort ◮ Thus, P1 can learn the first bit of P2’s input by observing if it
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 26 / 39
◮ This is important since it determines the number of circuits,
◮ Let s be the number of circuits ◮ The adversary succeeds if s
4 circuits are incorrect and none of
◮ Assume each circuit is checked w.p. 1/2, this occurs with
◮ For security of 2−40 need 160 circuits Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 27 / 39
◮ We didn’t fully appreciate the ramification of this at the time
◮ In [sS11], they show that this is optimal and thus
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 28 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 29 / 39
◮ In many cases, this will be the bottleneck (especially over the
◮ P1 chooses a random ri for the ith garbling and generates the
◮ P1 sends P2 a collision-resistant hash of the garbled circuits ◮ To open the ith circuit, P1 sends the seed ri only (and P2
◮ To evaluate the ith circuit, P1 sends the garbled circuit (and
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 30 / 39
◮ This means that unless massive parallelism is used, the cost of
◮ It seems that we have to abandon Yao to go further
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 31 / 39
s 2
◮ To get 2−40 security, 44 circuits suffice
◮ This gives an error of 2−40 with just 40 circuits! Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 32 / 39
◮ If not all the circuits evaluate, but the ones that do yield the
◮ This holds because unless all evaluated circuits are incorrect,
◮ In this case, P2 can locally compute f(x, y) and obtain correct
◮ We stress that P1 cannot know if P2 learned f(x, y) because
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 33 / 39
◮ P1 inputs the same x as in the main computation ◮ P2 inputs either garbage or two garbled values on a single wire ◮ If P2’s input is two garbled values, then P2 learns x
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 34 / 39
◮ To be concrete: 2m + ℓ − 1 non-XOR gates, where m is the
◮ The checks don’t have any problem going across different
◮ We proved our protocol using the method of [LP11] but
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 35 / 39
◮ For error 2−40 it suffices to send 40 circuits ◮ Together with existing optimizations and techniques, this gives
◮ What else can be improved and optimized? ◮ I conjecture that we are not finished with Yao yet! Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 36 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 37 / 39
◮ I strongly believe that we will start seeing secure computation
◮ There are a number of very important other approaches
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 38 / 39
Yehuda Lindell Techniques for Efficient Secure Computation 28/2/2013 39 / 39