OpenMined / PySyft

Perform data science on data that remains in someone else's server
https://www.openmined.org/
Apache License 2.0
9.43k stars 1.99k forks source link

Porting HE libraries completely to Python #317

Closed deevashwer closed 6 years ago

deevashwer commented 6 years ago

The motivation behind this idea is to further the development of HE libraries viz. PyBV, PyAono, and potentially PyFV. Since more people are comfortable with Python and numpy, more people will be able to contribute to this project, which is currently the need of the hour. Moreover, this could serve as a mockup for faster CPU and GPU implementations. This will also solve the high maintenance issues that are persistent with the current Cython implementation. All in all, I urge everyone who's interested in homomorphic encryption to contribute to building this library. I'll positively roll out the initial version soon and make sure that it mirrors the interface provided by syft.he.paillier.

P.S. We're not restricted to just numpy, but the implementation has to be in Python. We're starting off with numpy, but in the near future, it could be that numpy doesn't have the functionality we need, in which case, we can use multiple libraries.

deevashwer commented 6 years ago

I'll hand it over to @iamtrask to decide the acceptance criteria for this library/collection of libraries, in case I've left anything.

iamtrask commented 6 years ago

Here's a first pass... thoughts?

Acceptance Criteria:

hohmannr commented 6 years ago

Looks like an interesting task. I'm currently working on new kernels for the GPU API, but if you need help just let me know on slack (OceanCoding aswell)

aeroaks commented 6 years ago

wondering about the status of this issue?