-
Notifications
You must be signed in to change notification settings - Fork 48
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
Add crate mpz-ole-core
#135
Conversation
54e6667
to
edd298e
Compare
Ok I think you can take a look again. I did it similar to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work, lgtm.
Only 1 nit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gw! There are some comments, potentially blocking.
Since COPEe's computational security parameter depends on the Field size, can we also add a check that CSP >= Field::BIT_SIZE ?
Thanks! Let's address all of these minus sign comments in one batch. It all boils down to the question, if we implement COPE from the MASCOT paper as is, or if we build upon COPE to implement OLE. The difference is that COPE is Since OLE is the more modern and widely used functionality, I decided for the latter. Can we agree to proceed that way? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack, i agree it makes sense to take the a*b+x approach
Co-authored-by: dan <[email protected]>
- Add default for `BIT_SIZE` - Rename `BitSizeType` -> `BitSize`.
Co-authored-by: dan <[email protected]>
* Add generic support for ideal random OT. * Add crate `mpz-ole-core`. * Improved ideal ROT implementation and adapted tests in `mpz-ole-core`. * Remove unnecessary comment. * Add feedback. * Added `Serialize` and `Deserialize` for message types. * Return `Option` instead of `Result`. * Remove unused error enum. * Add transfer id. * Added using `TransferId` in new batch types. * Use `split_off` instead of `drain`. * Return correct number of OLEs from `consume`. * Use `VecDeque` for cache and please clippy. * Use `hybrid-array` and get rid of const generics. * Apply suggestions for improving comments Co-authored-by: dan <[email protected]> * Remove `ByteRepr` from `Field` trait. * Move from `MaskedInput` to `MaskedCorrelation` mental model. * Simplify array creation in `core/sender.rs`. * Add more feedback. - Add default for `BIT_SIZE` - Rename `BitSizeType` -> `BitSize`. * Add comment about which function is evaluated. Co-authored-by: dan <[email protected]> --------- Co-authored-by: dan <[email protected]>
* Add generic support for ideal random OT. * Add crate `mpz-ole-core`. * Improved ideal ROT implementation and adapted tests in `mpz-ole-core`. * Remove unnecessary comment. * Add feedback. * Added `Serialize` and `Deserialize` for message types. * Return `Option` instead of `Result`. * Remove unused error enum. * Add transfer id. * Added using `TransferId` in new batch types. * Use `split_off` instead of `drain`. * Return correct number of OLEs from `consume`. * Use `VecDeque` for cache and please clippy. * Use `hybrid-array` and get rid of const generics. * Apply suggestions for improving comments Co-authored-by: dan <[email protected]> * Remove `ByteRepr` from `Field` trait. * Move from `MaskedInput` to `MaskedCorrelation` mental model. * Simplify array creation in `core/sender.rs`. * Add more feedback. - Add default for `BIT_SIZE` - Rename `BitSizeType` -> `BitSize`. * Add comment about which function is evaluated. Co-authored-by: dan <[email protected]> --------- Co-authored-by: dan <[email protected]>
This PR adds the core crate for OLE, and makes ideal random OT more generic.