mpz icon indicating copy to clipboard operation
mpz copied to clipboard

Multi-party computation libraries written in Rust 🦀

Results 59 mpz issues
Sort by recently updated
recently updated
newest added

This PR adds comments to clarify: - we are proving the authenticity of the circuit output - other minor points

Right now the backing type of `Block` is `[u8; 16]` as it was simple to start with. However, core arrays can not always take advantage of auto-vectorization/SIMD for important operations....

enhancement
good first issue

The half-gate garbling scheme supports "privacy-free garbling" which reduces bandwidth usage by 50%. Implement this in `mpz-garble-core`, and following that we can utilize it in DEAP.

With the security of KOS called into question #10 , we should deprecate it in favor of an implementation of [SoftSpokenOT](https://eprint.iacr.org/2022/192). Reference impl available from [libOTe](https://github.com/osu-crypto/libOTe/tree/ad07f27b9ab229fa1d64ee642798c16ea5d8813f/libOTe/TwoChooseOne/SoftSpokenOT).

enhancement
good first issue
help wanted

When running `cargo test --all-features` on my machine, I currently get some strange error: ![Screenshot_2023-09-16_19-27-02](https://github.com/privacy-scaling-explorations/mpz/assets/24564138/0af71a4f-5dcd-4210-a83e-5d050ecb0e76) **lldb stack** ``` * thread #9, name = 'chou_orlandi::t', stop reason = signal SIGABRT *...

https://github.com/fizyk20/generic-array/pull/138 has been merged. Once RustCrypto crates adopt it, eg `cipher`, we should take advantage of this to get rid of transmutes in our `Block` impl introduced in #59

good first issue

I just realized there is an predicate attack against our current DEAP impl we overlooked which doesn't require malicious garbling or OT to perform. The `Follower` simply has to choose...

Currently iterative extension is disabled for our KOS implementation due to no reference which considers the security of doing so. The correlation check itself is already called into queston by...

research

Currently low-level Ristretto details are leaked into our CO15 impl. (//TODO show which details once the PR is merged) We can hide those details behind a `Point` (or `PublicKey`) module.