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)
leaf_68@email3.com
picnic_1581@email4.com
slow_815@email3.com
armed.874@email4.com
equip738@email2.com
X1 (Email Service 1)
heavy107@email1.com πΊπΈ
again.2037@email1.com πΊπΈ
regret_5@email1.com πΊπΈ
elite.1685@email1.com πΊπΈ
povert1881@email1.com πΊπΈ
X2 (Email Service 2)
earn_825@email2.com πΊπΈ
increa_1255@email2.com πΊπΈ
update958@email2.com πΊπΈ
design.1872@email2.com πΊπΈ
equip738@email2.com πΊπΈ
X3 (Email Service 3)
screen1865@email3.com πΊπΈ
slow_815@email3.com πΊπΈ
garlic_1261@email3.com πΊπΈ
leaf_68@email3.com πΊπΈ
mechan_931@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
28576d...7e6e7f
284953...8ec10d
861ad2...a12118
fa67e3...293c34
d0042b...431925
R1
802365...37d816 & 9c59e4...232e04
46cd61...1f1564 & e8cb89...0ca925
143e7a...282a21 & e26b25...c32463
9adfc0...ad115b & 2c7f2e...f57c5b
9ef66d...46005d & 9467e7...7a620a
R2
2e0214...06017a & 182219...cd022e
0ead73...b5992e & e42991...862723
44cf5b...8a0f6b & 2632bc...99235d
0c6145...d6853a & 5cca04...435e72
089c44...6a5171 & 5a651a...94c646
R3
9c76b2...39b40b & 920382...0ae605
48478a...b61e59 & 663bcf...ca8476
ace2bc...fa0342 & aa068c...42dc5d
f8a4e3...b86f22 & 5404fd...73f129
52204a...2f6566 & 2445db...159002
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
28576d...7e6e7f
284953...8ec10d
861ad2...a12118
fa67e3...293c34
d0042b...431925
R (created by Service 3)
9c76b2...39b40b & 920382...0ae605
48478a...b61e59 & 663bcf...ca8476
ace2bc...fa0342 & aa068c...42dc5d
f8a4e3...b86f22 & 5404fd...73f129
52204a...2f6566 & 2445db...159002
B
f8a4e3...b86f22 & 928d7c...c5e70a
52204a...2f6566 & 0f2666...0c9690
9c76b2...39b40b & 9702e2...02276c
ace2bc...fa0342 & 92b969...137855
48478a...b61e59 & e6e295...ec9e37
Intelligence Community computes the intersection size using B and the blinding key .