Struct snarkvm_console_algorithms::bhp::hasher::BHPHasher
source · pub struct BHPHasher<E: Environment, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> { /* private fields */ }
Expand description
BHP is a collision-resistant hash function that takes a variable-length input. The BHP hasher is used to process one internal iteration of the BHP hash function.
Implementations§
Trait Implementations§
source§impl<E: Clone + Environment, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> Clone for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>
impl<E: Clone + Environment, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> Clone for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>
source§impl<E: Environment, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> HashUncompressed for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>
impl<E: Environment, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> HashUncompressed for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>
source§fn hash_uncompressed(&self, input: &[Self::Input]) -> Result<Self::Output>
fn hash_uncompressed(&self, input: &[Self::Input]) -> Result<Self::Output>
Returns the BHP hash of the given input as an affine group element.
This uncompressed variant of the BHP hash function is provided to support the BHP commitment scheme, as it is typically not used by applications.
type Input = bool
type Output = Group<E>
Auto Trait Implementations§
impl<E, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> RefUnwindSafe for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>where <E as Environment>::Projective: RefUnwindSafe,
impl<E, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> Send for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>
impl<E, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> Sync for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>
impl<E, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> Unpin for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>
impl<E, const NUM_WINDOWS: u8, const WINDOW_SIZE: u8> UnwindSafe for BHPHasher<E, NUM_WINDOWS, WINDOW_SIZE>where <E as Environment>::Projective: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more