Trait snarkvm_algorithms::traits::crh::CRH [−][src]
pub trait CRH: Clone + From<Self::Parameters> { type Output: Clone + Debug + Display + ToBytes + FromBytes + Eq + Hash + Default + Send + Sync + Copy; type Parameters: CRHParameters; const INPUT_SIZE_BITS: usize; fn setup<R: Rng>(r: &mut R) -> Self; fn hash(&self, input: &[u8]) -> Result<Self::Output, CRHError>; fn parameters(&self) -> &Self::Parameters; }
Associated Types
type Output: Clone + Debug + Display + ToBytes + FromBytes + Eq + Hash + Default + Send + Sync + Copy
[src]
type Parameters: CRHParameters
[src]
Associated Constants
const INPUT_SIZE_BITS: usize
[src]
Required methods
fn setup<R: Rng>(r: &mut R) -> Self
[src]
fn hash(&self, input: &[u8]) -> Result<Self::Output, CRHError>
[src]
fn parameters(&self) -> &Self::Parameters
[src]
Implementors
impl<G: Group + ProjectiveCurve, S: PedersenSize> CRH for BoweHopwoodPedersenCompressedCRH<G, S>
[src]
impl<G: Group + ProjectiveCurve, S: PedersenSize> CRH for BoweHopwoodPedersenCompressedCRH<G, S>
[src]type Output = <G::Affine as AffineCurve>::BaseField
type Parameters = PedersenCRHParameters<G, S>
const INPUT_SIZE_BITS: usize
[src]
fn setup<R: Rng>(rng: &mut R) -> Self
[src]
fn hash(&self, input: &[u8]) -> Result<Self::Output, CRHError>
[src]
fn parameters(&self) -> &Self::Parameters
[src]
impl<G: Group + ProjectiveCurve, S: PedersenSize> CRH for PedersenCompressedCRH<G, S>
[src]
impl<G: Group + ProjectiveCurve, S: PedersenSize> CRH for PedersenCompressedCRH<G, S>
[src]fn hash(&self, input: &[u8]) -> Result<Self::Output, CRHError>
[src]
fn hash(&self, input: &[u8]) -> Result<Self::Output, CRHError>
[src]Returns the affine x-coordinate as the collision-resistant hash output.
type Output = <G::Affine as AffineCurve>::BaseField
type Parameters = PedersenCRHParameters<G, S>
const INPUT_SIZE_BITS: usize
[src]
fn setup<R: Rng>(rng: &mut R) -> Self
[src]
fn parameters(&self) -> &Self::Parameters
[src]
impl<G: Group, S: PedersenSize> CRH for BoweHopwoodPedersenCRH<G, S>
[src]
impl<G: Group, S: PedersenSize> CRH for BoweHopwoodPedersenCRH<G, S>
[src]type Output = G
type Parameters = PedersenCRHParameters<G, S>
const INPUT_SIZE_BITS: usize
[src]
fn setup<R: Rng>(rng: &mut R) -> Self
[src]
fn hash(&self, input: &[u8]) -> Result<Self::Output, CRHError>
[src]
fn parameters(&self) -> &Self::Parameters
[src]
impl<G: Group, S: PedersenSize> CRH for PedersenCRH<G, S>
[src]
impl<G: Group, S: PedersenSize> CRH for PedersenCRH<G, S>
[src]