INNER CODE UNIT · Rust

to_sponge_bytes

arkworks-rs/groth16 · src/constraints.rs:85

    fn to_sponge_bytes(&self) -> Result<Vec<UInt8<<E as Pairing>::BaseField>>, SynthesisError> {
        let mut bytes = self.alpha_g1.to_sponge_bytes()?;
        bytes.extend(self.beta_g2.to_sponge_bytes()?);
        bytes.extend(self.gamma_g2.to_sponge_bytes()?);
        bytes.extend(self.delta_g2.to_sponge_bytes()?);
        self.gamma_abc_g1.iter().try_for_each(|g| {
            bytes.extend(g.to_sponge_bytes()?);
            Ok(())
        })?;
        Ok(bytes)
    }

    fn to_sponge_field_elements(
        &self,
    ) -> Result<Vec<FpVar<<E as Pairing>::BaseField>>, SynthesisError> {
        let mut field_elements = self.alpha_g1.to_sponge_field_elements()?;
        field_elements.extend(self.beta_g2.to_sponge_field_elements()?);
        field_elements.extend(self.gamma_g2.to_sponge_field_elements()?);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…