Struct ark_ec::hashing::map_to_curve_hasher::MapToCurveBasedHasher
source · [−]pub struct MapToCurveBasedHasher<T, H2F, M2C>where
T: CurveGroup,
H2F: HashToField<T::BaseField>,
M2C: MapToCurve<T>,{ /* private fields */ }
Expand description
Helper struct that can be used to construct elements on the elliptic curve from arbitrary messages, by first hashing the message onto a field element and then mapping it to the elliptic curve defined over that field.
Trait Implementations
sourceimpl<T, H2F, M2C> HashToCurve<T> for MapToCurveBasedHasher<T, H2F, M2C>where
T: CurveGroup,
H2F: HashToField<T::BaseField>,
M2C: MapToCurve<T>,
impl<T, H2F, M2C> HashToCurve<T> for MapToCurveBasedHasher<T, H2F, M2C>where
T: CurveGroup,
H2F: HashToField<T::BaseField>,
M2C: MapToCurve<T>,
sourcefn new(domain: &[u8]) -> Result<Self, HashToCurveError>
fn new(domain: &[u8]) -> Result<Self, HashToCurveError>
Create a new hash to curve instance, with a given domain.
Auto Trait Implementations
impl<T, H2F, M2C> RefUnwindSafe for MapToCurveBasedHasher<T, H2F, M2C>where
H2F: RefUnwindSafe,
M2C: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, H2F, M2C> Send for MapToCurveBasedHasher<T, H2F, M2C>where
H2F: Send,
M2C: Send,
impl<T, H2F, M2C> Sync for MapToCurveBasedHasher<T, H2F, M2C>where
H2F: Sync,
M2C: Sync,
impl<T, H2F, M2C> Unpin for MapToCurveBasedHasher<T, H2F, M2C>where
H2F: Unpin,
M2C: Unpin,
T: Unpin,
impl<T, H2F, M2C> UnwindSafe for MapToCurveBasedHasher<T, H2F, M2C>where
H2F: UnwindSafe,
M2C: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more