#![feature(array_chunks)] use cryptopals::{prelude::ByteBased, friendly::{aes128, cbc_decrypt, cbc_encrypt}, bvec64}; fn main() { let input = bvec64!("input.txt"); let key = *b"YELLOW SUBMARINE"; let output = cbc_decrypt([0; 16], &input, |block| aes128::decrypt(key, block)); let input2 = cbc_encrypt([0; 16], &output, |block| aes128::encrypt(key, block)); dbg!(output.to_text().unwrap()); assert_eq!(input, input2); println!("pass") }