Presentation is loading. Please wait.

Presentation is loading. Please wait.

Malicious-Secure Private Set Intersection via Dual Execution

Similar presentations


Presentation on theme: "Malicious-Secure Private Set Intersection via Dual Execution"β€” Presentation transcript:

1 Malicious-Secure Private Set Intersection via Dual Execution
Peter Rindal Mike Rosulek

2 Private Set Intersection (PSI)
𝑋 π‘Œ π‘‹βˆ©π‘Œ

3 Private Set Intersection (PSI)
β€œSender” β€œReceiver” 𝑋 π‘Œ PSI π‘‹βˆ©π‘Œ

4 App: Ad Efficiency Ad Views Customer PSI π‘‹βˆ©π‘Œ

5 App: Voter Registration
Registered Voters Registered Voters PSI Double Registered

6 A Sampling of PSI Over the Decades
[Meadows86] Private equality test [HubermanFranklinHogg99] Private equality test to PSI [DeCristofaroKimTsudik10] Malicious secure π‘₯ 𝛼𝛽 = 𝑦 𝛽𝛼 β‡’π‘₯=𝑦 Diffie-Hellman 1985 1990 1995 2000 2005 2010 2015 2020 One of the first techniques for PSI was in produced by Meadows in 86. This approach builds on the communitive property in the exponent of diffie-hellman. Huberman and friends later framed this result in terms of PSI. More recently De Cristofaro et al, extend this approach to the malicious setting using Blind RSA.

7 A Sampling of PSI Over the Decades
[Meadows86] Private equality test [HubermanFranklinHogg99] Private equality test to PSI [DeCristofaroKimTsudik10] Malicious secure Diffie-Hellman Oblivious Polynomial Evaluation [NaorPinkas99] Semi-honest PSI [FreedmanNissimPinkas04] Hash table base PSI [DachmanMalkinRaykovaYung09] Malicious secure 𝑄 π‘₯ ≔(π‘₯βˆ’π‘¦) 𝑄 π‘₯ =0 β‡’π‘₯=𝑦 𝑓 π‘₯ +𝑔 π‘₯ =𝑓 𝑦 +𝑔(𝑦) β‡’π‘₯=𝑦 1985 1990 1995 2000 2005 2010 2015 2020 One of the first techniques for PSI was in produced by Meadows in 86. This approach builds on the communitive property in the exponent of diffie-hellman. Huberman and friends later framed this result in terms of PSI. More recently De Cristofaro et al, extend this approach to the malicious setting using Blind RSA.

8 A Sampling of PSI Over the Decades
[Meadows86] Private equality test [HubermanFranklinHogg99] Private equality test to PSI [DeCristofaroKimTsudik10] Malicious secure Diffie-Hellman [HuangEvansKatz12] Garbled Circuit base PSI Generic MPC Oblivious Polynomial Evaluation [NaorPinkas99] Semi-honest PSI [FreedmanNissimPinkas04] Hash table base PSI [DachmanMalkinRaykovaYung09] Malicious secure 1985 1990 1995 2000 2005 2010 2015 2020 One of the first techniques for PSI was in produced by Meadows in 86. This approach builds on the communitive property in the exponent of diffie-hellman. Huberman and friends later framed this result in terms of PSI. More recently De Cristofaro et al, extend this approach to the malicious setting using Blind RSA.

9 A Sampling of PSI Over the Decades
[Meadows86] Private equality test [HubermanFranklinHogg99] Private equality test to PSI [DeCristofaroKimTsudik10] Malicious secure Diffie-Hellman Oblivious Polynomial Evaluation [NaorPinkas99] Semi-honest PSI [FreedmanNissimPinkas04] Hash table base PSI [DachmanMalkinRaykovaYung09] Malicious secure [HuangEvansKatz12] Garbled Circuit base PSI Generic MPC 1985 1990 1995 2000 2005 2010 2015 2020 One of the first techniques for PSI was in produced by Meadows in 86. This approach builds on the communitive property in the exponent of diffie-hellman. Huberman and friends later framed this result in terms of PSI. More recently De Cristofaro et al, extend this approach to the malicious setting using Blind RSA. [DongChenWen13] Oblivious Transfer & Bloom filter [ RR17a ] Malicious Oblivious Transfer + Bloom filter base PSI Oblivious Transfer + Bloom filter base PSI

