Skip to content

Commit

Permalink
Stripeli/bugfix/ssl fhe (#29)
Browse files Browse the repository at this point in the history
* Cleaning up and integrating fhe after code refactoring.

* Almost there. Fixing homomorphic encryption key generation and interoperability.

* removed federation initializer

* moved proto factory into proto dir; removed old fed env parser and utils in encryption

* removed redunant opt pb methods; parsed opt params in defenv

* removed uncessary imports

* removed optmizers from fed_env, fixed env generator

* ixed ssl certs; removed ssl stream from proto; moved create server entity into fedenv

* removed pre-generated cert; simplified resource path

* added CamelCase support for optimizer params

* renamaded target for controller; fedenv and fed env schema changes

* renamaded target for controller; fedenv and fed env schema changes

* removed defaults from controller main

* simplified cryptoparams path; fixed buy in fed env init

* refactored server entity to remove ssl stream; restored controller.so target due to  pybind error

* refactored server entity to remove ssl stream; restored controller.so target due to  pybind error

* renamed learner servicer to server

* fixed vars in grpc controller client

* fixed he bug

* schema and template changes

* added fhe paths in config

* fixes in keras model ops

* added _setup_fhe in fedenv

* added get_fhe_dir in config

* added _setup_fhe and renamed public methods to encrypt/decrypt in homomorphic.py

* controller so target restore in setup.py

* import fix in scalability testing example

* Final fixes.

* Extending encryption schemes to support masking.

* Fixed test cases and demos.

* Fixed ssl and brought back ssl streams and ssl files protos. Each proto has its own unique reason of existence. This is not explained in the implementation. Added optimizer functionality without enforcing proto structure. Almost finalized the Encryption module API and refactoring encryption function calls from controller and model modules.

* Changed PWA to SecAgg. Defined EncryptionScheme API.

* Rearranged the testing use cases path.

---------

Co-authored-by: Panagiotis Kyriakis <[email protected]>
  • Loading branch information
stripeli and pkyriakis authored Jul 28, 2023
1 parent d316606 commit 61fdeb3
Show file tree
Hide file tree
Showing 167 changed files with 3,339 additions and 4,655 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ fabric.properties
/production
/.sass-cache
# Bazelisk version file
.bazelversion
# .bazelversion
# User-specific .bazelrc
user.bazelrc

Expand Down Expand Up @@ -135,7 +135,7 @@ user.bazelrc
/venv*
/.venv/*
/.venv
__pycache__/
**/__pycache__
.build/*
build/*
**experiment.json
4 changes: 2 additions & 2 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ py_wheel(
":py39": "cp39",
":py310": "cp310",
}),
# TODO: Make sure to sync req with txt
# TODO(@panoskyriakis): Make sure to sync req with txt
requires = [
"cloudpickle>=2.2.1",
"fabric>=3.1.0",
Expand All @@ -103,7 +103,7 @@ py_wheel(
"torch>=2.0",
"scikit-learn>=1.2.2",
"scipy>=1.10.1",
"tensorflow<=2.11",
"tensorflow>=2.0,<2.13.0",
"termcolor>=2.3.0",
"tensorflow>=2.0",
],
Expand Down
2 changes: 1 addition & 1 deletion build_docker.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
IMAGE_NAME="${1:-nevron/ubuntu_focal_x86_64_py38}"

IMG_LS=$(docker images | awk '$1 ~ /"$IMAGE_NAME"/ { print $1 }')
IMG_LS=$(docker images | awk '$1 ~ /"$IMAGE_NAME"/ { print $1 }')
nevron/ubuntu_focal_x86_64_py38
if [[ $IMG_LS == "" ]]; then
echo "Image $IMAGE_NAME not found. Pulling.."
Expand Down
58 changes: 0 additions & 58 deletions examples/cifar/template.yaml

This file was deleted.

This file was deleted.

Loading

0 comments on commit 61fdeb3

Please sign in to comment.