ysyszheng / Privacy-Auction

Privacy-preserving auction mechanism implemented using FHE/MPC.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Privacy Auction

Privacy-preserving auction mechanism implemented using FHE/MPC.

Dependencies

Name Version
CMake >= 3.14
vcpkg latest
OpenSSL 3.2.0
Python 3.8.16

Build and Run

Install vcpkg and thrird-party libraries. Change set(VCPKG_ROOT "/Users/yusen/opt/vcpkg") in CMakeLists.txt to your vcpkg path.

# install vcpkg
$ cd <YOUR_FAVORITE_DIR> # i.e. cd ~/opt
$ git clone https://github.com/microsoft/vcpkg
$ ./vcpkg/bootstrap-vcpkg.sh
# install third-party libraries
$ ./vcpkg/vcpkg install openssl

Clone the repository and cd to project root directory.

# build
$ cd <DIR> # SEAL or CCS22 or TFHE
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
# run
$ ./<APP_NAME> <PARAMS> # i.e. ./SEAL 10 20 when <APP_NAME> is SEAL and <PARAMS> are 10 and 20

Test

After build, in build directory.

# unit test
$ python3 ../tests/genTests.py --tests=<#TESTS> --bidders_max=<MAX #BIDDERS> --bitslen_max=<MAX LEN(BIDS IN BINARY)> # i.e. --tests=100 --bidders_max=20 --bitslen_max=32
$ ctest -V # -V for verbose

References

About

Privacy-preserving auction mechanism implemented using FHE/MPC.


Languages

Language:C++ 96.7%Language:CMake 1.7%Language:Python 1.0%Language:C 0.6%