. . . . . . . .
encrypted computation
from lattices
Hoeteck Wee
ENS, Paris
dating + big data user . . . . . . . . dating + big data - - PowerPoint PPT Presentation
encrypted computation from lattices Hoeteck Wee ENS, Paris . . . . . . . . dating + big data user . . . . . . . . dating + big data user profile limit access? . . . . . . . . dating + big data user profile tall
. . . . . . . .
ENS, Paris
. . . . . . . .
user
. . . . . . . .
user profile
limit access?
. . . . . . . .
user profile tall ∧ dark ∧ handsome
. . . . . . . .
user profile (tall ∧ dark ∧ handsome) ∨ (phd ∧ cs)
. . . . . . . .
user me tall dark handsome cs math phd profile (tall ∧ dark ∧ handsome) ∨ (phd ∧ cs)
. . . . . . . .
user me tall dark handsome cs math phd profile (tall ∧ dark ∧ handsome) ∨ (phd ∧ cs)
. . . . . . . .
user me tall dark handsome cs math phd (tall ∧ dark ∧ handsome) ∨ (phd ∧ cs)
. . . . . . . .
user me tall dark handsome cs math phd profile (tall ∧ dark ∧ handsome) ∨ (phd ∧ cs)
. . . . . . . .
user me tall dark handsome cs math phd
collusion
profile (tall ∧ dark ∧ handsome) ∨ (phd ∧ cs)
. . . . . . . .
[GPSW06,SW05]
sender receiver f, M x, skx learns M ⇔ f(x) = 1
. . . . . . . .
[GPSW06,SW05]
sender receiver
security against collusions
receiver x′, skx′ + f, M x, skx learns M ⇔ f(x) = 1
. . . . . . . .
[GPSW06,SW05]
sender receiver receiver x′, skx′ + f, M x, skx learns M ⇔ f(x) = 1
2001 – 2013. shallow circuits
[BF01, CHK04, BB04, GPSW06, W09, LW10, LOSTW10, OT10, ...]
. . . . . . . .
[GPSW06,SW05]
sender receiver receiver x′, skx′ + f, M x, skx learns M ⇔ f(x) = 1
[Gorbunov Vaikuntanathan W 13, Boneh Gentry Gorbunov Halevi
Nikolaenko Segev Vaikuntanathan Vinayagamurthy 14]
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
collusion
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
Rcs, Rphd Rcs, Rmsc Rbio, Rphd
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
M ⊕ Rcs ⊕ Rphd Rcs, Rphd Rcs, Rmsc Rbio, Rphd
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
M ⊕ Rcs ⊕ Rphd Rcs, Rphd Rcs, Rmsc Rbio, Rphd
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
M ⊕ Rcs ⊕ Rphd Rcs, Rphd Rcs, Rmsc Rbio, Rphd
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
M ⊕ Rcs ⊕ Rphd Rcs, Rphd Rcs, Rmsc Rbio, Rphd
collusion
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
M ⊕ Rcs ⊕ Rphd Rcs, Rphd Rcs, Rmsc Rbio, Rphd
collusion
mix and match
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
M ⊕ Rcs ⊕ Rphd Rcs, Rphd Rcs, Rmsc Rbio, Rphd
collusion
mix and match
insecure against
collusions
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
M ⊕ Rcs ⊕ Rphd Rcs, Rphd Rcs, Rmsc Rbio, Rphd
mix and match
Key Idea.
[GVW13]
strings R → functions φ(·)
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
Rcs, Rphd Rcs, Rmsc Rbio, Rphd φcs(·), φphd(·) φcs(·), φmsc(·) φbio(·), φphd(·)
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
Rcs, Rphd Rcs, Rmsc Rbio, Rphd φcs(s), φphd(s) φcs(t), φmsc(t) φbio(u), φphd(u)
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
Rcs, Rphd Rcs, Rmsc Rbio, Rphd φcs(s), φphd(s) φcs(t), φmsc(t) φbio(u), φphd(u)
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
Rcs, Rphd Rcs, Rmsc Rbio, Rphd φcs(s), φphd(s) φcs(t), φmsc(t) φbio(u), φphd(u) φcs(s′), φphd(s′)
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
Rcs, Rphd Rcs, Rmsc Rbio, Rphd φcs(s), φphd(s) φcs(t), φmsc(t) φbio(u), φphd(u)
collusion
mix and match
φcs(t), φmsc(t) φbio(u), φphd(u)
. . . . . . . .
M
phd ∧ cs cs phd cs msc bio phd
Rcs, Rphd Rcs, Rmsc Rbio, Rphd φcs(s), φphd(s) φcs(t), φmsc(t) φbio(u), φphd(u)
collusion
mix and match
φcs(t), φmsc(t) φbio(u), φphd(u)
theorem.
[GVW13]
secure against collusions
works for general circuits
. . . . . . . .
theorem.
[GVW13]
secure against collusions
works for general circuits ∧ φcs φphd ∨ φ1 φ2 ∧ φ4 φ3 φout
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
lemma II .
Ai x f
small Hf x
A x G An xnG Hf x Af f x G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M Af · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M Af · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M Af · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
s[A1 − x1G | · · · | An − xnG]Hf,x skf = s(Af − f(x)G)
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M Af · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
s[A1 − x1G | · · · | An − xnG]Hf,x skf = sAf
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M Af · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
s[A1 − x1G | · · · | An − xnG]Hf,x · skf = sAf · skf
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M Af · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
s[A1 − x1G | · · · | An − xnG]Hf,x · skf = sP
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A, A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M, sA + e′ Af · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A, A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M, sA + e′ [A | Af] · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A, A1, . . . , An, P s[A1 − x1G | · · · | An − xnG] + e, sP + M, sA + e′ [A | Af] · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x [A1 − x1G | · · · | An − xnG]·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A, A1, . . . , An, P sAR + e, sP + M, sA + e′ [A | Af] · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x AR·Hf,x = Af − f(x)G
. . . . . . . .
sender receiver x, M f, skf learns M ⇔ f(x) = 0
A, A1, . . . , An, P sAR + e, sP + M, sA + e′ [A | Af] · skf = P
lemma II∗.
∀Ai, ∀x, ∀f, ∃ small Hf,x AR·Hf,x = Af − f(x)G
(−RHf,x
I
) G−1( 1
f(x)P)
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f learns f(x)
efficiency.
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest learns f(x)
efficiency.
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
efficiency.
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
construction.
digest = A1, . . . , An, Af
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
construction.
digest = A1, . . . , An, Af ciphertext ≈ s[A1 − x1G | · · · | An − xnG], sAf
. . . . . . . .
[Quach W Wichs 18, CDGGMP17]
alice bob x f digest ciphertext learns f(x)
construction.
digest = A1, . . . , An, Aˆ
f
where ˆ f = fhe.eval(f, ·) [GKPVZ13, GVW12, GVW15, ...]
. . . . . . . .
[A1 − x1G | · · · | An − xnG] · Hf,x = Af − f(x)G
[GGH15, CC17, GKW17, WZ17, CVW18]
. . . . . . . .
[A1 − x1G | · · · | An − xnG] · Hf,x = Af − f(x)G
[GGH15, CC17, GKW17, WZ17, CVW18]
communication
// thank you
. . . . . . . .
internet
// thank you
. . . . . . . .
communication computation
// thank you
. . . . . . . .
big data internet
// thank you
. . . . . . . .
big data internet
// thank you
. . . . . . . .