NervanaSystems / he-transformer

nGraph-HE: Deep learning with Homomorphic Encryption (HE) through Intel nGraph
Apache License 2.0
221 stars 39 forks source link

Demoing Encryption Capabilities #224

Closed liv-daliberti closed 5 years ago

liv-daliberti commented 5 years ago

Hello,

I have successfully installed the library, including the python bindings. I've tested the MNIST example, and the ax.py example and I think I have a pretty fair understanding of how it all works (having read the nGraph-HE paper, the CKKS algorithm paper, and taken a look at the Microsoft SEAL Github account).

However, I was wondering if there were some way to view the encrypted data/models? I recognize that the data is being encrypted and then decrypted, but I can't seem to figure out how to view the encrypted data (or the keys, encryptors, and decryptors) without editing the c++ libraries on the backend in the src file area.

Is there a way to do this for demo purposes using python?

Thank you!

fboemer commented 5 years ago

Unfortunately we don't have a python wrapper, so you'd have to edit the C++ files.

liv-daliberti commented 5 years ago

Should I be editing the he_seal_executable.cpp file, or will it require me to go in and edit the headerfiles too?

Thank you for the quick reply!

fboemer commented 5 years ago

he_seal_executable.cpp basically tracks the various tensors used in the DL model and maps them to the ops. It depends on what exactly you'd like to do. Feel free to email me (fabian.boemer@intel.com) if you have more questions

liv-daliberti commented 5 years ago

I sent you a message at my work email. Thank you very much.

jayavanth commented 5 years ago

Sorry to resurrect this thread. Which functions in that file should I look at to get the encrypted data? Also, are there plans to expose python APIs?