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

BV Tensor Demo #229

Closed iamtrask closed 6 years ago

iamtrask commented 7 years ago

Helium : BV 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 BV).

Part 3: Acceptance Criteria

cosmadrian commented 6 years ago

I'll have a take on this one, if it's available.

iamtrask commented 6 years ago

go for it!

biocrypto730 commented 6 years ago

Can I see the code for this tensor? Links to it have been removed?