2 unstable releases
0.2.0 | Aug 1, 2021 |
---|---|
0.1.0 | Apr 9, 2020 |
#1348 in Cryptography
1,514 downloads per month
29KB
578 lines
binary-ff1
Optimized Rust implementation of FF1 encryption with radix 2, specified in NIST Special Publication 800-38G.
lib.rs
:
Optimized Rust implementation of FF1 encryption with radix 2, specified in NIST Special Publication 800-38G.
Example
#
const KEY: [u8; 32] = [0; 32];
const LEN: usize = 3;
let cipher = Aes256::new(GenericArray::from_slice(&KEY));
let mut scratch = [0; LEN + 1];
let mut ff1 = BinaryFF1::new(&cipher, LEN, &[], &mut scratch).unwrap();
let mut x: [u8; LEN] = [0xAB, 0xCD, 0xEF];
ff1.encrypt(&mut x).unwrap();
assert_eq!(x, [0x75, 0xFB, 0x62]);
ff1.decrypt(&mut x).unwrap();
assert_eq!(x, [0xAB, 0xCD, 0xEF]);
Dependencies
~325KB