pub trait HashMany {
    type Input;
    type Output;

    // Required method
    fn hash_many(
        &self,
        input: &[Self::Input],
        num_outputs: u16
    ) -> Vec<Self::Output>;
}
Expand description

A trait for a hash function that produces multiple outputs.

Required Associated Types§

Required Methods§

source

fn hash_many( &self, input: &[Self::Input], num_outputs: u16 ) -> Vec<Self::Output>

Returns the hash of the given input.

Implementations on Foreign Types§

source§

impl<E, const RATE: usize> HashMany for Poseidon<E, RATE>
where E: Environment,

source§

fn hash_many( &self, input: &[<Poseidon<E, RATE> as HashMany>::Input], num_outputs: u16 ) -> Vec<<Poseidon<E, RATE> as HashMany>::Output>

Returns the cryptographic hash for a list of field elements as input, and returns the specified number of field elements as output.

§

type Input = Field<E>

§

type Output = Field<E>

Implementors§