You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What if I want to perform a two-party calculation in a situation where three-party communication has already been established? It looks like you can only restart the service
#409
Closed
mingo0117 opened this issue
Sep 27, 2022
· 4 comments
For help: I have initialized a three-party computing environment by setting environment variables (os.environ and crypten.init()),parameters just like:
It works. But now I want to use only Alice and Bob for the two-party operation, and it is clear that the original environment variables are no longer applicable. So what's the solution, other than restarting the service? I've tried crypten.uninit(), set two-party environment variables, just like:
Hello,
Two quick ideas. Have you tried to run crypten.uninit() before changing the original environment variables, and crypten.init() after updating them? Also, have you issued crypten.uninit() from the rank 0 machine?
CrypTen assumes that all parties partake in all the computations and communication. You can uninit and init per @mohammad-alrubaie's suggestions but this is not very efficient: for example, it will cause PRZS seeds to always be reinitialized (which adds a round of communication) and re-does the rendezvous between parties.
I faced a similar problem recently and hacked up this, which implements a participating_parties context manager. The code snippet does require #393 to be merged. I hope this is helpful.
For help: I have initialized a three-party computing environment by setting environment variables (os.environ and crypten.init()),parameters just like:
It works. But now I want to use only Alice and Bob for the two-party operation, and it is clear that the original environment variables are no longer applicable. So what's the solution, other than restarting the service? I've tried crypten.uninit(), set two-party environment variables, just like:
and crypten.init(), but it still doesn't work (crypten.init() blocks).
Thx!
The text was updated successfully, but these errors were encountered: