INNER CODE UNIT · Rust

xor

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

        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(
                    input
                        .get(pos..pos + self.block_size())
                        .expect("input length was checked"),
                )
                .build()?;
            let output: Vector<U8> = vm.call(call).map_err(CipherError::new)?;
            outputs.push(output);
            pos += self.block_size();
        }

        let output = flatten_blocks(vm, outputs.iter().map(|block| block.to_raw()))?;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…