#circuit #zero-knowledge #arithmetic-circuits

mcircuit

A library of tools for working with arithmetic circuits on generic fields

11 releases

0.1.10 Mar 3, 2022
0.1.9 Dec 3, 2021
0.1.8 Oct 25, 2021
0.1.7 Jul 30, 2021

#1796 in Cryptography

36 downloads per month
Used in reverie-zk

AGPL-3.0

99KB
2K SLoC

mcircuit

A library of types for working with boolean & arithmetic circuits

View on docs.rs

Features

  • : Circuit type
  • : I/O extraction
  • : Translations
  • : Plaintext Evaluation
  • : Import/Export

lib.rs:

MCircuit (pronounced mc-urkit) provides a series of types and traits for working with circuits. Specifically, arithmetic circuits on GF2 and Z64, the former of which are effectively boolean circuits. It is used by Reverie.

MCircuit includes:

  • A circuit parsing library for BLIF files
  • Code for evaluating circuits in its gate format
  • Traits for constructing, translating, and iterating over gates
  • Code to export circuits in the Bristol Fashion format

Dependencies

~3.5MB
~75K SLoC