使用旧的Rust 2015
0.2.2 |
|
---|---|
0.2.1 |
|
0.2.0 |
|
0.1.1 |
|
0.0.6 |
|
#26 in #sha-512
13KB
214 行
rigel
关于
rigel
是一种针对嵌入式设备使用的最小化HMAC-SHA512实现,它最小化了分配的数量,同时仍然保持了性能速度。
您可以在这里了解更多关于这些优化的信息。
Rust nightly
rigel
需要 Rust nightly。
安全性
此库从未接受过任何正式的密码学/安全审计。应 自行承担风险 使用。
示例
一次性API
extern crate rigel;
let mac = rigel::hmac_sha512("Secret key".as_bytes(), "Message".as_bytes());
assert!(rigel::verify(&mac, "Secret key".as_bytes(), "Message".as_bytes()));
流式API
extern crate rigel;
let mut mac = rigel::init("Secret key".as_bytes());
mac.update("Message".as_bytes());
let res = mac.finalize();
assert!(mac.verify(&res, "Secret key".as_bytes(), "Message".as_bytes()));
let mut mac_out = [0u8; 64];
mac.reset();
mac.update("Other message".as_bytes());
mac.finalize_with_dst(&mut mac_out);
性能
test RustCrypto ... bench: 2,185 ns/iter (+/- 241)
test orion ... bench: 2,350 ns/iter (+/- 60)
test rigel_one_shot ... bench: 2,070 ns/iter (+/- 43)
test rigel_stream ... bench: 2,122 ns/iter (+/- 35)
test ring ... bench: 3,357 ns/iter (+/- 91)
在MacBook Air 1,6 GHz Intel Core i5,4GB的机器上进行了基准测试。
许可
rigel
使用MIT协议。请参阅 LICENSE
文件以获取更多信息。
依赖项
~0.6–0.8MB
~17K SLoC