#![feature(array_chunks)] use aes::{cipher::{KeyInit, generic_array::GenericArray, Key, BlockEncrypt, BlockDecrypt}, Aes128, Block}; use cryptopals::{prelude::*, bvec, bvec64}; fn main() { let key: Key = GenericArray::from(*b"YELLOW SUBMARINE"); let aes = aes::Aes128::new(&key); let input = bvec64!("input.txt"); let mut output = Vec::new(); for chunk in input.array_chunks::<16>() { let mut block: Block = GenericArray::from(*chunk); aes.decrypt_block(&mut block); output.extend(<[u8; 16]>::from(block)); } dbg!(output.to_text().unwrap()); println!("pass") }