[−][src]Crate lea
LEA-128/192/256 implementations
- Examples
Encryption
use lea::Lea128; use lea::block_cipher_trait::BlockCipher; use lea::generic_array::arr; use lea::generic_array::arr_impl; let key = arr![u8; 0x0F, 0x1E, 0x2D, 0x3C, 0x4B, 0x5A, 0x69, 0x78, 0x87, 0x96, 0xA5, 0xB4, 0xC3, 0xD2, 0xE1, 0xF0]; let lea = Lea128::new(&key); let mut block = arr![u8; 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F]; lea.encrypt_block(&mut block); let cipher = arr![u8; 0x9F, 0xC8, 0x4E, 0x35, 0x28, 0xC6, 0xC6, 0x18, 0x55, 0x32, 0xC7, 0xA7, 0x04, 0x64, 0x8B, 0xFD]; assert_eq!(block, cipher);
Decryption
use lea::Lea128; use lea::block_cipher_trait::BlockCipher; use lea::generic_array::arr; use lea::generic_array::arr_impl; let key = arr![u8; 0x0F, 0x1E, 0x2D, 0x3C, 0x4B, 0x5A, 0x69, 0x78, 0x87, 0x96, 0xA5, 0xB4, 0xC3, 0xD2, 0xE1, 0xF0]; let lea = Lea128::new(&key); let mut block = arr![u8; 0x9F, 0xC8, 0x4E, 0x35, 0x28, 0xC6, 0xC6, 0x18, 0x55, 0x32, 0xC7, 0xA7, 0x04, 0x64, 0x8B, 0xFD]; lea.decrypt_block(&mut block); let plain = arr![u8; 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F]; assert_eq!(block, plain);
Re-exports
pub extern crate block_cipher_trait; |
pub extern crate stream_cipher; |
pub use block_cipher_trait::generic_array; |
pub use ctr::Lea128Ctr; |
pub use ctr::Lea192Ctr; |
pub use ctr::Lea256Ctr; |
Modules
ctr | LEA-128/192/256-CTR implementation |
Structs
Lea128 | |
Lea192 | |
Lea256 |