pub trait HashToScalar {
    type Input;
    type Output;

    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§