Crate fancy_garbling
source · [−]Expand description
fancy-garbling
provides boolean and arithmetic garbling capabilities.
Re-exports
pub use crate::errors::FancyError;
Modules
DSL for creating circuits compatible with fancy-garbling in the old-fashioned way,
where you create a circuit for a computation then garble it.
Provides objects and functions for statically garbling and evaluating a
circuit without streaming.
Fancy object to compute the multiplicative depth of a computation.
Dummy implementation of
Fancy
.Errors that may be output by this library.
Informer
runs a fancy computation and learns information from it.Implementations of two-party secure computation.
Tools useful for interacting with
fancy-garbling
.Structs
Bundle which is explicitly binary representation.
A collection of wires, useful for the garbled gadgets defined by
BundleGadgets
.Bundle which is explicitly CRT-representation.
Streaming evaluator using a callback to receive ciphertexts as needed.
Streams garbled circuit ciphertexts through a callback.
Representation of a
mod-2
wire.Representation of a
mod-3
wire.Representation of a
mod-q
wire.Enums
The core wire-label type.
Traits
Arithmetic operations on wire bundles, extending the capability of
FancyArithmetic
operating
on individual wires.Marker trait indicating an arithmetic wire
Binary operations on wire bundles, extending the capability of
FancyBinary
operating
on individual wires.Extension trait for
Fancy
providing gadgets that operate over bundles of mod2 wires.Extension trait for Fancy which provides Bundle constructions which are not
necessarily CRT nor binary-based.
Extension trait for
Fancy
providing advanced CRT gadgets based on bundles of wires.DSL for the basic computations supported by
fancy-garbling
.DSL for arithmetic computation.
Fancy DSL providing binary operations
Convenience functions for encoding input to Fancy objects.
Trait to describe Fancy objects which can reveal outputs to both parties. For many
simple Fancy objects in this library such as Dummy, this is simply output. For Garbler
and Evaluator, it is more complicated since the BMR16 protocol outputs to the
Evaluator only.
An object that has some modulus. Basic object of
Fancy
computations.Trait implementing a wire that can be used for secure computation
via garbled circuits
Functions
Batch hashing of wires