- A Linux distribution(This project was developed and tested with recent versions of Ubuntu)
- g++ (version >=10)
- openssl
- emp-ot
Make sure that you have g++ installed.Check that you have installed correctly by running:
$ g++ --version
You should see something like:
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Download and install the openssl,emp-ot,and the git tools. On Ubuntu, you should be able to install the g++,openssl and git tools with
$ sudo apt-get install g++ git libssl-dev
And follow the links above to install the emp-ot.
Clone the git repository by running:
$ git clone https://github.com/ALIEN-orBoT/FLSA-via-SS.git
Enter the Framework directory: cd FLSA-via-SS
Compile the program with:
$ g++ server.cxx net_share.cxx ot.cxx -o server -lssl -lcrypto
$ g++ client.cxx net_share.cxx -o client
Then the binaries will generate:
- server: Runs a server instance
- client: Mimics a cluster of individual clients The code runs three servers, 0, 1 and 2, each of which needs to be started separately.
- Server arguments are
server_num max_bits
- Client arguments are
num_inputs operation max_bits
- Run
./server 0
to start the first server - In another window, run
./server 1 8
to start the second server - In another window, run
./server 2 8
to start the third server - In another window, run
./client 10 INTSUM 8
to run a meta-client that sends out client messages
- BITSUM
- INTSUM
- ANDOP / OROP
- MAXOP / MINOP
- FREQOP
- MEDOP
To be updated...