snwagh / falcon-public

Implementation of protocols in Falcon
90 stars 46 forks source link

Are parties computing on same inputs? #14

Closed imtiyazuddin closed 2 years ago

imtiyazuddin commented 3 years ago

From the look of the code (especially neural network part), I got an impression that parties are actually computing on the same inputs (rather than having their own secret inputs and sharing them in MPC fashion). Please correct me if I am wrong.

I also found the following lines in the neural network code (secondary.cpp) //Some day check if this is right. It seems that all //parties use the same data which is not right.

How do I make parties compute on shares created on their secret inputs? kindly refer to an example file I might have missed

snwagh commented 3 years ago

Yes, it has been a pending todo. You'll have to make the code in secondary.cpp to be party specific, i.e., each party reads it's inputs from a different file.

For a reference code, you may look at these lines in secondary.cpp. The input share files names will be of some form like input_0, input_1, input_2 and then the code will help each party read the appropriate file into the appropriate RSS component.

There is no code to generate the share files right now (happy to pull in any commits you make on this end). The non-secure version for testing purposes can be created easily by setting one of the files to be the raw data and the rest of the files to be zeros of the same size.

imtiyazuddin commented 2 years ago

Thanks!!