privacy-scaling-explorations / mpz

Multi-party computation libraries written in Rust 🦀
182 stars 39 forks source link

Unbundle/rewrite `mpz-garble` #150

Open sinui0 opened 3 months ago

sinui0 commented 3 months ago

The mpz-garble crate is a bit of a mess as it was implemented on a deadline. It needs to be rewritten and unbundled.

Some high-level steps:

  1. Move all VM related abstractions into a dedicated crate.
  2. Decouple the Generator and Evaluator types from the VM abstractions. They should have simple APIs which do not operate on a memory type but simply execute a circuit with provided input encodings.
  3. Completely rewrite the VM memory implementation to be backed by linear memory and fix the clunky type representation model.