This repository focuses on performing PCA on encrypted data. It uses CKKS homomorphic scheme to perform computations on encrypted data. To use this repository, clone the repo and type :-
cd Homomorphic_PCA
python3 pca.py
For implementing CKKS homomorphic scheme, we have used SEAL-Python(python binding for the Microsoft SEAL library) Dependencies required for this repository are:-
- Seal-Python
- PIL
- sklearn
The read_data.py
file supports reading of 7 datasets that were used for experimentation. The Yale face dataset has been provided in the repository. Other datasets that are supported are:-