Closed iamtrask closed 6 years ago
@samsontmr this one could be split into sub-tasks too based on the underlying architecture (C, Blas, and CUDA tickets)
just a few inputs:
the existing phe
Python lib uses GMP underneath (when available:
https://github.com/n1analytics/python-paillier/blob/master/phe/util.py#L50) so the performance is already quite good
I am not too optimistic about how much boost we'd get from using GPUs; my best guess is that a gain will most likely only show when dealing with several ciphertexts in parallel (to eg encrypt vectors)
a (Python) lib where the encoding is decoupled from encryption would indeed be useful; the overflow detection built in phe
can sometimes get a bit in the way
based on this it would seem reasonable to me to go with phe
for now, and give this re-implementation task a somewhat low priority
@mortendahl given your feedback I'm inclined to agree.
assigned it to Lithium milestone (our latest one yet laid out), and it'll be a low priority there as well :)
Rumor has it that the folks who built python-paillier are about to release a CUDA version
Description: We are currently wrapping a Python implementation of the Paillier cryptosystem. While it is a great implementation, we want to be able to integrate one into our project a bit more closely. Furthermore, we would like to leverage lower level libraries for C, BLAS, and/or GPU integration when available. As such, this project endeavors to rebuild Paillier from scratch in a way that is more performant than the current (while also leaning on (ISSUE 12) for fixed point precision instead of having it deeply coupled to the encryption algorithm (as in python-paillier).
Acceptance Criteria: