#sha-512 #optimization #hmac #embedded-devices #crypto

已删除 rigel

针对嵌入式设备优化的最小HMAC-SHA512实现

使用旧的Rust 2015

0.2.2 2018年12月24日
0.2.1 2018年12月14日
0.2.0 2018年11月25日
0.1.1 2018年10月7日
0.0.6 2018年8月24日

#26 in #sha-512

MIT 协议

13KB
214

rigel

Build Status codecov

关于

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