Paper 2019/518

Fast Database Joins and PSI for Secret Shared Data

Payman Mohassel, Peter Rindal, and Mike Rosulek


We present a scalable protocol for database joins on secret shared data in the honest-majority three-party setting. The key features of our protocol are a rich set of SQL-like join/select queries and the ability to compose join operations together due to the inputs and outputs being generically secret shared between the parties. Provided that all joins operate on unique primary keys, no information is revealed to any party during the protocol. In particular, not even the sizes of intermediate joins are revealed. All of our protocols are constant-round and achieve $O(n)$ communication and computation overhead for joining two tables of $n$ rows. These properties make our protocol ideal for outsourced secure computation. In this setting several non-colluding servers are setup and the input data is shared among them. These servers then perform the relevant secret shared computation and output the result. This model has recently been gaining traction in industry, e.g. Facebook's Crypten, Cape Privacy's TFEncrypted, Mozilla Telemetry. We additionally implement two applications on top of our framework. The first application detects voter registration errors within and between agencies of 50 US states, in a privacy-preserving manner. The second application allows several organizations to compare network security logs to more accurately identify common security threats, e.g. the IP addresses of a bot net. In both cases, the practicality of these applications depends on efficiently performing joins on millions of secret shared records. For example, our three party protocol can perform a join on two sets of 1 million records in 4.9 seconds or, alternatively, compute the cardinality of this join in just 3.1 seconds.

Note: Update for CCS 20

Available format(s)
Cryptographic protocols
Publication info
Published elsewhere. Minor revision. CCS '20: ACM Conference on Computer and Communications Security
Private Set IntersectionDatabaseJoinSecret Sharingthree party
Contact author(s)
peterrindal @ gmail com
2020-10-23: last of 3 revisions
2019-05-20: received
See all versions
Short URL
Creative Commons Attribution


      author = {Payman Mohassel and Peter Rindal and Mike Rosulek},
      title = {Fast Database Joins and {PSI} for Secret Shared Data},
      howpublished = {Cryptology ePrint Archive, Paper 2019/518},
      year = {2019},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.