SpOT-Light: Lightweight Private Set Intersection from Sparse OT Extension
Benny Pinkas Mike Rosulek Ni Trieu Avishay Yanai
Presented by Cui Hongrui
October 18, 2019
PRTY (BIU&OSU) SpOT October 18, 2019 1 / 30
SpOT-Light: Lightweight Private Set Intersection from Sparse OT - - PowerPoint PPT Presentation
SpOT-Light: Lightweight Private Set Intersection from Sparse OT Extension Benny Pinkas Mike Rosulek Ni Trieu Avishay Yanai Presented by Cui Hongrui October 18, 2019 PRTY (BIU&OSU) SpOT October 18, 2019 1 / 30 Overview Introduction
PRTY (BIU&OSU) SpOT October 18, 2019 1 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 2 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 3 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 4 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 5 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 6 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 7 / 30
$
l
1
m
PRTY (BIU&OSU) SpOT October 18, 2019 8 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 9 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 10 / 30
Alice (Sender) Bob (Receiver) s
$
← {0, 1}l 2 1
l
s1, . . . , sl ¯ q1, . . . , ¯ ql ¯ t1, . . . , ¯ tl ¯ u1, . . . , ¯ ul T = t1|| . . . ||tl
u1|| . . . ||ul
C = (ey1 + . . . + eyn2 )l qi = ti ⊕ si · (ti ⊕ ui) Q =
. . . ||ql
Qj ⊕ s · P j = T j ⊕ s · Cj PRF F : {0, 1}κ × [N] → {0, 1} Input : Y = {y1, . . . , yn2} ⊂ [N] qi = F(¯ qi, 1) . . . F(¯ qi, N) ui = F(¯ ui, 1) . . . F(¯ ui, N) ti = F(¯ ti, 1) . . . F(¯ ti, N) Cj =
j ∈ Y 1l, j ∈ Y F((s, Q, P), j) = H(Qj ⊕ s · P j) F((s, Q, P), yi) = H(T yi), yi ∈ Y F((s, Q, P), y∗) = H(T y∗ ⊕ s · (P y∗ ⊕ Ry∗)), y∗ ∈ Y
PRTY (BIU&OSU) SpOT October 18, 2019 11 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 12 / 30
Alice (Sender) Bob (Receiver) s
$
← {0, 1}l 2 1
l
s1, . . . , sl ¯ q1, . . . , ¯ ql ¯ t1, . . . , ¯ tl ¯ u1, . . . , ¯ ul P Q(x) ⊕ s · P(x) = T(x) ⊕ s · (R(x) ⊕ P(x)) PRF F : {0, 1}κ × [N] → {0, 1} Input : Y = {y1, . . . , yn2} ⊂ [N] F((s, Q, P), x) = H(Q(x) ⊕ s · P(x)) F((s, Q, P), yi) = H(T(y)), y ∈ Y F((s, Q, P), y∗) = H(T(y∗) ⊕ s · (P(y∗) ⊕ R(y∗))), y∗ ∈ Y Q(x) := F(¯ q1, x)|| . . . ||F(¯ ql, x) T(y) := F(¯ t1, y)|| . . . ||F(¯ tl, y) U(y) := F(¯ u1, y)|| . . . ||F(¯ ul, y) R(y) := T(y) ⊕ U(y) P(y) interpolates {(y, R(y))}y∈Y Degree (n2 − 1) polynomial PRTY (BIU&OSU) SpOT October 18, 2019 13 / 30
Alice (Sender) Bob (Receiver) s
$
← {0, 1}l 2 1
l
s1, . . . , sl ¯ q1, . . . , ¯ ql ¯ t1, . . . , ¯ tl ¯ u1, . . . , ¯ ul P Q(x) ⊕ s · P(x) = T(x) ⊕ s · (R(x) ⊕ P(x)) PRF F : {0, 1}κ × [N] → {0, 1} Input : Y = {y1, . . . , yn2} ⊂ [N] F((s, Q, P), x) = H(Q(x) ⊕ s · P(x)) F((s, Q, P), yi) = H(T(y)), y ∈ Y F((s, Q, P), y∗) = H(T(y∗) ⊕ s · (P(y∗) ⊕ R(y∗))), y∗ ∈ Y Q(x) :=
q1, x)|| . . . ||F(¯ ql, x)
F(¯ t1, y)|| . . . ||F(¯ tl, y) U(y) := F(¯ u1, y)|| . . . ||F(¯ ul, y) R(y) := T(y) ⊕ U(y) P(y) interpolates {(y, R(y))}y∈Y Degree (n2 − 1) polynomial O = {H(Q(x) ⊕ s · P(x))}x∈X Input : X = {x1, . . . , xn1} ⊂ [N] O Outputs {y ∈ Y |H(T(y)) ∈ O} PRTY (BIU&OSU) SpOT October 18, 2019 14 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 15 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 16 / 30
1 for x ∈ X do 2
3 for x ∈ X do 4
PRTY (BIU&OSU) SpOT October 18, 2019 17 / 30
Alice (Sender) Bob (Receiver) s
$
← {0, 1}l 2 1
l
s1, . . . , sl ¯ q1, . . . , ¯ ql ¯ t1, . . . , ¯ tl ¯ u1, . . . , ¯ ul P1, . . . , Pm PRF F : {0, 1}κ × [N] → {0, 1} Input : Y = {y1, . . . , yn2} ⊂ [N] F((s, Q, P), x) = H(Q(x) ⊕ s · P(x)) F((s, Q, P), yi) = H(T(y)), y ∈ Y F((s, Q, P), y∗) = H(T(y∗) ⊕ s · (P(y∗) ⊕ R(y∗))), y∗ ∈ Y Q(x) := F(¯ q1, x)|| . . . ||F(¯ ql, x) T(y) :=
t1, y)|| . . . ||F(¯ tl, y)
u1, y)|| . . . ||F(¯ ul, y)
Pi(y) interpolates {(y||b, R(y||b))}y|b∈Bi Degree (⌈n2/m⌉) polynomial O1 = {H(Q(x||1) ⊕ s · Ph1(x)(x||1))}x∈X Input : X = {x1, . . . , xn1} ⊂ [N] O1, O2 Outputs {y ∈ Y |y ∈ Bhb(y) ∧ H(T(y||b)) ∈ Ob} Assign y ∈ Y to bins, using FindAssignment(Y, m, h1, h2) O2 = {H(Q(x||2) ⊕ s · Ph2(x)(x||2))}x∈X PRTY (BIU&OSU) SpOT October 18, 2019 18 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 19 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 20 / 30
1 Randomly choose q∗
2 Randomly choose a degree-(n2 − 1) polynomial P∗ over F and send to Alice.
1 Randomly choose t∗
2 Let O∗ = {T ∗(y)|y ∈ X ∩ Y } ∪ {ri
PRTY (BIU&OSU) SpOT October 18, 2019 21 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 22 / 30
1 P = InterpF({(y, R(y))|y ∈ Y }) 2 Output 1 iff. ∃x ∈ X \ Y s.t. dH(P(x), R(x)) < κ PRTY (BIU&OSU) SpOT October 18, 2019 23 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 24 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 25 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 26 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 27 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 28 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 29 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 29 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 29 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 29 / 30
PRTY (BIU&OSU) SpOT October 18, 2019 30 / 30