Faster Secure Two-Party Computation Using Garbled Circuits

Slides:



Advertisements
Similar presentations
Polylogarithmic Private Approximations and Efficient Matching
Advertisements

Constant-Round Private Database Queries Nenad Dedic and Payman Mohassel Boston UniversityUC Davis.
Mix and Match: A Simple Approach to General Secure Multiparty Computation + Markus Jakobsson Bell Laboratories Ari Juels RSA Laboratories.
6.1.2 Overview DES is a block cipher, as shown in Figure 6.1.
1 Cryptography: on the Hope for Privacy in a Digital World Omer Reingold VVeizmann and Harvard CRCS.
Efficient Private Approximation Protocols Piotr Indyk David Woodruff Work in progress.
Revisiting the efficiency of malicious two party computation David Woodruff MIT.
February 21, 2002 Simplex Method Continued
Predicting Performance Impact of DVFS for Realistic Memory Systems Rustam Miftakhutdinov Eiman Ebrahimi Yale N. Patt.
Trusted Data Sharing over Untrusted Cloud Storage Provider Gansen Zhao, Chunming Rong, Jin Li, Feng Zhang, and Yong Tang Cloud Computing Technology and.
Quid-Pro-Quo-tocols Strengthening Semi-Honest Protocols with Dual Execution Yan Huang 1, Jonathan Katz 2, David Evans 1 1. University of Virginia 2. University.
Computing with adversarial noise Aram Harrow (UW -> MIT) Matt Hastings (Duke/MSR) Anup Rao (UW)
Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Block Cipher Modes of Operation and Stream Ciphers
ECE454/CS594 Computer and Network Security
Practical Cryptographic Secure Computation DHOSA MURI PIs Meeting
© 2009 IBM Corporation IBM Research Xianglong Liu 1, Junfeng He 2,3, and Bo Lang 1 1 Beihang University, Beijing, China 2 Columbia University, New York,
Gate Sizing for Cell Library Based Designs Shiyan Hu*, Mahesh Ketkar**, Jiang Hu* *Dept of ECE, Texas A&M University **Intel Corporation.
Cache and Virtual Memory Replacement Algorithms
Error-Correcting codes
Sequence Alignment I Lecture #2
1 An Asymmetric Fingerprinting Scheme based on Tardos Codes Ana Charpentier INRIA Rennes Caroline Fontaine CNRS Télécom Bretagne Teddy Furon INRIA Rennes.
2 x0 0 12/13/2014 Know Your Facts!. 2 x1 2 12/13/2014 Know Your Facts!
1 Complexity ©D.Moshkovitz Cryptography Where Complexity Finally Comes In Handy…
Off-the-Record Communication, or, Why Not To Use PGP
Lecture 5: Cryptographic Hashes
Secure Computation of Linear Algebraic Functions
5 x4. 10 x2 9 x3 10 x9 10 x4 10 x8 9 x2 9 x4.
EMIS 8374 LP Review: The Ratio Test. 1 Main Steps of the Simplex Method 1.Put the problem in row-0 form. 2.Construct the simplex tableau. 3.Obtain an.
Shannon Expansion Given Boolean expression F = w 2 ’ + w 1 ’w 3 ’ + w 1 w 3 Shannon Expansion of F on a variable, say w 2, is to write F as two parts:
0 x x2 0 0 x1 0 0 x3 0 1 x7 7 2 x0 0 9 x0 0.
The Mechanical Cryptographer (Tolerant Algebraic Side-Channel Attacks using pseudo-Boolean Solvers) 1.
Gate Evaluation Secret Sharing and Secure Two-Party Computation Vladimir Kolesnikov University of Toronto
Yan Huang, David Evans, Jonathan Katz
7x7=.
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
Rational Oblivious Transfer KARTIK NAYAK, XIONG FAN.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Oblivious Transfer (OT) Alice (sender) has n secrets Alice wants to give k secrets to Bob Bob wants the secrets but does not want Alice to know which secrets.
Secure Computation on Mobile Devices Peter Chapman CS 1120 December 2, 2011.
Amortizing Garbled Circuits Yan Huang, Jonathan Katz, Alex Malozemoff (UMD) Vlad Kolesnikov (Bell Labs) Ranjit Kumaresan (Technion) Cut-and-Choose Yao-Based.
Automating Efficient RAM- Model Secure Computation Chang Liu, Yan Huang, Elaine Shi, Jonathan Katz, Michael Hicks University of Maryland, College Park.
This document and the information therein are the property of Morpho, They must not be copied or communicated to a third party without the prior written.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
1 Secure Computation in the Real(ish) World David Evans University of Virginia Carnegie Mellon.
Usenix Security 2004 Slide 1 Fairplay – A Secure Two- Party Computation System Yaron Sella Hebrew University of Jerusalem Joint work with Dahlia Malkhi,
ObliVM: A Programming Framework for Secure Computation
Insert presenter logo here on slide master. See hidden slide 4 for directions  Session ID: Session Classification: SEUNG GEOL CHOI UNIVERSITY OF MARYLAND.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
Slide 1 Vitaly Shmatikov CS 380S Yao’s Protocol. slide Yao’s Protocol uCompute any function securely … in the semi-honest model uFirst, convert.
Secure two-party computation: a visual way by Paolo D’Arco and Roberto De Prisco.
Slide 1 Yao’s Protocol. slide Yao’s Protocol uCompute any function securely … in the semi-honest model uFirst, convert the function into a boolean.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
Auditing Information Leakage for Distance Metrics Yikan Chen David Evans TexPoint fonts used in EMF. Read the TexPoint manual.
Computing Cooperatively with People You Don't Trust David Evans University of Virginia University.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
1© Nokia 2016 Overlaying Circuit Clauses for Secure Computation Sean Kennedy Vladimir Kolesnikov Gordon Wilfong Bell Labs.
Secure Computation Basics Yan Huang Indiana University May 9, 2016.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Garbling Techniques David Evans
(More) Efficient Secure Computation from Garbled Circuits
Committed MPC Multiparty Computation from Homomorphic Commitments
2D Coordinates
The first Few Slides stolen from Boaz Barak
Course Business I am traveling April 25-May 3rd
Multi-Party Computation: Second year
Malicious-Secure Private Set Intersection via Dual Execution
Helen: Maliciously Secure Coopetitive Learning for Linear Models
Presentation transcript:

