Skip to content

Privacy-preserving Secure Aggregation via Secreting Sharing

Notifications You must be signed in to change notification settings

ALIEN-orBoT/FLSA-via-SS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Background

Requirements

  • A Linux distribution(This project was developed and tested with recent versions of Ubuntu)
  • g++ (version >=10)
  • openssl
  • emp-ot

Getting started

Install dependencies

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.

Download the source

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 and Run

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

Usage example

  1. Run ./server 0 to start the first server
  2. In another window, run ./server 1 8 to start the second server
  3. In another window, run ./server 2 8 to start the third server
  4. In another window, run ./client 10 INTSUM 8 to run a meta-client that sends out client messages

Supported protocols

  • BITSUM
  • INTSUM
  • ANDOP / OROP
  • MAXOP / MINOP
  • FREQOP
  • MEDOP

To be updated...

About

Privacy-preserving Secure Aggregation via Secreting Sharing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published