Estimating Incidental Collection in Foreign Intelligence Surveillance
Large Scale Multiparty Private Set Intersection with Union and Sum
Instructions
This example is a gross simplification. Please refer to the paper for the exact protocol. In this example, there are 4 participants: Intelligence Community, Email Service 1, Email Service 2, Email Service 3. For simplicity, all participants have input tables of the same size. Hover over each table to view a list of participants it is visible to. Random tables can be generated by selecting the table and intersection sizes below.
5
3
Setup
Each participant builds an input table consisting of email addresses. Intelligence Community's input table X0 contains all addresses they incidentally collected emails to or from. Service providers' input tables X1, X2, X3 contain all email addresses believed to be controlled by users located in the U.S. πΊπΈ
X0 (Intelligence Community)
basic_549@email4.com
black.1175@email3.com
mango.1688@email4.com
group1715@email2.com
visual_1105@email2.com
X1 (Email Service 1)
inflic.545@email1.com πΊπΈ
electr986@email1.com πΊπΈ
half.1268@email1.com πΊπΈ
cry_308@email1.com πΊπΈ
absurd1131@email1.com πΊπΈ
X2 (Email Service 2)
visual_1105@email2.com πΊπΈ
quit_188@email2.com πΊπΈ
task.1404@email2.com πΊπΈ
group1715@email2.com πΊπΈ
casual.1030@email2.com πΊπΈ
X3 (Email Service 3)
van_1826@email3.com πΊπΈ
canoe_1093@email3.com πΊπΈ
black.1175@email3.com πΊπΈ
virus.1977@email3.com πΊπΈ
saddle.1669@email3.com πΊπΈ
Protocol
The Intelligence Community generates a random blinding key and blinds its input table as elliptic curve points in M.
Email Service 1 uses M, X1 to build R1. Email Service 2 uses M, X2, R1 to build R2. Email Service 3 uses M, X3, R2 to build R3. R1, R2, and R3 contain two elliptic curve points in each row.
M
3048b7...10c975
f82861...497e05
cae0d7...db0141
2c3a7f...73fd60
b6c93e...7b6942
R1
2cfa15...225e71 & 48c9d0...dbde4e
144f2e...26411a & 9252d2...496018
0a2e5e...eb4237 & 86dd4e...02c47c
323b79...426a10 & 86ff8e...18db4c
968c24...415074 & ca6e83...898c1e
R2
ec5013...49454b & 0e31ba...4d8961
20d3dc...c0c72a & 80e845...5c590b
644976...a18a15 & 4eaffd...017e5a
4899c8...966222 & d84dbb...5b505e
ea5fa8...f0df3c & a03e07...9cc32b
R3
e60483...a39039 & fc8fbc...e94930
da5d2a...fcbd7f & fa87a6...cd2b53
7809ee...0d8f10 & b41b2c...f04659
74b0d7...d8b44e & 8aa1f9...c29a22
42b848...e86671 & 7c0981...cbeb37
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
3048b7...10c975
f82861...497e05
cae0d7...db0141
2c3a7f...73fd60
b6c93e...7b6942
R (created by Service 3)
e60483...a39039 & fc8fbc...e94930
da5d2a...fcbd7f & fa87a6...cd2b53
7809ee...0d8f10 & b41b2c...f04659
74b0d7...d8b44e & 8aa1f9...c29a22
42b848...e86671 & 7c0981...cbeb37
B
da5d2a...fcbd7f & c64d35...c530ab
74b0d7...d8b44e & 733b4d...b950a2
7809ee...0d8f10 & 0c2276...69eddd
42b848...e86671 & 47c1d9...319e24
e60483...a39039 & 5f048d...c47ae4
Intelligence Community computes the intersection size using B and the blinding key .