Faster Secure Two-Party Computation Using Garbled Circuits Yan Huang David Evans Jonathan Katz Lior Malka www.MightBeEvil.com

Secure Two-Party Computation Bob’s Genome: ACTG… Markers (~1000): [0,1, …, 0] Alice’s Genome: ACTG… Markers (~1000): [0, 0, …, 1] Alice Bob Both privacy and collaboration are very important Lots of motivating applications Genomics Biometric identification Encryption Can Alice and Bob compute a function of their private data, without exposing anything about their data besides the result?

Overview Describe a system for secure 2-party computation using garbled circuits that is much more scalable and significantly faster than best prior work Applications: Face recognition: Hamming distance Genomics: Edit distance, Smith-Waterman Private encryption: Oblivious AES evaluation

Our Results Performance Scalability People have done this before. What’s new here is achieving performance & scalability needed for realistic problems. Performance Scalability

Secure Function Evaluation Alice (circuit generator) Bob (circuit evaluator) Holds Holds Garbled Circuit Protocol Andrew Yao, 1986

Yao’s Garbled Circuits Inputs Output a b x 1 a b AND x

Computing with Meaningless Values? Inputs Output a b x a0 b0 x0 b1 a1 x1 a0 or a1 b0 or b1 ai, bi, xi are random values, chosen by the circuit generator but meaningless to the circuit evaluator. AND x0 or x1

Computing with Garbled Tables Inputs Output a b x a0 b0 Enca0,b0(x0) b1 Enca0,b1(x0) a1 Enca1,b0(x0) Enca1,b1(x1) Bob can only decrypt one of these! Randomly permute a0 or a1 b0 or b1 Garbled And Gate Enca0, b1(x0) Enca1,b1(x1) Enca1,b0(x0) Enca0,b0(x0) ai, bi, xi are random values, chosen by the circuit generator but meaningless to the circuit evaluator. AND x0 or x1

Chaining Garbled Circuits And Gate 1 Enca10, b11(x10) Enca11,b11(x11) Enca11,b10(x10) Enca10,b10(x10) a0 b0 a1 b1 AND AND x0 x1 Or Gate 2 Encx00, x11(x21) Encx01,x11(x21) Encx01,x10(x21) Encx00,x10(x20) OR x2 … Can do any computation privately this way!

We are working on efficient solutions for malicious adversaries Threat Model Semi-Honest (Honest-but-Curious) Adversary Adversary follows the protocol as specified (!), but tries to learn more from the protocol execution transcript May be good enough for some scenarios First step towards protocols that resist malicious adversaries General techniques for converting protocols secure in semi-honest model to resist malicious adversary Amount of information that could leak without detection is probably small We are working on efficient solutions for malicious adversaries

Fairplay Garbled Tables SFDL Compiler Bob Alice Circuit (SHDL) SFDL Program Circuit (SHDL) Bob Alice Garbled Tables Generator Garbled Tables Garbled Tables Evaluator Dahlia Malkhi, Noam Nisan, Benny Pinkas and Yaron Sella [USENIX Security 2004]

Problems? An alternative approach … would have been to apply Yao’s generic secure two-party protocol…. This would have required expressing the algorithm as a circuit … and then sending and computing that circuit.… [We] believe that the performance of our protocols is significantly better than that of applying generic protocols. Margarita Osadchy, Benny Pinkas, Ayman Jarrous, Boaz Moskovich. SCiFI – A System for Secure Face Identification. Oakland 2010. [Generic SFE] is very fast … but the circuit size is extremely large…. Our prototype circuit compiler can compile circuits for problems of size (200, 200) but uses almost 2 GB of memory to do so…. larger circuits would be constrained by available memory for constructing their garbled versions. Somesh Jha, Louis Kruger, Vitaly Shmatikov. Towards Practical Privacy for Genomic Computation. Oakland 2008.