10 A Sampling of PSI Over the Decades
[Meadows86] Private equality test [HubermanFranklinHogg99] Private equality test to PSI [DeCristofaroKimTsudik10] Malicious secure Diffie-Hellman Oblivious Polynomial Evaluation [NaorPinkas99] Semi-honest PSI [FreedmanNissimPinkas04] Hash table base PSI [DachmanMalkinRaykovaYung09] Malicious secure [HuangEvansKatz12] Garbled Circuit base PSI Generic MPC 1985 1990 1995 2000 2005 2010 2015 2020 One of the first techniques for PSI was in produced by Meadows in 86. This approach builds on the communitive property in the exponent of diffie-hellman. Huberman and friends later framed this result in terms of PSI. More recently De Cristofaro et al, extend this approach to the malicious setting using Blind RSA. Oblivious Transfer Encoding [FaginNaorWinkler96] Private equality test [PinkasSchneiderZohner14, …] Cuckoo hashing PSI [ This ] Hash Table base PSI OT π‘₯ π‘š π‘₯ π‘š π‘š π‘₯ = π‘š 𝑦 β‡’π‘₯=𝑦 [DongChenWen13] Oblivious Transfer & Bloom filter [ RR17a ] Malicious Oblivious Transfer + Bloom filter base PSI Oblivious Transfer + Bloom filter base PSI

11 A Sampling of PSI Over the Decades
[HubermanFranklinHogg99] Extended Diffie-Hellman private equality test to PSI [DeCristofaroKimTsudik10] Diffie-Hellman base PSI [DongChenWen13] [DongChenWen13] Oblivious Transfer + Bloom filter base PSI [NaorPinkas99] Oblivious Transfer base PSI using Polynomial Evaluation [DachmanMalkinRaykovaYung09] Homomorphic Enc base PSI using Polynomial Evaluation [Meadows86] First to define private equality test using Diffie-Hellman [ This ] Malicious Oblivious Transfer + Bloom filter base PSI 1985 1990 1995 2000 2005 2010 2015 2020 And this is by no means all of the works on PSI. Shown here is all the papers I was able to find in a few minutes. As you can see, 2017 was a very good year for PSI [FreedmanNissimPinkas04] Homomorphic Enc base PSI using Polynomial Evaluation and hashing [KolesnikovKumaresanRosulekTrieu16] Element-wise Oblivious Transfer encoding PSI [FaginNaorWinkler96] Bitwise Oblivious Transfer encoding for private equality test [PinkasSchneiderZohner14] Cuckoo hashing + Bitwise Oblivious Transfer encoding PSI [HuangEvansKatz12] Garbled Circuit base PSI

12 Oblivious Transfer (OT)
Sender π‘š 0 , π‘š 1 ∈ 0,1 𝑙 Receiver π‘₯∈{0,1} OT π‘š π‘₯ Highly efficient and secure protocols exists Motivates it use as the basis for PSI

13 Oblivious Transfer (1-out-of-N OT)
Sender Receiver π‘₯∈{1,…,𝑁} OT π‘š 1 ,…, π‘š 𝑁 ← 0,1 𝑙 π‘š π‘₯ Highly efficient and secure protocols exists Motivates it use as the basis for PSI 1-out-of-N OT allows for exponentially many random messages, e.g. 𝑁= 2 128

14 Oblivious Transfer (1-out-of-N OT)
Sender Receiver π‘₯∈{1,…,𝑁} OT β‹… ≔ π‘š 1 ,…, π‘š 𝑁 ← 0,1 𝑙 π‘₯ ≔ π‘š π‘₯ Highly efficient and secure protocols exists Motivates it use as the basis for PSI 1-out-of-N OT allows for exponentially many random messages, e.g. 𝑁= 2 128

15 Warm-up: Private Equality Test
[PinkasSchneiderZohner14] How to compare π‘₯ and 𝑦 for equality Oblivious Transfer Correctness: If π‘₯=𝑦, the encoding will be equal. Security: If π‘₯≠𝑦, the Receiver see π‘₯ which looks completely random OT 𝑦 β‹… 𝑦 π‘₯ Output: π‘₯ = 𝑦 ?

16 Warm-up: Private Membership Test
[PinkasSchneiderZohner14] How to check for membership π‘¦βˆˆπ‘‹ Oblivious Transfer OT 𝑦 β‹… 𝑦 { π‘₯ 1 ,…, π‘₯ 𝑛 } Output: { π‘₯ 1 ,…, π‘₯ 𝑛 }∈ 𝑦 ?

