INNER CODE UNIT · Rust

apply

tlsnotary/tlsn · crates/components/cipher/src/lib.rs:151

    pub fn apply(
        &self,
        vm: &mut dyn Vm<Binary>,
        input: Vector<U8>,
    ) -> Result<Vector<U8>, CipherError> {
        if input.len() != self.len() {
            return Err(CipherError::new("input length must match keystream length"));
        } else if self.blocks.is_empty() {
            return Err(CipherError::new("no keystream material available"));
        }

        let xor = Arc::new(xor(self.block_size() * 8));
        let mut pos = 0;
        let mut outputs = Vec::with_capacity(self.blocks.len());
        for block in &self.blocks {
            let call = CallBuilder::new(xor.clone())
                .arg(block.output)
                .arg(

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…