These are examples to show you how to use Rosetta.
To help you understand the concepts easily, most of the examples have two parts, the first being the native Tensorflow version on centerized plaintext datasets, the second being the Rosetta version, which has the same functionality while running on secret-sharing 'ciphertext' datasets in a privacy-preserving way.
In order to run the examples smoothly, some dependencies need to be installed, as follows:
pip3 install matplotlib sklearn --userZero Knowledge Proof (ZKP) is a powerful cryptographic primitive. And Rosetta has integrated some cutting-edge ZKP protocols, such as Mystique. So in this tutorial, we will show you how to use this functionality in Rosetta.
Compiling Rosetta with ZKP protocol enabled
When You compile Rosetta, please make sure the --enable-protocol-zk is enabled, as follows:
./rosetta.sh compile --enable-protocol-zkNote that we rely on submodule emp-ot, emp-tool and emp-zk. So You may need to run command git submodule init and git submodule update after cloning from Rosetta repository.
During this compilation process, Rosetta will first try to install these libraries in
emp-toolkitmentioned above. So you may check whether these submodules' codes have been ready.
Enjoy it.