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

Standalone Rust FSS functionality #4

Open
tholop opened this issue Jan 7, 2021 · 0 comments
Open

Standalone Rust FSS functionality #4

tholop opened this issue Jan 7, 2021 · 0 comments
Assignees
Labels
Type: Refactor 🔨 A complete overhaul of a file, feature, or codebase

Comments

@tholop
Copy link
Member

tholop commented Jan 7, 2021

What?

Separate the Rust functionality from the Python wrapper in a neater way.

Why?

This would allow people who just care about Rust to use FSS directly, without the Python/Syft-friendly wrapper.
It will also make it easier to maintain, implement new FSS schemes, and attract contributors.

Breakdown

In Syft, our use-case for FSS is to generate large arrays of DPF and DIF keys with random alphas. This is not the most general use-case, where a user might just want to generate a single (alpha, beta)-DPF key. To support this, we would need to:

  • Separate the alpha/mask randomness generation from the (alpha, beta)-key generation. It means moving this line out of the Rust keygen:
    let mut rng = rand::thread_rng();
    . We can generate the randomness either in the Python wrapper, or in the SyMPC call.
  • It's a good opportunity to use cryptographically secure randomness (e.g. Torch CSPRNG)
  • Add support for arbitrary beta instead of beta=1
@tholop tholop added the Type: Refactor 🔨 A complete overhaul of a file, feature, or codebase label Jan 7, 2021
@tholop tholop self-assigned this Apr 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Refactor 🔨 A complete overhaul of a file, feature, or codebase
Projects
None yet
Development

No branches or pull requests

1 participant