ammartahir24 / SecureAggregation

An implementation of Secure Aggregation algorithm based on "Practical Secure Aggregation for Privacy-Preserving Machine Learning (Bonawitz et. al)" in Python.
81 stars 20 forks source link
federated-learning python secure-aggregation

SecureAggregation

An implementation of Secure Aggregation algorithm based on "Practical Secure Aggregation for Privacy-Preserving Machine Learning (Bonawitz et. al)" in Python.

Dependencies: Flask, socketio and socketIO_client

pip install Flask

pip install socketio

pip install socketIO-client

Usage:

Client side:

Init:

c = secaggclient(host,port)

Give weights needed to be transmitted (originally set to zero)

c.set_weights(nd_numpyarray,dimensions_of_array)

Set common base and mod

c.configure(common_base, common_mod)

start client side:

c.start()

Server side:

init:

s = secaggserver(host,port,n,k)

where n is number of selected clients for the round and k is number of client responses required before aggregation process begins

start server side:

s.start()