1 2 3 4 5 6 7 8 9 10 11 12 13 14
#[cfg(feature = "x16")] pub const KEY_LENGTH: usize = 16; #[cfg(feature = "x32")] pub const KEY_LENGTH: usize = 32; pub const BLOCK_LENGTH: usize = 16; pub trait BlockCipher { const KEY_LENGTH: usize; const BLOCK_LENGTH: usize; fn new(key: &[u8; KEY_LENGTH]) -> Self; fn encrypt(&self, block: &mut [u8; BLOCK_LENGTH]); fn decrypt(&self, block: &mut [u8; BLOCK_LENGTH]); }