A repository for private set intersection.
C++ CMake Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
frontend
libPSI
libPSI_Tests
libPSI_TestsVS
thirdparty
.gitignore
.gitmodules
CMakeLists.txt
ExternalDependancies.props
README.md
copySourceToLinux.ps1
libPSI.sln

README.md

libPSI

A repository for private set intersection.

Introduction

Protocols:

  • Malicious Secure RR17 based on simple hashing and OTs (fastest)
  • Malicious Secure RR16 based on Bloom filters and OTs
  • Malicious Secure DKT10 based on public key crypto (ECC)
  • Semi-Honest Secure KKRT16 based on cuckoo hashing and OTs (fastest)
  • Semi-Honest Secure Mea86 base on public key crypto (ECC)

Install

Our library is cross platform and has been tested on both Windows and Linux. The library should work on Mac but it has not been tested. There are several library dependencies including libOTe, Boost, Miracl. First follow the instructions at libOTe.

Windows

First clone and build libOTe. libOTe and libPSI should share the same parent directory. Then clone this library and open the solution in Visaul Studio.

Linux

libOTe and libPSI should share the same parent directory.

[libOTe clone build steps](https://github.com/osu-crypto/libOTe)
git clone https://github.com/osu-crypto/libPSI.git
cd libPSI
cmake .
make

Unit tests can be run by executing the program.

./bin/frontend.exe -u

Other options can be seen by executing with no arguments.

Help

Contact Peter Rindal rindalp@oregonstate.edu for any assistance on building or running the library.