0.4.0 |
|
---|
#4 in #ff1
41KB
808 代码行
fpe
此包包含格式保持加密算法的纯Rust实现。
实现了以下算法
- FF1(在NIST特别出版物800-38G中指定)。
此包需要Rust版本1.49或更高版本。
许可证
许可如下之一
- Apache许可证2.0版本,(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据Apache-2.0许可证定义,应按上述方式双许可,不附加任何其他条款或条件。
lib.rs
:
格式保持加密算法。
示例
extern crate aes;
extern crate fpe;
use aes::Aes256;
use fpe::ff1::{BinaryNumeralString, FF1};
let key = [0; 32];
let radix = 2;
let pt = [0xab, 0xcd, 0xef];
let ff = FF1::<Aes256>::new(&key, radix).unwrap();
let ct = ff.encrypt(&[], &BinaryNumeralString::from_bytes_le(&pt)).unwrap();
assert_eq!(ct.to_bytes_le(), [0x75, 0xfb, 0x62]);
let p2 = ff.decrypt(&[], &ct).unwrap();
assert_eq!(p2.to_bytes_le(), pt);
依赖关系
~1MB
~24K SLoC