Efficient Private Matching and Set Intersection Mike Freedman, NYU Kobbi Nissim, MSR Benny Pinkas, HP Labs EUROCRYPT 2004.

Slides:



Advertisements
Similar presentations
Polylogarithmic Private Approximations and Efficient Matching
Advertisements

Constant-Round Private Database Queries Nenad Dedic and Payman Mohassel Boston UniversityUC Davis.
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.
Efficiency vs. Assumptions in Secure Computation Yuval Ishai Technion & UCLA.
Secure Computation of Linear Algebraic Functions
Secure Evaluation of Multivariate Polynomials
Oblivious Branching Program Evaluation
Efficient Two-party and Multiparty Computation against Covert Adversaries Vipul Goyal Payman Mohassel Adam Smith Penn Sate UCLAUC Davis.
Semi-Honest to Malicious Oblivious-Transfer The Black-box Way Iftach Haitner Weizmann Institute of Science.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Gillat Kol joint work with Ran Raz Competing Provers Protocols for Circuit Evaluation.
Amortizing Garbled Circuits Yan Huang, Jonathan Katz, Alex Malozemoff (UMD) Vlad Kolesnikov (Bell Labs) Ranjit Kumaresan (Technion) Cut-and-Choose Yao-Based.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
What Crypto Can Do for You: Solutions in Search of Problems Anna Lysyanskaya Brown University.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
How Should We Solve Search Problems Privately? Kobbi Nissim – BGU A. Beimel, T. Malkin, and E. Weinreb.
1 Keyword Search and Oblivious Pseudo-Random Functions Mike Freedman NYU Yuval Ishai, Benny Pinkas, Omer Reingold.
Proactive Secure Mobile Digital Signatures Work in progress. Ivan Damgård and Gert Læssøe Mikkelsen University of Aarhus.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Secure Efficient Multiparty Computing of Multivariate Polynomials and Applications Dana Dachman-Soled, Tal Malkin, Mariana Raykova, Moti Yung.
1 Efficient Private Matching and Set Intersection (EUROCRYPT, 2004) Author : Michael J.Freedman Kobbi Nissim Benny Pinkas Presentered by Chia Jui Hsu Date.
Private Analysis of Data Sets Benny Pinkas HP Labs, Princeton.
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Privacy Preserving Data Mining Yehuda Lindell & Benny Pinkas.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Privacy Preserving Learning of Decision Trees Benny Pinkas HP Labs Joint work with Yehuda Lindell (done while at the Weizmann Institute)
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
Cryptography Lecture 8 Stefan Dziembowski
Efficient and Robust Private Set Intersection and multiparty multivariate polynomials Dana Dachman-Soled 1, Tal Malkin 1, Mariana Raykova 1, Moti Yung.
Privacy-Preserving Data Quality Assessment for High-Fidelity Data Sharing Julien Freudiger, Shantanu Rane, Alex Brito, and Ersin Uzun PARC.
Secure Computation of the k’th Ranked Element Gagan Aggarwal Stanford University Joint work with Nina Mishra and Benny Pinkas, HP Labs.
A Linear Lower Bound on the Communication Complexity of Single-Server PIR Weizmann Institute of Science Israel Iftach HaitnerJonathan HochGil Segev.
Secure Computation (Lecture 7-8) Arpita Patra. Recap >> (n,t)-Secret Sharing (Sharing/Reconstruction) > Shamir Sharing > Lagrange’s Interpolation for.
Slide 1 Vitaly Shmatikov CS 380S Introduction to Secure Multi-Party Computation.
13. Oktober 2010 | Dr.Marc Fischlin | Kryptosicherheit | 1 Rate-Limited Secure Function Evaluation 21. Public Key Cryptography, March 1 st, 2013 Özgür.
Secure two-party computation: a visual way by Paolo D’Arco and Roberto De Prisco.
Cryptography Lecture 7: RSA Primality Testing Piotr Faliszewski.
Secure Computation (Lecture 5) Arpita Patra. Recap >> Scope of MPC > models of computation > network models > modelling distrust (centralized/decentralized.
Privacy Preserving Data Mining Yehuda Lindell Benny Pinkas Presenter: Justin Brickell.
Privacy-Preserving Credit Checking Keith Frikken, Mikhail Atallah, and Chen Zhang Purdue University June 7, 2005.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
CSE 331: Introduction to Networks and Security Fall 2001 Instructor: Carl A. Gunter Encrypted Knock Knock.
1 Information Security – Theory vs. Reality , Winter Lecture 10: Garbled circuits and obfuscation Eran Tromer Slides credit: Boaz.
Secure Conjunctive Keyword Search Over Encrypted Data Philippe Golle Jessica Staddon Palo Alto Research Center Brent Waters Princeton University.
Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
Secure Computation Lecture Arpita Patra. Recap > Shamir Secret-sharing > BGW Protocol based on secret-sharing > Offline/Online phase > Creating.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
Andrew Lindell Aladdin Knowledge Systems and Bar-Ilan University 04/08/08 CRYP-106 Efficient Fully-Simulatable Oblivious Transfer.
Secure Computation (Lecture 9-10) Arpita Patra. Recap >> MPC with honest majority in i.t. settings > Protocol using (n,t)-sharing, proof of security---
Private Information Retrieval Based on the talk by Yuval Ishai, Eyal Kushilevitz, Tal Malkin.
Verifiable Threshold Secret Sharing and Full Fair Secure Two-party Computation YE Jian-wei March 7, 2009.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
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.
Topic 36: Zero-Knowledge Proofs
Some slides borrowed from Philippe Golle, Markus Jacobson
Privacy Preserving Similarity Evaluation of Time Series Data
Secret Sharing (or, more accurately, “Secret Splitting”)
Using low-degree Homomorphism for Private Conjunction Queries
Course Business I am traveling April 25-May 3rd
Improved Private Set Intersection against Malicious Adversaries
Verifiable Oblivious Storage
Maliciously Secure Two-Party Computation
Secure Computation of Constant-Depth Circuits with Applications to Database Search Problems Omer Barkol Yuval Ishai Technion.
Privacy Preserving analytics Private Set Intersection(PSI)
Malicious-Secure Private Set Intersection via Dual Execution
Presentation transcript:

Efficient Private Matching and Set Intersection Mike Freedman, NYU Kobbi Nissim, MSR Benny Pinkas, HP Labs EUROCRYPT 2004

Is there any chance we might be compatible? Maybe… We could see if we have similar interests? I don’t really like to give personal information Have you heard of “secure function evaluation” ? I don’t want to waste my entire night… A Story…

We could see if we have similar interests? Have you heard of “secure function evaluation” ? I don’t want to waste my entire night… Making SFE more efficient… 1.Improvements to generic primitives (SFE, OT) 2.Improvements in specific protocol examples

XY F(x,y) and nothing else Input: Output: XY As if… F(x,y) Secure Function Evaluation What if such trustworthy barkeeps don’t exist?

XY XY F(x,y) Proving SFE Protocols… Real World Ideal World ≈ Views Can consider semi-honest and malicious models F(x,y)

Client Server Input: X = x 1 … x k Y = y 1 … y k Output: X  Y only nothing Our Specific Scenario Shared interests (research, music) Dating, genetic compatibility, etc. Credit card rating Terrorist watch list (CAPS II)

Related work Generic constructions [Yao,GMW,BGW,CCD] Represent function as a circuit with combinatorial gates Concern is size of circuit (as communication is O(|C|) Simplest uses k 2 comparisons Diffie-Hellman based solutions [FHH99, EGS03] Insecure against malicious adversaries Considered in the “random oracle” model Our work: O(k ln ln k) overhead. “Semi-honest” adversaries – in standard model “Malicious” adversaries – in RO model

This talk… Overview Basic protocol in semi-honest model Efficient Improvements Extending protocol to malicious model Other results…

Basic tool: Homomorphic Encryption Semantically-secure public-key encryption Given Enc(M1), Enc(M2) can compute, without knowing decryption key, Enc(M1+M2) = Enc(M1) · Enc(M2) Enc(c · M1) = [Enc(M1)] c, for any constant c Examples: El Gamal variant, Paillier, DJ

The Protocol Client (C) defines a polynomial of degree k whose roots are his inputs x 1,…,x k P(y) = (x 1 -y)(x 2 -y)…(x k -y) = a 0 + a 1 y +…+ a k y k C sends to server (S) homomorphic encryptions of polynomial’s coefficients Enc(a 0 ),…, Enc(a k ) Enc( P(y) ) = Enc( a 0 + a 1 · y 1 + … + a k · y k ) Enc(a 0 ) · Enc (a 1 ) y 1 · … · Enc (a k ) y k

The Protocol S uses homomorphic properties to compute,  y, r y ← random Enc( r y · P(y) + y ) S sends (permuted) results back to C C decrypts results, identifies y’s Enc (y)Enc (random) if y  X  Y otherwise

Variant protocols…cardinality Enc( r y · P(y) + 1 ) Computes size of intersection: # Enc (1) Others… Output 1 iff | X  Y | > t Enc (1)Enc (random) if y  X  Y otherwise

Security (semi-honest case) Client’s privacy S only sees semantically-secure enc’s Learning about C’s input = breaking enc’s Server’s privacy (proof via simulation) Client gets X  Y in ideal (TTP) model Given that, can compute E(y)’s and E(rand)’s and thus simulate real model

Efficiency Communication is O(k) C sends k coefficients S sends k evaluations on polynomial Computation Client encrypts and decrypts k values  Server:  y  Y, computes Enc(r y · P(y)+y), using k exponentiations Total O(k 2 ) exponentiations

Improving Efficiency (1) Inputs typically from a “small” domain of D values. Represented by log D bits (…20) Use Horner’s rule P(y)= a 0 + y (a 1 +…y (a n-1 +ya n )...) That is, exponents are only log D bits Overhead of exponentiation is linear in | exponent | → “Improve” by factor of | modulus | / log D e.g., 1024 / 20 ≈ 50

Improving Efficiency (2): Hashing C uses PRF H(·) to hash inputs to B bins x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 …x k-1 xkxk H(·) B M Let M bound max # of items in a bin Client defines B polynomials of deg M. Each poly encodes x’s mapped to its bin + enough “other” roots P2P2 P1P1 P3P3 PBPB …

Improving Efficiency (2): Hashing H P2P2 P1P1 P3P3 PBPB Client sends B polynomials and H to server. For every y, S computes H(y) and evaluates the single corresponding poly of degree M  y, i ← H(y), r y ← rand Enc( r y · P i (y) + y )

Overhead with Hashing Communication: B · M (# bins · # items per) Server: k · M short exp ’ s, k full exp ’ s ( P i (y) ) ( r y ·P i (y) + y ) How to make M small as possible? Choose most balanced hash function

Balanced allocations [ABKU] H: Choose two bins, map to emptier bin B = k / ln ln k → M = O (ln ln k) M  5 [BM] Communication: O(k) Server: k ln ln k short exp, k full exp in practice xixi H(·)

This talk… Overview Basic protocol in semi-honest model Efficient Improvements Extending protocol to malicious model Other results…

Malicious Adversaries Malicious clients Without hashing is trivial: Ensure a 0 ≠ 0 With hashing Verify that total # of roots (in all B poly’s) is k Solution using cut-and-choose Exponentially small error probability Still standard model Malicious servers Privacy…easy: S receives semantically-secure encryptions

Security against Malicious Server Correctness: Ensure that there is an input of k items corresponding to S’s actions Problem: Server can compute r y · P(y) + y’ Solution: Server uses RO to commit to seed, then uses resulting randomness to “prove” correctness of encryption

 y, s ← rand, r ← H 1 (s) [e,h] ← [ Enc ( r 1 ·P(y) + s ), H 2 (r 2,y) ] s* ← Dec (e), r* ← H 1 (s*) ?  x, s.t. e = Enc ( r* 1 ·P(x) + s* )  h = H 2 (r* 2, x) Security against Malicious Server Deterministic

Other results and open problems Approximating size of intersection (scalar product) Requires Ω(k) communication Provide secure approximation protocol PM protocol extends efficiently to multiple parties Malicious-party protocol in standard model? Fuzzy Matching? Databases are not always accurate or full Report iff entries match in t out of V “attributes”

Questions?