17 Warm-up: Private Membership Test
[PinkasSchneiderZohner14] How to check for membership π‘¦βˆˆπ‘‹ Oblivious Transfer Optimizations Optimized to require 1 OT [KolesnikovKumaresanRosulekTrieu 16] Malicious secure [OrrΓΉOrsiniScholl16] Limitations Communication/Computation 𝑂(𝑛) per test PSI: for π‘¦βˆˆπ‘Œ, test membership π‘¦βˆˆπ‘‹ β‡’ 𝑂 𝑛 2 𝑋 PMT 𝑦 ? π‘¦βˆˆπ‘‹

18 Membership + Hash Table
[PinkasScheiderZohner14] Use hash table to reduce PSI complexity β„Ž( π‘₯ 1 ) π‘₯ 1 𝐡 bins β„Ž β‹… : 0,1 βˆ— β†’{1,…,𝐡}

19 Membership + Hash Table
[PinkasScheiderZohner14] Use hash table to reduce PSI complexity β„Ž( π‘₯ 1 ) β„Ž( π‘₯ 2 ) π‘₯ 1 𝐡 bins π‘₯ 2 β„Ž β‹… : 0,1 βˆ— β†’{1,…,𝐡}

20 Membership + Hash Table
[PinkasScheiderZohner14] Use hash table to reduce PSI complexity For each bin, compare all pairs β„Ž( π‘₯ 1 ) β„Ž( 𝑦 𝑛 ) β„Ž( 𝑦 2 ) β„Ž( 𝑦 1 ) … π‘₯ 𝑛 π‘₯ 4 𝑦 1 𝑦 2 𝑦 𝑛 𝑦 3 𝑦 4 β„Ž( π‘₯ 2 ) π‘₯ 3 π‘₯ 1 … 𝑂 (𝑛/ log 𝑛 ) β„Ž( π‘₯ 𝑛 ) π‘₯ 2 𝑂 (log 𝑛)

21 Semi-Honest Bin Comparison
[PinkasScheiderZohner14] … … π‘₯ 𝑛 𝑦 2 π‘₯ 4 𝑦 4 𝑂 ( log 𝑛 ) π‘₯ 3 𝑦 1 … … For each bin, compare all pairs Bin size =𝑂(log 𝑛) Quadratic complexity =𝑂( log 2 𝑛)

22 Semi-Honest Bin Comparison
[PinkasScheiderZohner14] 𝑋 π‘₯ 𝑛 𝑦 2 PMT π‘₯ 4 𝑋 𝑦 4 PMT π‘₯ 3 𝑋 𝑦 1 PMT For each bin, compare all pairs Bin size =𝑂(log 𝑛) Quadratic complexity =𝑂( log 2 𝑛) Semi-honest state of art: [PinkasScheiderZohner16], [KolesnikovKumaresanRosulekTrieu16] Improved with more advanced hashing

23 Malicious Security For each bin, compare all pairs Issue:
[RindalRosulek17b] π‘₯ 𝑛 =𝑋 𝑦 2 PMT π‘₯ 3 β€² π‘₯ 4 β€² π‘₯ 𝑛 β€² π‘₯ 4 =𝑋′ 𝑦 4 PMT π‘₯ 3 β€²β€² π‘₯ 4 β€²β€² π‘₯ 𝑛 β€²β€² π‘₯ 3 =𝑋′′ 𝑦 1 PMT For each bin, compare all pairs Issue: Malicious sender uses 𝑋, 𝑋 β€² ,𝑋′′ for each PMT Can not be simulated, Adversary has 𝑂 log 2 𝑛 input No consistent simulation

24 Malicious Security PSI π‘Œ 𝑋 βˆ— βˆ©π‘Œ
[RindalRosulek17b] Simulator No 𝑋 βˆ— exists π‘₯ 3 π‘₯ 4 π‘₯ 𝑛 =𝑋 π‘Œ π‘₯ 3 β€² π‘₯ 4 β€² π‘₯ 𝑛 β€² 𝑋 βˆ— =𝑋′ PSI π‘₯ 3 β€²β€² π‘₯ 4 β€²β€² π‘₯ 𝑛 β€²β€² =𝑋′′ 𝑋 βˆ— βˆ©π‘Œ For each bin, perform 𝑂( log 𝑛 ) membership tests Issue: Malicious sender uses 𝑋, 𝑋 β€² ,𝑋′′ for each PMT Can not be simulated, Adversary has 𝑂 log 2 𝑛 input No consistent simulation

