Crate ark_sponge

Crate ark_sponge 

Source
Expand description

A crate for the cryptographic sponge trait.

Modules§

constraints
Infrastructure for the constraints counterparts.
poseidon
The sponge for Poseidon

Macros§

absorb
Individually absorbs each element in a comma-separated list of absorbables into a sponge. Format is absorb!(s, a_0, a_1, ..., a_n), where s is a mutable reference to a sponge and each a_i implements Absorb.
absorb_gadget
Individually absorbs each element in a comma-separated list of [Absorbable]s into a sponge. Format is absorb!(s, a_0, a_1, ..., a_n), where s is a mutable reference to a sponge and each a_i implements AbsorbableVar.
collect_sponge_bytes
Quickly convert a list of different Absorbs into sponge bytes.
collect_sponge_field_elements
Quickly convert a list of different Absorbs into sponge field elements.
collect_sponge_field_elements_gadget
Quickly convert a list of different [Absorbable]s into sponge field elements.

Enums§

FieldElementSize
An enum for specifying the output field element size.

Traits§

Absorb
An interface for objects that can be absorbed by a CryptographicSponge.
AbsorbWithLength
An extension to Absorb that is specific to items with variable length, such as a list.
CryptographicSponge
The interface for a cryptographic sponge. A sponge can absorb or take in inputs and later squeeze or output bytes or field elements. The outputs are dependent on previous absorb and squeeze calls.
FieldBasedCryptographicSponge
The interface for field-based cryptographic sponge. CF is the native field used by the cryptographic sponge implementation.
SpongeExt
An extension for the interface of a cryptographic sponge. In addition to operations defined in CryptographicSponge, SpongeExt can convert itself to a state, and instantiate itself from state.