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)
two449@email4.com
strate_345@email4.com
peace_1867@email3.com
attitu.1932@email2.com
fiscal865@email1.com
X1 (Email Service 1)
fiscal865@email1.com πΊπΈ
dial.1924@email1.com πΊπΈ
cloud212@email1.com πΊπΈ
correc567@email1.com πΊπΈ
utilit_1578@email1.com πΊπΈ
X2 (Email Service 2)
attitu.1932@email2.com πΊπΈ
apolog618@email2.com πΊπΈ
forest304@email2.com πΊπΈ
pledge.101@email2.com πΊπΈ
throw_1554@email2.com πΊπΈ
X3 (Email Service 3)
slim_1850@email3.com πΊπΈ
decemb320@email3.com πΊπΈ
used285@email3.com πΊπΈ
peace_1867@email3.com πΊπΈ
huge.1969@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
f4f9a0...230a1c
1cbd88...52c351
601c18...be1f13
b25abd...dbfb3f
4a7f1d...431b14
R1
56a48a...45503d & c688bd...bbba32
8c7c75...166c4b & b8141f...9f4856
700b64...52aa0f & e26f52...bbc02a
8a1def...64b14e & 4cb0aa...75f421
2e40bb...61a31a & 4e8a5b...379f75
R2
38f0b5...ad773f & 5a38db...1bdd5c
f6a8bd...a4a45a & 24757c...1be621
0aca24...b0b031 & 88fa6d...9faa63
620bdf...0f373b & 168ca8...3acb4e
cecbef...5cfd0a & 8410d6...f5376c
R3
44e572...477b29 & 96d398...a28e11
ceb7f9...b2c739 & 9e30e7...5df552
0eb464...af6b76 & c03ee4...c32479
6c2277...07831f & 4ceabd...44446b
b2dd14...2c6909 & fcdb93...072324
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
f4f9a0...230a1c
1cbd88...52c351
601c18...be1f13
b25abd...dbfb3f
4a7f1d...431b14
R (created by Service 3)
44e572...477b29 & 96d398...a28e11
ceb7f9...b2c739 & 9e30e7...5df552
0eb464...af6b76 & c03ee4...c32479
6c2277...07831f & 4ceabd...44446b
b2dd14...2c6909 & fcdb93...072324
B
6c2277...07831f & 23fbbe...303516
44e572...477b29 & 68b1d9...a3cd18
b2dd14...2c6909 & a60c6c...14a48c
ceb7f9...b2c739 & a5f958...975c94
0eb464...af6b76 & 26d1f5...02d231
Intelligence Community computes the intersection size using B and the blinding key .