Giter Site home page Giter Site logo

oprf-psi's Introduction

PSI From Lightweight OPRF

This is the implementation of our paper Private Set Intersection in the Internet Setting From Lightweight Oblivious PRF published in CRYPTO 2020 [eprint].

Installation

The implementation has been tested on Linux. To download the code and compile, run the following commands. It will also download and compile the libraries of libOTe, Boost, and Miracl.

$ git clone --recursive https://github.com/peihanmiao/OPRF-PSI.git
$ cd OPRF-PSI
$ bash compile

Running the Code

Parameters:

-r 0/1   to run a sender/receiver.
-ss      log of the set size on sender side.
-rs      log of the set size on receiver side.
-w       width of the matrix.
-h       log of the height of the matrix.
-hash    hash output length in bytes.
-ip      ip address (and port).

Examples:

$ ./bin/PSI_test -r 0 -ss 16 -rs 16 -w 609 -h 16 -hash 9 -ip 127.0.0.1
  & ./bin/PSI_test -r 1 -ss 16 -rs 16 -w 609 -h 16 -hash 9 -ip 127.0.0.1

$ ./bin/PSI_test -r 0 -ss 20 -rs 20 -w 621 -h 20 -hash 10 -ip 127.0.0.1
  & ./bin/PSI_test -r 1 -ss 20 -rs 20 -w 621 -h 20 -hash 10 -ip 127.0.0.1

Help

For any questions on building or running the library, please contact Peihan Miao at peihan at berkeley dot edu

oprf-psi's People

Contributors

peihanmiao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

oprf-psi's Issues

An illegal memory access bug that leads to Wrong PSI Results or Segmentation fault

Hi, I am trying to run your code with different parameters presented in Table 1 of your paper.
However, there is an illegal memory access bug that leads to Wrong PSI Results or Segmentation fault.

The parameters I used are as follows:
senderSize = 1 << 16; receiverSize = 1 << 10; width = 632; logHeight = 11; height = 1.2 * receiverSize; hashLengthInBytes = 9;
The results are as follows:
1
2

I have fixed this bug and opened a pull request.

Thx :)

Illegal instruction

I compile this project in ubuntu container with docker, when run it in Macos(Intel CPU), problem happen: Illegal instruction.
Is libOTe not suited for macos?

Failed to find boost

I change the dead link as the former issue does, but I got a new error in bashing the compile;

1650271443(1)

my gcc's version is 11.2 and 9.6.

Does the boost's version must newer than 1.66.0? Or must be 1.69.0;

I guess it is a problem of version ,but I dont get any useful solution.

Could you help me about that?

Thanks!

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.