[][src]Crate lea

LEA-128/192/256 implementations

  • Examples

Encryption

use lea::Lea256;
use lea::block_cipher_trait::BlockCipher;
use lea::generic_array::GenericArray;

let key = b"hello123hello123hello123hello123";
let key = GenericArray::clone_from_slice(key);
let lea256 = Lea256::new(&key);

let block = [104, 101, 108, 108, 111, 44, 32, 116, 104, 105, 115, 32, 105, 115, 32, 117];
let mut block = GenericArray::clone_from_slice(&block);

lea256.encrypt_block(&mut block);

let cipher = [10, 141, 70, 151, 126, 206, 87, 170, 229, 76, 210, 23, 64, 128, 20, 224];
let cipher = GenericArray::clone_from_slice(&cipher);

assert_eq!(block, cipher);

Decryption

use lea::Lea256;
use lea::block_cipher_trait::BlockCipher;
use lea::generic_array::GenericArray;

let key = b"hello123hello123hello123hello123";
let key = GenericArray::clone_from_slice(key);
let lea256 = Lea256::new(&key);

let block = [10, 141, 70, 151, 126, 206, 87, 170, 229, 76, 210, 23, 64, 128, 20, 224];
let mut block = GenericArray::clone_from_slice(&block);

lea256.decrypt_block(&mut block);

let plain = [104, 101, 108, 108, 111, 44, 32, 116, 104, 105, 115, 32, 105, 115, 32, 117];
let plain = GenericArray::clone_from_slice(&plain);

assert_eq!(block, plain);

Re-exports

pub extern crate block_cipher_trait;
pub use block_cipher_trait::generic_array;

Structs

Lea128
Lea192
Lea256