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)
siren_694@email1.com
habit606@email2.com
clutch_957@email4.com
height.1016@email4.com
since1389@email1.com
X1 (Email Service 1)
milk.218@email1.com πΊπΈ
exampl.1772@email1.com πΊπΈ
siren_694@email1.com πΊπΈ
young.89@email1.com πΊπΈ
since1389@email1.com πΊπΈ
X2 (Email Service 2)
patch.753@email2.com πΊπΈ
thing.39@email2.com πΊπΈ
habit606@email2.com πΊπΈ
panic_498@email2.com πΊπΈ
assume1929@email2.com πΊπΈ
X3 (Email Service 3)
thunde1589@email3.com πΊπΈ
unique.1233@email3.com πΊπΈ
bright_1462@email3.com πΊπΈ
licens464@email3.com πΊπΈ
duck_997@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
849d91...38494a
5ccf37...81ed5d
78dea0...bf9e41
3c23b4...34a223
a234f8...4af162
R1
c21f07...611001 & 0a9617...3ab80a
105471...3ba531 & 6c47b4...62bf74
d826b3...48270c & 309e18...6bc16a
445aa2...98800c & 06b93f...3fb07d
c8c7cc...8c9472 & c21405...0e4d69
R2
ea3013...a1c328 & e8eb59...cb0408
b431ea...d1d517 & f8e4dc...824524
9aeb0c...4e3d45 & bef479...259861
0410fa...f99274 & ae10d9...ac7020
fe5b34...e2df05 & f8ad36...f5fb4d
R3
3c888a...26f159 & 1efbeb...98ea59
1c3d13...77de24 & f66c14...39c51f
18c521...de3975 & b65c8f...1ec646
f4317f...c7b44d & 18fdad...43e51a
40de39...fc0624 & 3e214d...72d613
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
849d91...38494a
5ccf37...81ed5d
78dea0...bf9e41
3c23b4...34a223
a234f8...4af162
R (created by Service 3)
3c888a...26f159 & 1efbeb...98ea59
1c3d13...77de24 & f66c14...39c51f
18c521...de3975 & b65c8f...1ec646
f4317f...c7b44d & 18fdad...43e51a
40de39...fc0624 & 3e214d...72d613
B
f4317f...c7b44d & ae4bda...22bc8c
1c3d13...77de24 & ee269e...420730
3c888a...26f159 & 7e1581...cb1ed9
40de39...fc0624 & 3ae873...20959d
18c521...de3975 & 2e5469...c82fee
Intelligence Community computes the intersection size using B and the blinding key .