Giter Site home page Giter Site logo

chengguan3 / libpsi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from osu-crypto/libpsi

0.0 0.0 0.0 17.15 MB

A repository for private set intersection.

License: Other

C++ 97.62% C 0.07% PowerShell 0.09% CMake 1.48% Gnuplot 0.72% Shell 0.02%

libpsi's Introduction

libPSI

A repository for private set intersection. Most protocols were written just for benchmarking them while (RR17,KKRT,Mea86=ECDH) can be run from the command line and take a file as input. Run the program for details.

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)
  • Semi-Honest Secure DRRT18 based on cuckoo hashing, PIR and OTs (fastest unbalanced)

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 . -DENABLE_XXXX=ON
make

here, -DENABLE_XXXX should refer to the public key library used with libOTe, i.e. -DENABLE_RELIC, -DENABLE_MIRACL, or -DENABLE_SIMPLESTOT_ASM.

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 [email protected] for any assistance on building or running the library.

libpsi's People

Contributors

ladnir avatar ladnir2 avatar dd23 avatar nitrieu avatar fumiyukikato avatar erik-buchholz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.