25 Malicious Security Need to restrict sender to a single set
[RindalRosulek17b] π‘₯ 𝑛 𝑦 2 PMT π‘₯ 4 𝑦 4 PMT π‘₯ 3 𝑦 1 PMT Need to restrict sender to a single set

26 Malicious Security OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] π‘₯ 𝑛 OT 𝑦 2 β‹… 1 𝑦 2 1 π‘₯ 4 OT 𝑦 4 β‹… 2 𝑦 4 2 OT π‘₯ 3 β‹… 3 𝑦 1 𝑦 1 3 Need to restrict sender to a single set

27 Malicious Security Need to restrict sender to a single set
[RindalRosulek17b] β‹… 1 𝐴 π‘₯ 𝑛 𝑦 2 𝑦 𝐴 β‹… 2 𝐴 π‘₯ 4 𝑦 4 𝑦 𝐴 β‹… 3 𝐴 π‘₯ 3 𝑦 1 𝑦 𝐴 Need to restrict sender to a single set

28 Malicious Security OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] β‹… 1 𝐴 π‘₯ 𝑛 𝑦 𝐴 OT β‹… 1 𝐡 𝑦 2 π‘₯ 𝑛 1 𝐡 β‹… 2 𝐴 π‘₯ 4 OT β‹… 2 𝐡 𝑦 4 𝑦 𝐴 π‘₯ 𝐡 OT β‹… 3 𝐡 β‹… 3 𝐴 π‘₯ 3 𝑦 1 𝑦 𝐴 π‘₯ 𝐡 Need to restrict sender to a single set

29 Malicious Security OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] π‘₯ 𝑛 1 𝐡 β‹… 1 𝐴 π‘₯ 𝑛 𝑦 2 𝑦 𝐴 OT β‹… 1 𝐡 π‘₯ 𝐡 β‹… 2 𝐴 π‘₯ 4 OT 𝑦 4 𝑦 𝐴 β‹… 2 𝐡 OT π‘₯ 𝐡 β‹… 3 𝐴 π‘₯ 3 𝑦 1 𝑦 𝐴 β‹… 3 𝐡 Need to restrict sender to a single set Define common encoding: 𝑧 π‘Ž,𝑏 = 𝑧 π‘Ž 𝐴 βŠ• 𝑧 𝑏 𝐡 Each party knows exactly 9 common encodings of 3 values

30 Malicious Security OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 π‘₯ 𝑛 𝑦 2 𝑦 𝐴 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 OT β‹… 1 𝐡 π‘₯ 𝐡 β‹… 2 𝐴 π‘₯ 4 OT 𝑦 4 𝑦 𝐴 β‹… 2 𝐡 OT π‘₯ 𝐡 β‹… 3 𝐴 π‘₯ 3 𝑦 1 𝑦 𝐴 β‹… 3 𝐡 Need to restrict sender to a single set Define common encoding: 𝑧 π‘Ž,𝑏 = 𝑧 π‘Ž 𝐴 βŠ• 𝑧 𝑏 𝐡 Each party knows exactly 9 common encodings of 3 values

31 Malicious Security OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 𝑦 𝐴 OT 𝑦 2 β‹… 1 𝐡 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 OT 𝑦 4 𝑦 𝐴 β‹… 2 𝐡 OT π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑦 1 𝑦 𝐴 β‹… 3 𝐡 Need to restrict sender to a single set Define common encoding: 𝑧 π‘Ž,𝑏 = 𝑧 π‘Ž 𝐴 βŠ• 𝑧 𝑏 𝐡 Each party knows exactly 9 common encodings of 3 values

32 Malicious Security OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 βŠ• 𝑦 𝐴 𝑦 𝐴 𝑦 𝐴 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 OT 𝑦 2 β‹… 1 𝐡 𝑦 2 1,1 , 𝑦 4 2,1 , 𝑦 1 3,1 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 OT 𝑦 4 β‹… 2 𝐡 𝑦 2 1,2 , 𝑦 4 2,2 , 𝑦 1 3,2 OT π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑦 1 β‹… 3 𝐡 𝑦 2 1,3 , 𝑦 4 2,3 , 𝑦 1 3,3 Send 𝑋 Output 𝑦 if 𝑦 π‘Ž,𝑏 ∈ 𝑋 Need to restrict sender to a single set Define common encoding: 𝑧 π‘Ž,𝑏 = 𝑧 π‘Ž 𝐴 βŠ• 𝑧 𝑏 𝐡 Each party knows exactly 9 common encodings of 3 values

