1. 'client.py' sits with the customer/client and include functions to generate and store the private and public key pair, it also consist of function to help decrypt the data files once received from the server.
2. 'server.py' and 'MachineLearningModel.py' sits on the server side where the scaler complex calculations can be done that includes Machine Learning algorithm.
3. These files would receive a 'json' object with encrypted data and use the weights from the model in 'MachineLearningModel.py' and do the explicit calculations in the 'server.py' file.
4. This file also includes method to package up the answer and return it back to the client; where, the file can be further decrypted.
Research Paper Title: Big Data Privacy Using Fully Homomorphic Non-Deterministic Encryption.
INSPEC Accession Number: 17030423
DOI: 10.1109/IACC.2017.0041
Date of Conference: 5-7 Jan, 2017.
Publisher: IEEE
Date Added to IEEE Xplore: 13 July, 2017.
Credits To:
Dr. Girish P. SSBT's COET (HOD. Computer Engineering Department).
Prof. Ashish B. SSBT's COET (Associate Professor. Computer Engineering Department).
Tejashree P. SSBT's COET (Alumni).
https://ieeexplore.ieee.org/document/7976775
You can also execute Homomorphic_Encryption in Gitpod, a free online dev environment for GitHub:
Please Note: The GUI is a little glithcy in GitPod. For best results expand the VNC window to be full screen.