Skip to content
Implementation of precomputed PSI for smartphone
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
PSIClient Initial commit Oct 12, 2017


Implementation of precomputed PSI for unequal set sizes for smartphone

By Ágnes Kiss, Thomas Schneider (ENCRYPTO, TU Darmstadt), Jian Liu, N. Asokan (Aalto University), and Benny Pinkas (Bar Ilan University)
in PoPETs 2017. Paper available here.

Our GC-PSI implementation uses FlexSC or ObliVMGC as a garbled circuit backend.


Our PSI implementation implements four PSI protocols in the precomputation setting in Java that can be run on Android smartphones. The four protocols are

  • RSA-PSI: The RSA Blind Signature based PSI protocol
  • DH-PSI: The Diffie-Hellman-based PSI protocol
  • NR-PSI: Naor-Reingold PRF-based protocol
  • GC-PSI: The AES GC-based PSI protocol



File System Structure

  • /PSIClient/ - Client implementation in Java to be run on a smartphone
  • /PSIServer/ - Server implementation in Java to be run on a PC

PSI implementation

  1. Clone a copy of the main MobilePSI git repository and its submodules by running:

    git clone --recursive git://
You can’t perform that action at this time.