33 Correctness OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 βŠ• 𝑦 𝐴 𝑦 𝐴 𝑦 𝐴 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 OT 𝑦 2 β‹… 1 𝐡 𝑦 2 1,1 , 𝑦 4 2,1 , 𝑦 1 3,1 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 OT 𝑦 4 β‹… 2 𝐡 𝑦 2 1,2 , 𝑦 4 2,2 , 𝑦 1 3,2 OT π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑦 1 β‹… 3 𝐡 𝑦 2 1,3 , 𝑦 4 2,3 , 𝑦 1 3,3 Send 𝑋 Output 𝑦 if 𝑦 π‘Ž,𝑏 ∈ 𝑋 Need to restrict sender to a single set Define common encoding: 𝑧 π‘Ž,𝑏 = 𝑧 π‘Ž 𝐴 βŠ• 𝑧 𝑏 𝐡 Each party knows exactly 9 common encodings of 3 values Say, 𝑦 2 = π‘₯ 𝑛

34 Correctness OT OT OT Need to restrict sender to a single set
[RindalRosulek17b] βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 βŠ• 𝑦 𝐴 𝑦 𝐴 𝑦 𝐴 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 OT 𝑦 2 β‹… 1 𝐡 𝑦 2 1,1 , 𝑦 4 2,1 , 𝑦 1 3,1 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 OT 𝑦 4 β‹… 2 𝐡 𝑦 2 1,2 , 𝑦 4 2,2 , 𝑦 1 3,2 OT π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑦 1 β‹… 3 𝐡 𝑦 2 1,3 , 𝑦 4 2,3 , 𝑦 1 3,3 Send 𝑋 Output 𝑦 if 𝑦 π‘Ž,𝑏 ∈ 𝑋 Need to restrict sender to a single set Define common encoding: 𝑧 π‘Ž,𝑏 = 𝑧 π‘Ž 𝐴 βŠ• 𝑧 𝑏 𝐡 Each party knows exactly 9 common encodings of 3 values Say, 𝑦 2 = π‘₯ 𝑛

35 Proof PSI π‘Œ 𝑋 βˆ— βˆ©π‘Œ Strategy: Must show a simulator: [RindalRosulek17b]
βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 Simulator π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 𝑦 𝑗 = π‘₯ 𝑛 π‘Œ 𝑋 βˆ— PSI π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑋 βˆ— βˆ©π‘Œ Send 𝑋 Strategy: For each π‘₯ 𝑖 , imagine π‘₯ 𝑖 βˆˆπ‘Œ Logically place 𝑦 𝑗 = π‘₯ 𝑖 at random bin position E.g. π‘₯ 𝑛 βˆˆπ‘Œ, place 𝑦 𝑗 at position 2 Must show a simulator: On input 𝑋 outputs 𝑋 βˆ— Correct intersection must be 𝑋 βˆ— βˆ©π‘Œ

36 Proof PSI π‘Œ 𝑋 βˆ— βˆ©π‘Œ Strategy: Must show a simulator: [RindalRosulek17b]
βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 Simulator π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 𝑦 𝑗 = π‘₯ 𝑛 π‘Œ 𝑋 βˆ— PSI π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑋 βˆ— βˆ©π‘Œ Send 𝑋 Strategy: For each π‘₯ 𝑖 , imagine π‘₯ 𝑖 βˆˆπ‘Œ Logically place 𝑦 𝑗 = π‘₯ 𝑖 at random bin position E.g. π‘₯ 𝑛 βˆˆπ‘Œ, place 𝑦 𝑗 at position 2 Must show a simulator: On input 𝑋 outputs 𝑋 βˆ— Correct intersection must be 𝑋 βˆ— βˆ©π‘Œ

37 Proof PSI π‘Œ 𝑋 βˆ— βˆ©π‘Œ Strategy: Must show a simulator: [RindalRosulek17b]
βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 Simulator π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 𝑦 𝑗′ = π‘₯ 4 π‘Œ 𝑋 βˆ— PSI π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 π‘₯ 𝑛 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑋 βˆ— βˆ©π‘Œ Send 𝑋 Strategy: For each π‘₯ 𝑖 , imagine π‘₯ 𝑖 βˆˆπ‘Œ Pick a random bin position to store 𝑦 𝑗 = π‘₯ 𝑖 E.g. π‘₯ 𝑛 βˆˆπ‘Œ then store 𝑦 𝑗 randomly at position 2 Must show a simulator: On input 𝑋 outputs 𝑋 βˆ— Correct intersection must be 𝑋 βˆ— βˆ©π‘Œ

