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:
Move all VM related abstractions into a dedicated crate.
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.
Completely rewrite the VM memory implementation to be backed by linear memory and fix the clunky type representation model.
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:
Generator
andEvaluator
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.