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)
exist.1472@email4.com
depend.1991@email2.com
unawar.260@email4.com
edge.2037@email1.com
letter.1036@email1.com
X1 (Email Service 1)
flower_1095@email1.com πΊπΈ
egg1648@email1.com πΊπΈ
rude.1992@email1.com πΊπΈ
edge.2037@email1.com πΊπΈ
letter.1036@email1.com πΊπΈ
X2 (Email Service 2)
horn1980@email2.com πΊπΈ
depend.1991@email2.com πΊπΈ
wool.1222@email2.com πΊπΈ
swarm_860@email2.com πΊπΈ
tree311@email2.com πΊπΈ
X3 (Email Service 3)
lyrics809@email3.com πΊπΈ
relief.1028@email3.com πΊπΈ
shrug_301@email3.com πΊπΈ
anxiet_207@email3.com πΊπΈ
urban_1988@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
628aa2...eb0731
28a4e2...5c670d
6e039b...31fc1f
481fe1...125372
a8cc2f...6a4b4f
R1
b876d2...0d9b1f & ba52de...8caa13
d29d54...d71053 & 069cc7...090c75
dc08f6...1f9b5b & 8abc7b...b0e400
dec102...42a62f & a237ff...734f57
a462cc...806f68 & 9016a4...f80848
R2
42cf58...597316 & f60567...336400
62815b...30137b & 903411...cc0018
50ad80...a7b510 & a6afda...d7f634
4a7aa1...f8a73e & 344658...0a951a
b849e4...9cb871 & d26c40...ec496f
R3
da276c...ebbc5a & 70623f...16fe4e
6cf191...98200e & 88b556...fccd18
d25a66...2a6b4e & 72be29...e23c0e
eeb99d...e71211 & e4ce90...a0cb44
bc09ae...df7160 & b09764...f87140
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
628aa2...eb0731
28a4e2...5c670d
6e039b...31fc1f
481fe1...125372
a8cc2f...6a4b4f
R (created by Service 3)
da276c...ebbc5a & 70623f...16fe4e
6cf191...98200e & 88b556...fccd18
d25a66...2a6b4e & 72be29...e23c0e
eeb99d...e71211 & e4ce90...a0cb44
bc09ae...df7160 & b09764...f87140
B
bc09ae...df7160 & c41088...7f880b
da276c...ebbc5a & 37a64c...ad9d3b
6cf191...98200e & 964ec1...ed2249
eeb99d...e71211 & 1eeee7...3623cc
d25a66...2a6b4e & fa5de7...f9aa5e
Intelligence Community computes the intersection size using B and the blinding key .