a survey on private set intersection
play

A Survey on Private Set Intersection Presented by Hongrui Cui - PowerPoint PPT Presentation

A Survey on Private Set Intersection Presented by Hongrui Cui RickFreeman@sjtu.edu.cn October 17, 2019 Cui Hongrui (SJTU) PSI October 17, 2019 1 / 27 Overview Introduction 1 PSI Literature Notations The Core of PSI Semi-Honest PSI 2


  1. A Survey on Private Set Intersection Presented by Hongrui Cui RickFreeman@sjtu.edu.cn October 17, 2019 Cui Hongrui (SJTU) PSI October 17, 2019 1 / 27

  2. Overview Introduction 1 PSI Literature Notations The Core of PSI Semi-Honest PSI 2 Cuckoo Hashing The Paradigm of [PSZ14] Malicious PSI 3 Malicious PSI via Dual Execution Multiparty PSI 4 Multiparty PSI from OPPRF Cui Hongrui (SJTU) PSI October 17, 2019 2 / 27

  3. Content Introduction 1 PSI Literature Notations The Core of PSI Semi-Honest PSI 2 Cuckoo Hashing The Paradigm of [PSZ14] Malicious PSI 3 Malicious PSI via Dual Execution Multiparty PSI 4 Multiparty PSI from OPPRF Cui Hongrui (SJTU) PSI October 17, 2019 3 / 27

  4. Private Set Intersection Research Background ◮ Multiparty computation of set intersection Functionality Classification ◮ Security: Semi-Honest/Malicious ◮ Players: Two Party/Multi Party ◮ Output: Plain Intersection/Post-Processing Cui Hongrui (SJTU) PSI October 17, 2019 4 / 27

  5. Literature of Private Set Intersection Paper Parties Security Building Blocks [PSZ14] 2 Semi-Honest OT(OPRF) [HEK12] 2 Semi-Honest GC,GMW [CHLR18] 2 Hybrid (leveled-)FHE [RR17] 2 Malicious OT(OPRF) [KMP + 17] n Semi-Honest OT(OPPRF) Table: Comparison of Different Private Set Intersection Protocols Cui Hongrui (SJTU) PSI October 17, 2019 5 / 27

  6. Notations PSI Notations: ◮ X , Y ⊂ { 0 , 1 } σ : Input sets ◮ X ∗ , Y ∗ ⊂ { 0 , 1 } λ +log( | X | )+log( | Y | ) : Processed input sets ◮ � m − OT k � v : k instances of m -choose-1 oblivious transfer on v -bit 1 strings ◮ F PSM : Private set membership protocol (i.e. y ∈ X ) Cui Hongrui (SJTU) PSI October 17, 2019 6 / 27

  7. Notations Cuckoo Hashing Notations: ◮ B : Hash table “bins” ◮ m ∈ N : Hash table size ◮ h 1 , h 2 , h 3 : { 0 , 1 } ∗ → [ m ]: Hash function Cui Hongrui (SJTU) PSI October 17, 2019 7 / 27

  8. A Na¨ ıve PSI Protocol Compute Intersection on Hashed Values Sender Receiver X ∗ := { H ( x ) | x ∈ X } − − − − − − − − − − − → Output X ∩ Y := { y ∈ Y | H ( y ) ∈ X ∗ } X ∩ Y (optionally) ← − − − − − − − − − − Output X ∩ Y Cui Hongrui (SJTU) PSI October 17, 2019 8 / 27

  9. A Na¨ ıve PSI Protocol Why Na¨ ıve ◮ Hashed set X ∗ has the same entropy as X ◮ This entropy is usually low ◮ Feasible brute-force attack Cui Hongrui (SJTU) PSI October 17, 2019 9 / 27

  10. A Na¨ ıve PSI Protocol Why Na¨ ıve ◮ Hashed set X ∗ has the same entropy as X ◮ This entropy is usually low ◮ Feasible brute-force attack When the entropy is acceptable (e.g. 80 bits), this is secure. Cui Hongrui (SJTU) PSI October 17, 2019 9 / 27

  11. Content Introduction 1 PSI Literature Notations The Core of PSI Semi-Honest PSI 2 Cuckoo Hashing The Paradigm of [PSZ14] Malicious PSI 3 Malicious PSI via Dual Execution Multiparty PSI 4 Multiparty PSI from OPPRF Cui Hongrui (SJTU) PSI October 17, 2019 10 / 27

  12. Semi-Honest PSI ◮ 2-Party Semi-Honest PSI receives most attention ◮ State-of-the-art only incurs 1 − 10 times overhead Cui Hongrui (SJTU) PSI October 17, 2019 11 / 27

  13. Cuckoo Hashing Cuckoo Hashing ◮ A special hashing function ◮ Using eviction to resolve collision Cui Hongrui (SJTU) PSI October 17, 2019 12 / 27

  14. Cuckoo Hashing Insertion ◮ Let i = 1, compute index l = h i ( x ) ◮ If B [ l ] = ⊥ , then insert � x , i � ◮ If not, insert anyway $ ◮ Let � y , j � be the original content, let x := y i ← [3] \ { j } , goto step 1 If the process iterates more than t times, put the item in a stash s . Cui Hongrui (SJTU) PSI October 17, 2019 13 / 27

  15. Cuckoo Hashing Insertion ◮ Let i = 1, compute index l = h i ( x ) ◮ If B [ l ] = ⊥ , then insert � x , i � ◮ If not, insert anyway $ ◮ Let � y , j � be the original content, let x := y i ← [3] \ { j } , goto step 1 If the process iterates more than t times, put the item in a stash s . Lookup ◮ For inserted item x , there are only 3 + | s | possible locations Cui Hongrui (SJTU) PSI October 17, 2019 13 / 27

  16. Cuckoo Hashing Receiver: "Thin" Table Sender: "Thick" Table Cuckoo Hashing with h 1 ; h 2 Regular Hashing with h 1 ; h 2 T 1 [1] T 2 [1] . . . . . . T 1 [ h 1 ( x )] T 2 [ h 1 ( x )] . . . . . . T 1 [ h 2 ( x )] T 2 [ h 2 ( x )] . . . . . . T 1 [ m ] T 2 [ m ] Figure: Cuckoo Hash Table Cui Hongrui (SJTU) PSI October 17, 2019 14 / 27

  17. The Paradigm of [PSZ14] F PSI ≤ F PSM ◮ Receiver does cuckoo hashing, while the sender does regular hashing ◮ They then perform m instances of F PSM ( m = | B | ) Cui Hongrui (SJTU) PSI October 17, 2019 15 / 27

  18. The Paradigm of [PSZ14] F PSI ≤ F PSM ◮ Receiver does cuckoo hashing, while the sender does regular hashing ◮ They then perform m instances of F PSM ( m = | B | ) Discussion ◮ Most works in the semi-honest model follow this paradigm ◮ Various means to implement F PSM , e.g. OT, FHE, GC/GMW ◮ Cuckoo Hashing may be inherently unsuitable for malicious world Cui Hongrui (SJTU) PSI October 17, 2019 15 / 27

  19. Set Membership from Oblivious Transfer OT as OPRF ◮ F PSM from Oblivious PRF is quite easy � 2 σ ◮ (One-Time) Oblivious PRF can be considered some � − ROT 1 ◮ OT-Extension can efficiently implement this primitive Cui Hongrui (SJTU) PSI October 17, 2019 16 / 27

  20. A Brief Review on OT-Extension The idea is to “bootstrap” a large number of OT instances from a small number of base OT’s. Sender Receiver $ $ ← { 0 , 1 } m × v ← { 0 , 1 } v T 0 , T 1 b b j � 2 � − − − − − − − − → − OT v ( T 0 , j , T 1 , j ) ← − − − − − − − − − − − − − m T b , j 1 ← − − − − − − − − − C i = T i o ⊕ T i 1 ⊕ ECC( w i ) ← − − − − − − − − − − − − − Q i = T i b ⊕ s · C i Output ( s , Q i ) Output H ( i || T i 0 ) Cui Hongrui (SJTU) PSI October 17, 2019 17 / 27

  21. Set Membership from Homomorphic Encryption Naive Approach Sender Receiver Enc( pk , y ) ← − − − − − − − − − − − − − c =Eval( r · � x ∈ X ( y − x )) $ ← R q − − − − − − − − − − − − − − → r Output 1 if Dec( sk , c ) = 0 Output 0 otherwise Cui Hongrui (SJTU) PSI October 17, 2019 18 / 27

  22. Set Membership from Homomorphic Encryption Naive Approach Sender Receiver Enc( pk , y ) ← − − − − − − − − − − − − − c =Eval( r · � x ∈ X ( y − x )) $ ← R q − − − − − − − − − − − − − − → r Output 1 if Dec( sk , c ) = 0 Output 0 otherwise Several Optimizations ◮ Batching: reduce communication by n / d ◮ Partitioning: reduce polynomial degree by α ◮ Windowing: reduce circuit depth logarithmally ◮ Pre-Processing: reduce circuit depth by 1 Cui Hongrui (SJTU) PSI October 17, 2019 18 / 27

  23. Set Membership from General Framework The main advantage is arbitrary post-processing can be applied (by concatenation of circuits), but shuffling the output may be needed. Cui Hongrui (SJTU) PSI October 17, 2019 19 / 27

  24. Content Introduction 1 PSI Literature Notations The Core of PSI Semi-Honest PSI 2 Cuckoo Hashing The Paradigm of [PSZ14] Malicious PSI 3 Malicious PSI via Dual Execution Multiparty PSI 4 Multiparty PSI from OPPRF Cui Hongrui (SJTU) PSI October 17, 2019 20 / 27

  25. Malicious PSI via Dual Execution Ideas of [RR17]: Sender Receiver Randomly Permute X Randomly Permute Y x − − − − − − − − → F OPRF [ x ] i k i − − − − − − − − → ← − − − − − − − − − y ← − − − − − − − − F OPRF k ′ [ y ] ′ i ← − − − − − − − − i − − − − − − − − − → Q := { [ x ] i , j =[ x ] i ⊕ [ x ] ′ j } − − − − − − − − − − − − − − − − → Output X ∩ Y = { y |∃ i , [ y ] i ⊕ [ y ] ′ j ∈ Q } Cui Hongrui (SJTU) PSI October 17, 2019 21 / 27

  26. Optimizations It is possible to use regular hashing to reduce the quadratic complexity: ◮ Assuming n bins, log( n ) items per bin, the complexity is n log( n ) 2 ◮ Cuckoo hashing cannot be used here Cui Hongrui (SJTU) PSI October 17, 2019 22 / 27

  27. Content Introduction 1 PSI Literature Notations The Core of PSI Semi-Honest PSI 2 Cuckoo Hashing The Paradigm of [PSZ14] Malicious PSI 3 Malicious PSI via Dual Execution Multiparty PSI 4 Multiparty PSI from OPPRF Cui Hongrui (SJTU) PSI October 17, 2019 23 / 27

  28. Multiparty PSI The authors of [KMP + 17] proposed a simple protocol for semi-honest, multiparty PSI: ◮ Zero-Sharing ◮ Reconstruction Cui Hongrui (SJTU) PSI October 17, 2019 24 / 27

  29. Multiparty PSI The authors of [KMP + 17] proposed a simple protocol for semi-honest, multiparty PSI: ◮ Zero-Sharing ◮ Reconstruction The protocol heavily uses the Oblivious Programmable PRF functionality, which can be implemented from F OPRF and polynomial interpolation. Cui Hongrui (SJTU) PSI October 17, 2019 24 / 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend