-
Notifications
You must be signed in to change notification settings - Fork 40
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
std::out_of_range
in BitVector
#15
Comments
Unfortunately, |
Hmm, I'm not sure. Could the Beyond the I'm not a C++ expert, so if there is already a way to copy a |
But who then would own the The easiest way seems to me to just set up the channels repeatedly. A less easy way is probably to somehow extract the |
Our main difficulty with using MOTION is the need to handle MPC code like:
Of course, the code above won't work because
We can solve (1) by running each gate individually (which is what the original code in this issue is doing) and extract the secret-shared value. This works for Boolean and Arithmetic protocols, but not BMR. However, if we solve (1) as outlined above, we are re-creating the It would be preferable if we could write the following:
In the second call to How large / invasive a change would something like this be? Some example programs that require this kind of flexibility with intermediate revelation are tree-based ORAM constructions (e.g. Circuit ORAM) in which the position tag is revealed when reading from the ORAM, and secure sorting using a comparison-based sort on a shuffled array. |
That's some non-standard functionality. The good news is that It's possible to realize it without invoking It's also possible to implement a generic functionality that can handle multiple protocols like GMW, BMR, etc. I would usually implement it as multiple As a simple example of how the logic of a |
I should clarify that we are intending to use MOTION as a library for an MPC interpreter. In other words, programs like the ones I mentioned above would be provided by the user and our interpreter would run these user-defined programs using MOTION as a backend. I'll take a closer look at the I appreciate all your help! Thanks for following up so quickly. |
I think it should work if you implement your new gate in your own code. It should not be necessary to modify the MOTION code. |
I was playing around with MOTION and I'm getting a strange out of bounds exception. Here's a small example which will (hopefully) recreate the error.
I've just got one of the standard harnesses initializing everything.
This results in:
I'd really like to use MOTION for some of my own work, but I do need to be able to
Reset()
/Clear()
and then start a new computation based on pre-shared inputs.Is this a bug, or user error?
Thanks!
The text was updated successfully, but these errors were encountered: