Closed gmuraru closed 4 years ago
Hey! I'm a sophomore at BITS Pilani Goa and am currently doing the Udacity course by openmined on secure AI. I've done Stanford's cs231n course and would love to work on this project. Could you please guide me on what I'd need to do to complete this task?
Hi @gmuraru I am Vineet Jain, a final year undergraduate student at IIT Kharagpur. I had experience in DL, TensorFlow, PyTorch, and PySyft. I had done my past summer internship in Federated Learning Project(where I had implemented FL on Raspberry pi's (as clients' server) using PySyft ) where I had used PySyft, Tensorflow federated learning, and Tensorflow Federated Core. I am interested in PySyft projects. I am looking forward to contributing!
Hello. Glad to see you are interested in the project :).
As a community, we are using the slack channel from here (it is a faster way to communicate).
I think some issues that are marked with good first issue
will help you get more accustomed to the codebase. Also, another great resource to learn more about PySyft are the tutorials -- they can be found in the examples folder.
If you have any further questions you can also contact me on the above mentioned slack channel. Our community is friendly and anyone can help you with any questions.
This issue has been marked stale because it has been open 30 days with no activity. Leave a comment or remove the stale
label to unmark it. Otherwise, this will be closed in 7 days.
Hi @gmuraru sir. I just wanted to ask, can I still contribute to this one? I mean, was this only the part of GSoC?
Hey @akshat1136. Sure, you can contribute to it :D
This issue has been marked stale because it has been open 30 days with no activity. Leave a comment or remove the stale
label to unmark it. Otherwise, this will be closed in 7 days.
BGV (Brakerski-Gentry-Vaikuntanathan) Homomorphic Encryption is one of the leading approaches to homomorphic encryption. While current work is underway within our community to wrap the SEAL homomorphic encryption library, this will have limited portability. However, algorithms that are natively implemented in PySyft can be automatically run across Python, GPUs, Javascript, Android (Kotlin), and iOS (Swift). Thus, it is very advantageous for us to re-implement BGV encryption from scratch.
The goal of this project will be to create a new tensor type that allows one to leverage BGV to perform encrypted tensor operations.
Required Skills:
Difficulty: Advanced
While the API aspects of this project are not complex (we have straightforward instructions for how to implement new tensor types), the BGV algorithm is non-trivial.
More details You can have a look at how the tensors are implemented in PySyft in
syft/frameworks/torch/tensors/interpreters/
. A tensor example that implements homomorphic encryption is the Paillier tensor (you can found it in the repo). The classes from the above-mentioned repository are an example of how someone could implement a SyftFramework Tensor.Some keypoint for the phases of the algorithms:
pytest
for the testing suite)