[][src]Module lea::ctr

LEA-CTR

  • Example
use lea::ctr::{
	stream::{generic_array::arr, NewStreamCipher, SyncStreamCipher, SyncStreamCipherSeek},
	Lea128Ctr
};

let key = arr![u8; 0x7A, 0xD3, 0x6A, 0x75, 0xD5, 0x5F, 0x30, 0x22, 0x09, 0x4E, 0x06, 0xF7, 0xC8, 0x97, 0xD8, 0xBB];
let nonce = arr![u8; 0x0C, 0x5F, 0x04, 0xE8, 0xB5, 0x12, 0x19, 0x5E, 0x74, 0xB3, 0xDE, 0x57, 0xE9, 0x70, 0x97, 0x9E];
let ptxt = [0x08, 0x7A, 0x83, 0xFC, 0xC1, 0x13, 0xA9, 0xF3, 0xE0, 0xE9, 0xD5, 0xAF, 0x32, 0xA2, 0xDD, 0x3A];
let ctxt = [0x2B, 0x73, 0x49, 0x7C, 0x4F, 0xC9, 0xEF, 0x38, 0xBE, 0x7A, 0x0B, 0xCB, 0x1A, 0xAB, 0x87, 0xA4];

let mut lea128ctr = Lea128Ctr::new(&key, &nonce);

// Encryption
let mut block = ptxt.clone();
lea128ctr.apply_keystream(&mut block);
assert_eq!(block, ctxt);

// Decryption
lea128ctr.seek(0);
let mut block = ctxt.clone();
lea128ctr.apply_keystream(&mut block);
assert_eq!(block, ptxt);

Modules

stream

Traits which define functionality of stream ciphers.

Type Definitions

Lea128Ctr
Lea192Ctr
Lea256Ctr