Analysis updated 2026-07-25 · repo last pushed 2023-09-11
Build systems for secure multi-party computation by expressing calculations as circuits.
Translate and evaluate circuits for zero-knowledge proof systems.
Import and export circuit representations between different cryptography tools.
Run plaintext evaluations of circuits on real values for testing and verification.
| trailofbits/mcircuit | archledger/irlume | codeitlikemiley/waz | |
|---|---|---|---|
| Stars | 9 | 9 | 9 |
| Language | Rust | Rust | Rust |
| Last pushed | 2023-09-11 | — | 2026-07-09 |
| Maintenance | Dormant | — | Active |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 3/5 | 4/5 |
| Audience | researcher | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Rust library requiring familiarity with Cargo and circuit concepts, limited README detail means you'll need to consult docs.rs for API specifics.
mcircuit is a building-block library for programmers working with boolean and arithmetic circuits, the mathematical structures that underpin advanced cryptography and secure computation. Think of it as a set of tools that lets you represent, manipulate, and evaluate circuits as data, rather than having to build that infrastructure from scratch. At a high level, a "circuit" here is a way to break down a computation into simple steps, similar to how a physical circuit processes electrical signals. Boolean circuits work with true/false logic, while arithmetic circuits handle addition and multiplication. The library gives you a way to define these circuits as structured data, extract their inputs and outputs, translate them between different representations, and run "plaintext evaluation", meaning you can actually execute the circuit on real values to see what it produces. It also supports importing and exporting circuits, so you can move them in and out of different tools or storage formats. The people who would use this are typically cryptography researchers or engineers working on secure multi-party computation, zero-knowledge proofs, or related fields. For example, if a team is building a system where multiple parties want to jointly compute something without revealing their individual inputs, they need to express that computation as a circuit. This library handles the plumbing, storing the circuit, transforming it, and running test evaluations, so the team can focus on the higher-level protocol. The project was developed with DARPA funding, which signals that it's oriented toward serious research and government-relevant applications. It's worth noting that this is a Rust library, meaning it's meant to be embedded inside other software rather than used as a standalone app. There's no user interface or command-line tool here, it's purely for developers who need these circuit operations in their own code. The README doesn't go into much detail on supported file formats or specific translation modes, so anyone evaluating it for production use would want to check the API documentation on docs.rs for the finer points.
A Rust library for representing, manipulating, and evaluating boolean and arithmetic circuits, the math structures behind advanced cryptography and secure computation.
Mainly Rust. The stack also includes Rust.
Dormant — no commits in 2+ years (last push 2023-09-11).
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.