labrador/transcript/sponges/mod.rs
1use crate::ring::{rq::Rq, zq::Zq};
2
3pub trait Sponge: Default {
4 fn absorb_zq(&mut self, input: &[Zq]);
5 fn absorb_rq(&mut self, input: &[Rq]);
6 fn squeeze_zq(&mut self, output_length: usize) -> Vec<Zq>;
7 fn squeeze_rq(&mut self, output_length: usize) -> Vec<Rq>;
8 fn squeeze_bits(&mut self, bit_length: usize) -> Vec<bool>;
9 fn squeeze_bytes(&mut self, byte_length: usize) -> Vec<u8>;
10}
11
12pub mod shake;
13// pub mod poseidon;