Skip to content

yanmaoxuan/Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-

Medical data is often highly sensitive in terms of data privacy and security concerns. Federated learning, one type of machine learn- ing techniques, has been started to use for the improvement of the privacy and security of medical data. In the federated learning, the training data is distributed across multiple machines, and the learning process is performed in a collaborative manner. There are several privacy attacks on deep learning (DL) models to get the sensitive information by attackers. Therefore, the DL model itself should be protected from the adversarial attack, especially for applications using medical data. One of the solutions for this prob- lem is homomorphic encryption-based model protection from the adversary collaborator. This paper proposes a privacy-preserving federated learning algorithm for medical data using homomor- phic encryption. The proposed algorithm uses a secure multi-party computation protocol to protect the deep learning model from the adversaries. In this study, the proposed algorithm using a real-world medical dataset is evaluated in terms of the model performance.

Encrypted FL Main-Rel.ipynb is the main implementation run with Jupyter Notebook FLPyfhelin.py contains required method to run the implementation

Note that we're using Pyfhel 2.3.1 while the current /latest version as of June 2022 is Pyfhel 3.1.4. We noticed that there's difference on parameter name. In verions 2.3.1 parameter 'm' is refered to 'n' in version 3.1.4. So the key generation function will fail when you try to run it with Pyfhel 3.1.4.

About

Homomorphic-Encryption-and-Federated-Learning-based-Privacy-Preserving-CNN-Training-

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 60.5%
  • Python 39.5%