Expand description

Scuttlebutt provides many utility functions for cryptographic applications.

Re-exports

pub use crate::channel::AbstractChannel;
pub use crate::channel::Channel;
pub use crate::channel::SymChannel;

Modules

Implementation of a bloom filter.
Module for encapsulating communication channels for swanky.
Implementation of a simple two-party coin tossing protocol using a PRG as a commitment.
A trait defining a Commitment Scheme and an implementation in the random oracle model using SHA256.
This module defines finite fields.
Helper types to make using the generic-array easier.
This module defines finite rings.
Serialization types for algebraic structures.
Useful utility functions.

Macros

This macro constructs a prime finite field using the ff library. The modulus and generator should be listed, along with the name, in build.rs.

Structs

AES-128, encryption only.
AES-256, encryption only.
AES-based correlation-robust hash function.
Implementation of a random number generator based on fixed-key AES.
A 128-bit chunk.
A 512-bit value.
An instantiation of the AbstractChannel trait which computes a running hash of all bytes read from and written to the channel.
A channel that implements AbstractChannel as well as Send and Sync.
A channel wrapping another channel for tracking the number of bits read/written.
Sample u32s uniformly from [0, bound).

Constants

AesHash with a fixed key.
Fixed-key AES-128.

Traits

A marker trait denoting that the given scheme is maliciously secure.
A marker trait denoting that the given scheme is semi-honest secure.

Functions

Convenience function to create a pair of TrackUnixChannels for local tests in swanky.
Convenience function to create a pair of UnixChannels for local tests in swanky.

Type Definitions

A TrackChannel which uses UnixStreams.
A SyncChannel which uses UnixStreams.