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

Add Ferret-core #90

Merged
merged 24 commits into from
Mar 14, 2024
Merged

Conversation

xiangxiecrypto
Copy link
Collaborator

  1. Add the core building blocks of Ferret (without network IO).
  2. It can still be further optimized when integrated with network IO, which needs COT implementation.

@xiangxiecrypto
Copy link
Collaborator Author

Let me merge MPCOT and update accordingly.

@sinui0 sinui0 self-requested a review February 8, 2024 03:25
@sinui0
Copy link
Collaborator

sinui0 commented Feb 8, 2024

#87 is merged, you should be able to rebase

Copy link
Collaborator

@sinui0 sinui0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Just a couple minor adjustments needed, otherwise lgtm :)

ot/mpz-ot-core/src/ferret/msgs.rs Outdated Show resolved Hide resolved
Comment on lines +36 to +38
delta: Block,
lpn_parameters: LpnParameters,
lpn_type: LpnType,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we move these to new?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let us keep it here for now, the new function is only a default instantiation without any specific parameters.

ot/mpz-ot-core/src/ferret/mod.rs Outdated Show resolved Hide resolved
ot/mpz-ot-core/src/ferret/sender.rs Outdated Show resolved Hide resolved
Comment on lines +38 to +40
lpn_parameters: LpnParameters,
lpn_type: LpnType,
seed: Block,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These can be moved to new as well

ot/mpz-ot-core/src/ferret/receiver.rs Outdated Show resolved Hide resolved
ot/mpz-ot-core/src/ferret/receiver.rs Outdated Show resolved Hide resolved
ot/mpz-ot-core/src/ferret/receiver.rs Outdated Show resolved Hide resolved
/// * `receiver_msg` - The message that the ideal MPCOT sends to the receiver.
/// * `alphas` - The positions in each extension.
/// * `n` - The length of the vector.
pub fn check(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please pull out into a standalone function gated with #[cfg(test)]

ot/mpz-ot-core/src/ideal/mod.rs Outdated Show resolved Hide resolved
@sinui0 sinui0 merged commit a6127ce into privacy-scaling-explorations:dev Mar 14, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants