Git Product home page Git Product logo

dpfpsi's Introduction

DPFPSI

A C++ implementation of labeled Private Set Intersection from Distributed Point Function.

How to build

Vcpkg is a helpful package manager for C and C++. If you've never used vcpkg before, or if you're trying to figure out how to use vcpkg, check out their Getting Started section for how to start using vcpkg. Employing vcpkg, we install the dependencies for our DPFPSI by the following commands.

vcpkg install kuku
vcpkg install openssl
vcpkg install ms-gsl
vcpkg install boost-system 
vcpkg install boost-regex

Build

git clone --recursive https://github.com/lqvir/DPFPSI.git
mkdir build 
cd build 
cmake .. -DCMAKE_TOOLCHAIN_FILE=/your/path
cmake --build . 

Note

We invoke the Garble Circuit based OPRF in mobile_psi_cpp including an old version librelic which may fail to build by the error in 'mobile_psi_cpp/droidCrypto/relic/src/md/blake.h'. We can handle this error as follows:

// Update the line 64 in obile_psi_cpp/droidCrypto/relic/src/md/blake.h 
// ALIGNME( 64 ) typedef struct __blake2s_state
typedef struct __blake2s_state

// Update the line 89 in obile_psi_cpp/droidCrypto/relic/src/md/blake.h 
// ALIGNME( 64 ) typedef struct __blake2b_state
typedef struct __blake2b_state

dpfpsi's People

Contributors

lqvir avatar

Watchers

 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.