pub trait ExpandMsg<'a> {
    type Expander: Expander + Sized;

    // Required method
    fn expand_message(
        msgs: &[&[u8]],
        dsts: &'a [&'a [u8]],
        len_in_bytes: usize
    ) -> Result<Self::Expander>;
}
Available on crate feature hash2curve only.
Expand description

Trait for types implementing expand_message interface for hash_to_field.

Errors

See implementors of ExpandMsg for errors.

Required Associated Types§

source

type Expander: Expander + Sized

Type holding data for the Expander.

Required Methods§

source

fn expand_message( msgs: &[&[u8]], dsts: &'a [&'a [u8]], len_in_bytes: usize ) -> Result<Self::Expander>

Expands msg to the required number of bytes.

Returns an expander that can be used to call read until enough bytes have been consumed

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, HashT> ExpandMsg<'a> for ExpandMsgXmd<HashT>where HashT: BlockSizeUser + Default + FixedOutput + HashMarker, HashT::OutputSize: IsLess<U256> + IsLessOrEqual<HashT::BlockSize>,

ExpandMsgXmd implements expand_message_xmd for the ExpandMsg trait

§

type Expander = ExpanderXmd<'a, HashT>

source§

impl<'a, HashT> ExpandMsg<'a> for ExpandMsgXof<HashT>where HashT: Default + ExtendableOutput + Update,

ExpandMsgXof implements expand_message_xof for the ExpandMsg trait

§

type Expander = ExpandMsgXof<HashT>