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)
kangar.1297@email4.com
frame.153@email1.com
coral413@email4.com
defy.333@email3.com
clever_426@email3.com
X1 (Email Service 1)
luxury1150@email1.com πΊπΈ
puddin.1706@email1.com πΊπΈ
frame.153@email1.com πΊπΈ
intact342@email1.com πΊπΈ
judge562@email1.com πΊπΈ
X2 (Email Service 2)
embrac.206@email2.com πΊπΈ
brush1672@email2.com πΊπΈ
balanc_884@email2.com πΊπΈ
depend_809@email2.com πΊπΈ
pencil_1347@email2.com πΊπΈ
X3 (Email Service 3)
blue1510@email3.com πΊπΈ
clever_426@email3.com πΊπΈ
defy.333@email3.com πΊπΈ
dune668@email3.com πΊπΈ
consid.1758@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
a4911a...e89122
5a3a68...e4b915
7eabab...a0e237
782325...31c67f
44d01a...54c858
R1
d48f8a...75b77c & e2b29a...5b9f68
74b2d9...115f52 & 1e71a3...5f1d72
ce8260...c9de04 & 1a1e72...64ce0c
9eca6c...9c932f & 0e5a4d...55ea2e
f49479...51b202 & c094cc...980c5a
R2
52af97...23470b & 7acb25...b1a64c
caf134...c6f458 & 00c173...511a7a
1eddd8...e8a218 & 162dfb...c72907
fe190d...34d41f & f47d6e...d81900
08c8ae...1ffd4c & 122106...0c0877
R3
043f00...2fad73 & 4c352f...b20217
98d459...381e53 & c8b340...830801
f631a4...9dcf32 & 80bec8...119431
6495e7...c29e2f & 48c824...19a12b
fa3e8a...365d01 & b4b87a...822d61
Email Service 3 uses M, R3 to build a shuffled and encrypted table B.
M
a4911a...e89122
5a3a68...e4b915
7eabab...a0e237
782325...31c67f
44d01a...54c858
R (created by Service 3)
043f00...2fad73 & 4c352f...b20217
98d459...381e53 & c8b340...830801
f631a4...9dcf32 & 80bec8...119431
6495e7...c29e2f & 48c824...19a12b
fa3e8a...365d01 & b4b87a...822d61
B
6495e7...c29e2f & e7967f...211b51
f631a4...9dcf32 & b426be...c5dea0
043f00...2fad73 & 88ed4b...9fefa2
98d459...381e53 & 0551e2...278fe1
fa3e8a...365d01 & df9ec2...68e602
Intelligence Community computes the intersection size using B and the blinding key .