The Fallacy Garbled Tables Garbled Tables SFDL Compiler Bob Alice SFDL Program Circuit (SHDL) Bob Alice Garbled Tables Generator Garbled Tables Garbled Tables Garbled Tables Evaluator The entire circuit is prepared and stored on both sides

Faster Garbled Circuits Circuit-Level Application Circuit Structure Circuit Structure GC Framework (Generator) GC Framework (Evaluator) Encx00, x11(x21) Encx01,x11(x21) Encx01,x10(x21) Encx20, x21(x30) Encx21,x21(x30) Encx21,x20(x31) x21 Encx20, x31(x41) Encx21,x31(x41) Encx21,x30(x40) Encx40, x31(x51) Encx41,x31(x50) Encx41,x30(x50) x31 Encx40, x51(x61) Encx41,x51(x60) Encx41,x50(x60) x41 Encx30, x61(x71) Encx31,x61(x70) Encx31,x60(x71) x51 Circuit structure is small and can be reused; Each GT can be used only once. Significance: 1) allow GC to easily scale to arbitrary problem size; 2) indirectly improves time efficiency; x60 x71 Gates can be evaluated as they are generated: pipelining

Benefits of Pipelining Allows GC to scale to circuits of arbitrary size Improves the time efficiency We ran circuits with over a billion gates, at a rate of roughly 10 μs per gate.

Problems in Existing (SFDL) Compilers Resource-demanding SFDL compilation Many optimization opportunities are missed It takes hours on a 40GB memory server to compile a SFDL program that implements AES. Circuit level Minimize bitwidth Reduce the number of non-free gates Program level Treat public and secret values differently

Example: Secure Counter class Counter { int c = 0; void increment(bool b) { if (b) c++; } SFDL requires pre-setting c to a fixed bit width For best performance, its bit width should be adjusted dynamically Saves n non-free gates (out of original n log n) Saves n non-free gates out of n*logn.

Circuit Optimization – Edit Distance for (int i = 1; i < a.length; ++i) for (int j = 1; j < b.length; ++j) { T = (a[i] == b[j]) ? 0 : 1; D[i][j] = min(D[i-1][j]+1, D[i][j-1]+1, D[i-1][j-1] + T); }

Circuit Optimization – Edit Distance D[i-1][j] D[i][j-1] D[i-1][j-1] 1 1 AddOneBit AddOneBit T AddOneBit 2-Min 2-Min D[i][j]

Circuit Optimization – Edit Distance D[i-1][j] D[i][j-1] D[i-1][j-1] 2-Min T 1 AddOneBit AddOneBit 2-Min D[i][j]

Circuit Optimization – Edit Distance D[i-1][j] D[i][j-1] D[i-1][j-1] 2-Min T 1 2-Min Mux AddOneBit Saves about 28% of gates D[i][j]

Circuit Library AddOneBit 2-Min Mux T 1 Through custom circuit design and the use of optimal circuit components, we strive to minimize the number of non-free gates V. Kolesnikov and T. Schneider. Improved Garbled Circuit: Free XOR Gates and Applications. (ICALP), 2008.

Some Results Problem Best Previous Result Our Result Speedup Hamming Distance (Face Recognition, Genetic Dating) – two 900-bit vectors 213s [SCiFI, 2010] 0.051s 4176x Levenshtein Distance (genome, text comparison) – two 200-character inputs 534s [Jha+, 2008] 18.4s 29x Smith-Waterman (genome alignment) – two 60-nucleotide sequences [Not Implementable] 447s - AES Encryption 3.3s [Henecka, 2010] 0.2s 16.5x Scalable: 1 billion gates evaluated at ≈100,000 gates/second on regular PCs Comparisons are aligned to the same security level in the semi-honest model.

Timing Results [Jha+, 2008] [SCiFI, 2010] 29x faster 4176x faster Hamming Distance (900 bits) Edit Distance (200 chars, 8-bits each)

Ease of Use Our framework assumes no expert knowledge of cryptography Need basic ideas of Boolean circuits Circuit designs converted directly to Java programs

Use the Framework Java code javac Traditional Java Application Rest of the Java Program Circuit Generator javac Critical Component LibraryCircuit Circuit Evaluator Java code Critical Component Custom Circuit Critical Component LibraryCircuit

Example: AES SBox Leveraging an existing ASIC design for AES allows us to reduce the state-of-the-art AES circuit by 30% of non-free gates, compared to [PSSW09] and [HKSSW10] Wolkerstorfer, et al. An ASIC Implementation of the AES S-boxes. RSA-CT 2002.

Time Savings: AES 16.5x faster [Henecka, et al. CCS 2010]

Conclusion Pipelining enables garbled-circuit technique to scale to large problem sizes Circuit-level optimizations can dramatically reduce performance overhead Privacy-preserving applications can run orders of magnitude faster than previously thought.

Thanks! Questions? Download framework and Android demo application from MightBeEvil.com