Download presentation
Presentation is loading. Please wait.
Published byEleanore Thompson Modified over 5 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.