pub trait HashToScalar {
    type Input;
    type Output;

    // Required method
    fn hash_to_scalar(
        &self,
        input: &[Self::Input]
    ) -> Result<Self::Output, Error>;
}
Expand description

A trait for a hash function that projects the value to a scalar.

Required Associated Types§

Required Methods§

source

fn hash_to_scalar(&self, input: &[Self::Input]) -> Result<Self::Output, Error>

Returns the hash of the given input.

Implementations on Foreign Types§

source§

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

source§

fn hash_to_scalar( &self, input: &[<Poseidon<E, RATE> as HashToScalar>::Input] ) -> Result<<Poseidon<E, RATE> as HashToScalar>::Output, Error>

Returns a scalar from hashing the input. This method uses truncation (up to data bits) to project onto the scalar field.

§

type Input = Field<E>

§

type Output = Scalar<E>

Implementors§