OpenMined / PySyft

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

Aono Tensor Demo #230

Closed iamtrask closed 6 years ago

iamtrask commented 7 years ago

Helium : Aono Tensor Demo

Background: One of the most valuable contributions of the PySyft library to the Cryptography and AI communities is our Tensor level abstractions of Homomorphic Encryption algorithms. This allows users with no knowledge of Encryption to perform Encrypted Linear Algebra using a wide variety of encryption techniques. In this (and similar) tickets, we want to extend this ability to new Homomorphic Encryption schemes, such that users with no knowledge of Encryption can empirically try out various backend encryption techniques for their front end use cases with minimal effort. As such, while the backend API will differ from Tensor to Tensor, we want the front-end Linear Algebra interface to be as similar as possible, and to give intuitive explanations if the API differs such that calling functions in an Encrypted Tensor that doesn't support those operations explains WHY that specific type of Encryption cannot support the operation (i.e., Paillier can't multiply two encrypted numbers together... perhaps you should try another backend Encryption scheme).

Part 1: User Stories

Part 2: Mockup

This Notebook is an excellent mockup of the functionality that we want to see with this new encrypted tensor class. It should be able to do all the operations in this notebook, with the added functionality of multiplication between two encrypted tensors (since that is explicitly supported by Aono).

Part 3: Acceptance Criteria

ivuckovic commented 7 years ago

I'd like to take this issue.

vasu-dev commented 7 years ago

I would also like to collaborate on this issue .

bharathgs commented 6 years ago

@ivuckovic @vasu-dev any updates on this?

ivuckovic commented 6 years ago

@bharathgs unfortunately not yet. I'm getting some errors when importing Aono into jupyter notebook so I'm working on resolving them.

ivuckovic commented 6 years ago

Just a quick note... it seems that I had problems with Pari library because I tried to install it from the source from http://pari.math.u-bordeaux.fr/ on a Ubuntu and that didn't work. There is a lot easier way, using Ubuntu package libpari-dev. Now I'll focus on closing this issue.