update VFL HE document (#6262)

* Create vfl_he

* Rename vfl_he to vfl_he.md

* upload fl_ckks.PNG

* Update vfl_he.md

* Update vfl_he.md

* Update overview.md
This commit is contained in:
Xin Qiu 2022-10-26 08:23:12 +08:00 committed by GitHub
parent 662628f4db
commit aea43b44d4
3 changed files with 18 additions and 2 deletions

View file

@ -20,4 +20,4 @@ The high-level architecture is shown in the diagram below. This includes the com
## Next steps
For detailed usage of BigDL PPML VFL, please see [User Guide](user_guide.md)
For BigDL PPML VFL with Homomorphic Encryption, please see [VFL HE](vfl_he.md)

View file

@ -0,0 +1,16 @@
# Vertical Federated Learning with Homomorphic Encryption
Vertical Federated Learning (VFL) is a federated machine learning case where multiple data sets share the same sample ID space but differ in feature space. To protect user data, data(partial output) passed to server should be encrytped, and server should be trusted and running in SGX environment. See the diagram below:
![](../images/fl_architecture.png)
In some cases, third party doesn't has a trusted computing environment, to run the BigDL FL server. So we introduce a new solution using Homomorphic Encryption to protect the data passed to FL server.
## System Architecture
The high-level architecture is shown in the diagram below.
![](../images/fl_ckks.PNG)
Different from VFL with SGX, this solution will encrypt all the data passed to FL server, using CKKS encryptor. Server only holds computing secrets to compute loss and gradient with the cipher data, server has not secrets to see what's inside the cipher data. So the data passed to server is very safe, even FL server is not protected by SGX.
## Quick Start Examples
* [VFL with Homomorphic Encryption](https://github.com/intel-analytics/BigDL/blob/main/scala/ppml/src/main/scala/com/intel/analytics/bigdl/ppml/fl/example/ckks/README.md): A example of VFL Logistic Regression with HE on census dataset.

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB