Skip to content
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

How to use SPDZ: Alternative to DUMMY preprocessing? #312

Closed
mvonmaltitz opened this issue Oct 30, 2018 · 5 comments
Closed

How to use SPDZ: Alternative to DUMMY preprocessing? #312

mvonmaltitz opened this issue Oct 30, 2018 · 5 comments
Labels
Type: Question Issues with questions related to the project.

Comments

@mvonmaltitz
Copy link

I would like to use the SPDZ implementation provided by FRESCO.
SPDZ uses an offline phase for preprocessing in order to provide an efficient online phase for computation.
Question 1: Is it right, that using DUMMY as preprocessing strategy influences the performance of the online phase negatively?
Question 2: What technical steps do I have to do in order to let FRESCO execute SPDZ as intended (ie. a real preprocessing phase and probably a faster online phase)?

My goal is is use SPDZ in FRESCO as realistically as currently possible.
I already considered #34 and #112 and also did not find anything insightful in the documentation.

Thank you in advance!

@GuutBoy GuutBoy added the Type: Question Issues with questions related to the project. label Nov 1, 2018
@GuutBoy
Copy link
Contributor

GuutBoy commented Nov 1, 2018

As to question 1: The dummy preprocessing strategy is simply simulating having a real preprocessing strategy. It just makes the preprocessing material locally on the fly. The way it does so, should be pretty simple, so it shouldn't really have large impact on performance.

As to question 2: You need to setup the spdz resource pool to use the SpdzMascotDataSupplier. This may be a bit tricky. You could have a look on AbstractSpdzTest and see how it is set up for tests in the createResourcePool method. The result should be that MASCOT will be used to generate the preprocessed material.

@GuutBoy GuutBoy closed this as completed Nov 12, 2018
@GuutBoy
Copy link
Contributor

GuutBoy commented Nov 12, 2018

Closed this issue, as there does not seem to be any follow up questions.

If you need more help, please let us know.

@mvonmaltitz
Copy link
Author

mvonmaltitz commented Nov 28, 2018

Thank you for your timely answer, and sorry for my delay.
So as a takeaway I read that if I currently execute FRESCO with SPDZ and dummy preprocessing I already get the maximum speed SPDZ can currently achieve in FRESCO.
What is the downside of the dummy preprocessing then compared to MASCOT or Overdrive? Is it done in an insecure way?

@GuutBoy GuutBoy reopened this Nov 29, 2018
@GuutBoy
Copy link
Contributor

GuutBoy commented Nov 29, 2018

Yes, the dummy preprocessing is done in a completely insecure way. It's mainly meant for testing and demo's.

With preprocessing such as MASCOT or Overdrive, you may be able to do the preprocessing in advance and then save the resulting preprocessed material to use later in the online computation (#314 is working to support this). In that case the online computation would theoretically perform similar to when using the dummy preprocessing. Of course, doing the preprocessing would take much longer than the online computation.

@GuutBoy
Copy link
Contributor

GuutBoy commented Dec 5, 2018

I am closing this again. Let us know if there are any follow up questions.

@GuutBoy GuutBoy closed this as completed Dec 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Question Issues with questions related to the project.
Projects
None yet
Development

No branches or pull requests

2 participants