38 Proof PSI π‘Œ 𝑋 βˆ— βˆ©π‘Œ Strategy: Must show a simulator: [RindalRosulek17b]
βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 Simulator π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 𝑦 𝑗′ = π‘₯ 4 π‘Œ 𝑋 βˆ— PSI π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 π‘₯ 𝑛 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑋 βˆ— βˆ©π‘Œ Send 𝑋 Strategy: For each π‘₯ 𝑖 , imagine π‘₯ 𝑖 βˆˆπ‘Œ Logically place 𝑦 𝑗 = π‘₯ 𝑖 at random bin position E.g. π‘₯ 𝑛 βˆˆπ‘Œ, place 𝑦 𝑗 at position 2 Must show a simulator: On input 𝑋 outputs 𝑋 βˆ— Correct intersection must be 𝑋 βˆ— βˆ©π‘Œ

39 Proof PSI π‘Œ 𝑋 βˆ— βˆ©π‘Œ Strategy: Must show a simulator: [RindalRosulek17b]
βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 Simulator π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 𝑦 𝑗′′ = π‘₯ 3 π‘Œ 𝑋 βˆ— PSI π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 π‘₯ 𝑛 π‘₯ 4 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑋 βˆ— βˆ©π‘Œ Send 𝑋 Strategy: For each π‘₯ 𝑖 , imagine π‘₯ 𝑖 βˆˆπ‘Œ Logically place 𝑦 𝑗 = π‘₯ 𝑖 at random bin position E.g. π‘₯ 𝑛 βˆˆπ‘Œ, place 𝑦 𝑗 at position 2 Must show a simulator: On input 𝑋 outputs 𝑋 βˆ— Correct intersection must be 𝑋 βˆ— βˆ©π‘Œ

40 Proof PSI π‘Œ 𝑋 βˆ— βˆ©π‘Œ Strategy: Must show a simulator: [RindalRosulek17b]
βŠ• β‹… 1 𝐴 β‹… 2 𝐴 β‹… 3 𝐴 Simulator π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝑛 π‘Œ 𝑋 βˆ— PSI π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 4 π‘₯ 3 π‘₯ 𝑛 π‘₯ 4 π‘₯ 𝐡 π‘₯ 4 1,2 , π‘₯ 4 2,2 , π‘₯ 4 3,2 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 𝑛 1 𝐡 π‘₯ 𝑛 1,1 , π‘₯ 𝑛 2,1 , π‘₯ 𝑛 3,1 π‘₯ 𝐡 π‘₯ 3 1,3 , π‘₯ 3 2,3 , π‘₯ 3 3,3 π‘₯ 3 𝑋 βˆ— βˆ©π‘Œ Send 𝑋 Strategy: For each π‘₯ 𝑖 , imagine π‘₯ 𝑖 βˆˆπ‘Œ Logically place 𝑦 𝑗 = π‘₯ 𝑖 at random bin position E.g. π‘₯ 𝑛 βˆˆπ‘Œ, place 𝑦 𝑗 at position 2 𝒙 π’Š ∈ 𝑿 βˆ— iff that position is correct Must show a simulator: On input 𝑋 outputs 𝑋 βˆ— Correct intersection must be 𝑋 βˆ— βˆ©π‘Œ

41 Send all common encodings 𝑋
Overview [RindalRosulek17b] β„Ž( π‘₯ 1 ) π‘₯ 𝑛 π‘₯ 4 𝑦 1 𝑦 2 𝑦 𝑛 𝑦 3 𝑦 4 β„Ž( π‘₯ 2 ) π‘₯ 3 π‘₯ 1 … 𝑂 (𝑛/ log 𝑛 ) β„Ž( π‘₯ 𝑛 ) π‘₯ 2 𝑂 (log 𝑛) Send all common encodings 𝑋 Output 𝑦 if 𝑦 π‘Ž,𝑏 ∈ 𝑋 For each bin, perform quadratic cost PSI.

