Expand description
fancy-garbling provides boolean and arithmetic garbling capabilities.
Modules§
- circuit_
analyzer Fancyinstantiation for computing gate counts and multiplicative depth of aFancycircuit.- circuits
- Circuits for various operations.
- classic
- Provides objects and functions for statically garbling and evaluating a circuit without streaming.
- dummy
- Dummy implementation of
Fancy. - test_
circuits - A collection of test circuits.
- util
- Tools useful for interacting with
fancy-garbling.
Structs§
- Binary
Bundle - Bundle which is explicitly binary representation.
- Bundle
- A collection of wires, useful for the garbled gadgets defined by
BundleGadgets. - CrtBundle
- Bundle which is explicitly CRT-representation.
- Evaluator
- Streaming evaluator using a callback to receive ciphertexts as needed.
- Garbler
- Streams garbled circuit ciphertexts through a callback.
- Wire
Mod2 - Representation of a
mod-2wire. - Wire
Mod3 - Representation of a
mod-3wire. - Wire
ModQ - Representation of a
mod-qwire.
Enums§
Traits§
- Arithmetic
Wire - A marker trait indicating that the given
WireLabelinstantiation supports arithmetic operations. - Binary
Gadgets - Extension trait for
Fancyproviding gadgets that operate over bundles of mod2 wires. - Binary
Wire Label - The
BinaryWireLabelprovides the subroutines to implement AND gates for the garbler and evaluator incrate::fancy::FancyBinary. - Circuit
- Trait for defining computations over
Fancyobjects. - Circuit
Input Mapper - Trait for defining input-size-dependent
Circuits. - CrtGadgets
- Extension trait for
Fancyproviding advanced CRT gadgets based on bundles of wires. - Fancy
- The
Fancytrait is the core trait for writing circuits. - Fancy
Arithmetic - Extension trait for
Fancythat provides arithmetic operations. - Fancy
Binary - Extension trait for
Fancythat provides binary operations. - Fancy
Encode - Extension trait for
Fancythat provides encoding and receiving operations. - Fancy
Output - Extension trait for
Fancythat provides output operations. - Fancy
Proj - Extension trait for
Fancythat provides a projection gate, alongside methods that utilize projection gates. - Flatten
- Trait for flattening the output of a
Circuitinto a vector of wires. - HasModulus
- An object that has a modulus.
- Wire
Label - A trait that defines a wirelabel as used in garbled circuits.
Functions§
- hash_
wires - Hash a batch of wires, using the same tweak for each wire.