mpz
mpz copied to clipboard
Multi-party computation libraries written in Rust 🦀
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....
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).
When running `cargo test --all-features` on my machine, I currently get some strange error:  **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
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...
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.