-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output Shares Don't add up #1406
Comments
Please give a concrete example as well as the code and protocol you used. |
Hi Marcel, Sure. Here is the mpc code for matrix multiplication
Here is my modified Popen found in Processor.hpp
I save each output's share as well as MAC share into files, and then I mannually aggregate them to see if they are correct. |
I note your using a protocol with MAC. If it based on computation modulo a power of two, note that the space of the shares is different to the cleartext space and that there is extra randomness. See for example the SPDZ2k paper: https://eprint.iacr.org/2018/482 |
Oh I see. Actually my code is based on computation modulo prime 2305843009213693951. But I run the protocol with command
I thought the -lgp flag will give me the closest prime with 61 bit, hence my intended prime above. Was I using a wrong flag here? |
You can use |
Furthermore, 2305843009213693951 is unlikely to be usable with homomorphic encryption because it's not compatible with the number-theoretic transform. The prime has to 1 mod 2^15 (or a nearby power of two depending on the parameters). |
Hi marcel, I am using a new prime 18446744069414584321 which is compatible with NTT. However, when I run the code with command
I obtain this error
I generated triples and copy/paste to all 3 machines, but this error still exist. What am I missing here? |
You have to use the same |
Thank you so much ! |
Hi Marcel,
I am poking inside the function Popen() inside processor.hpp trying to understand how the reconstruction algorithm work.
Before program reach MC.exchange(), I manually print out all the shares as well as the MAC shares in a 3 party secario.
I try to add up those shares on paper, but found out that some of the final values are correct, while others aren't. Isn't the actual output the sum of party's share?
Thanks
The text was updated successfully, but these errors were encountered: