8000 GitHub - nhysteric/iPrivJoin: An unofficial implementation of iPrivJoin
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

nhysteric/iPrivJoin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An unofficial implementation of iPrivJoin

Build

Install vcpkg

Install kuku by vcpkg

git clone git@github.com:microsoft/vcpkg.git --depth 1
./vcpkg/bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install kuku

iPrivjoin

Clone:

git clone git@github.com:nhysteric/iPrivJoin.git --recursive

Change extern/volePSI/volePSI/SimpleIndex.cpp:276

#if !defined(NDEBUG) && defined(ENABLE_BOOST)
                auto B2 = get_bin_size(numBins, numBalls, statSecParam, false);
                assert(B2 <= B);
#endif
                return B;
            }
        }

to

#if !defined(NDEBUG) && defined(ENABLE_BOOST)
                auto B2 = get_bin_size(numBins, numBalls, statSecParam, false);
                // assert(B2 <= B);
                if (B2 > B)
                    return B2;
                else
                    return B;
#endif
            }
        }

Than compile:

cd iPrivJoin/extern/volePSI
python3 build.py -DVOLE_PSI_ENABLE_BOOST=ON
cd ../..
cmake --no-warn-unused-cli -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake  -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE  -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++  -DCMAKE_CXX_STANDARD=20 -B build .
cmake --build build

Change DCMAKE_TOOLCHAIN_FILE to your path of vcpkg,and make sure your compiler supports C++20.

Run

./build/iPrivJoin {config_name} {env_type}

A config is a TOML file, with fields and format as follows:

bins = 16384
funcs = 2
address = "localhost:8011"

pa_elems = 15500
pa_features = 15
pb_elems = 15500
pb_features = 14

Example:

./build/iPrivJoin example lan

You will find the output files under test/lan.

About

An unofficial implementation of iPrivJoin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0