#消息认证 #aes-gcm #通用哈希 #aes-gcm-siv #加密 #ghash

无std polyval

POLYVAL是一个在GF(2^128)上类似于GHASH的通用哈希函数,用于构建消息认证码(MAC)

27个版本

0.7.0-rc.02024年7月26日
0.7.0-pre.02024年3月8日
0.6.2 2024年3月3日
0.6.1 2023年6月16日
0.3.1 2019年11月14日

#2090 in 密码学

Download history 376182/week @ 2024-04-27 359058/week @ 2024-05-04 415151/week @ 2024-05-11 401057/week @ 2024-05-18 390013/week @ 2024-05-25 411832/week @ 2024-06-01 399556/week @ 2024-06-08 390297/week @ 2024-06-15 405588/week @ 2024-06-22 365826/week @ 2024-06-29 378282/week @ 2024-07-06 375360/week @ 2024-07-13 414031/week @ 2024-07-20 389908/week @ 2024-07-27 421712/week @ 2024-08-03 367676/week @ 2024-08-10

1,653,480 monthly downloads
用于1,976个crate(直接使用3个)

Apache-2.0 OR MIT

49KB
915

RustCrypto: POLYVAL

crate Docs Build Status Apache2/MIT licensed Rust Version HAZMAT

POLYVAL (RFC 8452)是一种通用哈希函数,它在GF(2^128)上运行,可用于构建消息认证码(MAC)

它的主要目的是实现AES-GCM-SIV,然而它与GHASH密切相关,因此也可以在不影响小端架构性能的情况下免费实现AES-GCM

文档

安全

⚠️ 警告: 危险物品!

通用哈希函数具有微妙的特性,正确使用它们比较困难。有关更多信息,请参阅顶级README.md

自行承担风险!

说明

此crate已通过NCC Group的安全审计一次,未发现重大问题。我们感谢MobileCoin资助此次审计。

crate中包含的所有实现都设计为以恒定时间执行,要么依赖于硬件内建函数(例如x86/x86_64上的AVX2),要么使用可移植实现,该实现仅在支持恒定时间乘法的处理器上为恒定时间。

不适用于具有可变时间乘法操作的处理器(例如在乘以零/乘以一时短路,如某些32位PowerPC CPU和一些非ARM微控制器)。

许可证

根据以下之一许可

任选其一。

贡献

除非您明确表示,否则根据Apache-2.0许可定义,您有意提交的包含在工作中的任何贡献,应以上述方式双许可,不附加任何额外条款或条件。

依赖项

~275–455KB