[][src]Crate fancy_garbling

fancy-garbling provides boolean and arithmetic garbling capabilities.

Re-exports

pub use crate::error::FancyError;
pub use crate::static::*;

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.

dummy

Dummy implementation of Fancy.

error

Errors that may be output by this library.

informer

Informer runs a fancy computation and learns information from it.

static

Provides objects and functions for statically garbling and evaluating a circuit.

util

Tools useful for interacting with fancy-garbling.

Structs

BinaryBundle

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. Parallelizable.

Enums

Wire

The core wire-label type.

Traits

BinaryGadgets

Extension trait for Fancy providing gadgets that operate over bundles of mod2 wires.

BundleGadgets

Extension trait for Fancy which provides Bundle constructions which are not necessarily CRT nor binary-based.

CrtGadgets

Extension trait for Fancy providing advanced CRT gadgets based on bundles of wires.

Fancy

DSL for the basic computations supported by fancy-garbling.

FancyInput

Convenience functions for encoding input to Fancy objects.

HasModulus

An object that has some modulus. Basic object of Fancy computations.