pub trait FancyReveal: Fancy {
    fn reveal(&mut self, x: &Self::Item) -> Result<u16, Self::Error>;

    fn reveal_many(&mut self, xs: &[Self::Item]) -> Result<Vec<u16>, Self::Error> { ... }
    fn reveal_bundle(
        &mut self,
        x: &Bundle<Self::Item>
    ) -> Result<Vec<u16>, Self::Error> { ... } fn reveal_many_bundles(
        &mut self,
        xs: &[Bundle<Self::Item>]
    ) -> Result<Vec<Vec<u16>>, Self::Error> { ... } fn crt_reveal(
        &mut self,
        x: &CrtBundle<Self::Item>
    ) -> Result<u128, Self::Error> { ... } fn crt_reveal_many(
        &mut self,
        xs: &[CrtBundle<Self::Item>]
    ) -> Result<Vec<u128>, Self::Error> { ... } fn bin_reveal(
        &mut self,
        x: &BinaryBundle<Self::Item>
    ) -> Result<u128, Self::Error> { ... } fn bin_reveal_many(
        &mut self,
        xs: &[BinaryBundle<Self::Item>]
    ) -> Result<Vec<u128>, Self::Error> { ... } }
Expand description

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.

Required Methods

Reveal the contents of x to all parties.

Provided Methods

Reveal a slice of items to all parties.

Reveal a bundle to all parties.

Reveal many bundles to all parties.

Reveal a CRT bundle to all parties.

Reveal many CRT bundles to all parties.

Reveal a binary bundle to all parties.

Reveal many binary bundles to all parties.

Implementors