42 Send all common encodings 𝑋
Bin Aggregation [RindalRosulek17b] 𝟏,𝟏 , 𝟐,𝟏 , πŸ‘,𝟏 , πŸ’,𝟏 , πŸ“,𝟏 π‘₯ 𝑛 1,4 , π‘₯ 𝑛 2,4 , π‘₯ 𝑛 3,4 , π‘₯ 𝑛 4,4 , π‘₯ 𝑛 5,4 𝟏,𝟐 , 𝟐,𝟐 , πŸ‘,𝟐 , πŸ’,𝟐 , πŸ“,𝟐 π‘₯ 4 1,5 , π‘₯ 4 2,5 , π‘₯ 4 3,5 , π‘₯ 4 4,5 , π‘₯ 4 5,5 𝟏,πŸ‘ , 𝟐,πŸ‘ , πŸ‘,πŸ‘ , πŸ’,πŸ‘ , πŸ“,πŸ‘ π‘₯ 𝑛 π‘₯ 4 𝑦 4 π‘₯ 3 π‘₯ 1 𝑦 1 𝑦 𝑛 𝑛/ log 𝑛 𝑦 3 π‘₯ 2 𝑦 2 β‰ˆ4log 𝑛 Send all common encodings 𝑋 For each bin, perform quadratic cost PSI. | 𝑋 |β‰ˆπŸπŸ”π‘› log 𝑛 common encodings ΒΎ of which encode dummy items

43 Send all common encodings 𝑋
Bin Aggregation [RindalRosulek17b] π‘₯ 𝑛 π‘₯ 4 𝑦 4 π‘₯ 3 π‘₯ 1 𝑦 1 𝑦 𝑛 𝑛/ log 𝑛 𝑦 3 π‘₯ 2 𝑦 2 β‰ˆ4log 𝑛 Send all common encodings 𝑋 For each bin, perform quadratic cost PSI. | 𝑋 |β‰ˆπŸπŸ”π‘› log 𝑛 common encodings ΒΎ of which encode dummy items Skip all dummy encodings 𝑋 ≔ all real encodings Send 𝑋 random order Hides bin load

44 Send common encodings 𝑋
Final Protocol [RindalRosulek17b] π‘₯ 𝑛 π‘₯ 4 𝑦 4 π‘₯ 3 π‘₯ 1 𝑦 1 𝑦 𝑛 𝑛/ log 𝑛 𝑦 3 π‘₯ 2 𝑦 2 β‰ˆ4log 𝑛 Send common encodings 𝑋 In random order Output 𝑦 if 𝑦 π‘Ž,𝑏 ∈ 𝑋 Protocol: Hash to bins Compute common encodings Send 𝑋 in random order Overall complexity: 𝑂(𝑛 log 𝑛)

45 Protocol Extensions OT OT
[RindalRosulek17b] Fastest protocol is in the Random Oracle Model Utilizes β€œrandom” OT Requires Random Oracle Standard model variant: Utilizes many 1-out-of-2 OT 20Γ— more communication As fast as prior work [RR17a] Encode-Commit variant: Random Oracle or Standard model Communication-Computation tradeoff Random Oracle 𝑦 β‹… OT 𝑦 β‹… OT

46 Comparison [RindalRosulek17b] DKT10 - Malicious Diffie-Hellman style approach: π‘₯ 𝛼𝛽 = 𝑦 𝛽𝛼 RR17a – Malicious Bloom filter OPRF 12Γ— 6Γ— 450Γ— 8Γ—

47 Comparison [RindalRosulek17b] DKT10 - Malicious Diffie-Hellman style approach: π‘₯ 𝛼𝛽 = 𝑦 𝛽𝛼 RR17a – Malicious Bloom filter OPRF Only 3Γ— slower than [KKRT16] (semi-honest) [RR17b] 𝑂(𝑛) OTs 𝑂 𝑛 log 𝑛 computation/communication [KKRT16] 𝑂 𝑛 computation/communication Leverage cuckoo hashing Very difficult to make malicious secure 12Γ— 6Γ— 450Γ— 8Γ— [KKRT16] NaΓ―ve

48 The End Peter Rindal Mike Rosulek

49 Future Work Cuckoo hashing with malicious security
Richer functionality PSI cardinality Google ad revenue PSI with associated data (SQL-like join) Multi-party PSI (third talk) Threshold PSI Composable PSI/Union PSI as input to arbitrary secure computation Join data before running machine learning algorithm


Download ppt "Malicious-Secure Private Set Intersection via Dual Execution"

Similar presentations


Ads by Google