Expand description
fancy-garbling provides boolean and arithmetic garbling capabilities.
Modules§
- circuit
- DSL for creating circuits compatible with fancy-garbling in the old-fashioned way, where you create a circuit for a computation then garble it.
- circuit_
analyzer - Fancy object to profile a fancy circuit and compute stats such as the multiplicative depth or the number of boolean and arithmetic gates in a circuit.
- classic
- Provides objects and functions for statically garbling and evaluating a circuit without streaming.
- dummy
- Dummy implementation of
Fancy. - informer
Informerruns a fancy computation and learns information from it.- 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
Bundle Gadgets - Arithmetic operations on wire bundles, extending the capability of
FancyArithmeticoperating on individual wires. - Arithmetic
Proj Bundle Gadgets - Arithmetic operations on wire bundles that utilize projection gates.
- Arithmetic
Wire - A marker trait indicating that the given
WireLabelinstantiation supports arithmetic operations. - Binary
Bundle Gadgets - Binary operations on wire bundles, extending the capability of
FancyBinaryoperating on individual wires. - 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. - Bundle
Gadgets - Extension trait for Fancy which provides Bundle constructions which are not necessarily CRT nor binary-based.
- CrtGadgets
- Extension trait for
Fancyproviding advanced CRT gadgets based on bundles of wires. - CrtProj
Gadgets - CRT gadgets that use projection gates.
- Fancy
- The
Fancytrait provides the basic set of operations possible in a garbled circuit. - Fancy
Arithmetic - Extension trait for
Fancythat provides arithmetic operations. - Fancy
Binary - Extension trait for
Fancythat provides binary operations. - Fancy
Proj - Extension trait for
Fancythat provides a projection gate, alongside methods that utilize projection gates. - 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.