#block-cipher #crypto #rijndael

no-std aes

高级加密标准(AES,又称Rijndael)的纯Rust实现

19次发布

0.9.0-pre.22024年8月14日
0.9.0-pre.12024年7月26日
0.9.0-pre2024年3月8日
0.8.3 2023年6月18日
0.0.0 2016年10月6日

#14 in 密码学

Download history 726680/week @ 2024-05-03 779700/week @ 2024-05-10 805698/week @ 2024-05-17 782021/week @ 2024-05-24 879592/week @ 2024-05-31 850693/week @ 2024-06-07 820860/week @ 2024-06-14 887074/week @ 2024-06-21 828542/week @ 2024-06-28 811621/week @ 2024-07-05 832717/week @ 2024-07-12 852266/week @ 2024-07-19 872135/week @ 2024-07-26 847149/week @ 2024-08-02 883331/week @ 2024-08-09 711989/week @ 2024-08-16

3,477,827 每月下载量
3,345 个crate中使用 (465 直接使用)

MIT/Apache

195KB
4.5K SLoC

RustCrypto: 高级加密标准(AES)

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status Downloads HAZMAT

高级加密标准(AES)的纯Rust实现。

该crate实现了低级的AES块函数,并旨在用于实现高级构造。它**不**旨在直接用于应用程序。

文档

安全

⚠️ 警告: 危险材料!

该crate不确保密文是真实的(即通过使用MAC来验证密文完整性),如果使用不当,可能会导致严重漏洞!

为了避免这种情况,请使用基于AES的AEAD模式,例如AES-GCMAES-GCM-SIV。有关更多信息,请参阅RustCrypto/AEADs仓库。

自行承担风险!

注意

该crate已通过NCC Group的安全审计,没有发现重大问题。我们感谢MobileCoin为审计提供资金。

该crate中的所有实现都设计为以恒定时间执行,要么依赖于硬件内建函数(例如x86/x86_64上的AES-NI),要么使用基于位切片的便携式实现。

最低支持的Rust版本

Rust 1.72 或更高版本。

最低支持的Rust版本可能在未来的版本中更改,但将以小版本号的提升来完成。

语义版本策略

  • 本库的所有默认功能均受语义版本控制。
  • 如上所述,MSRV被视为免于语义版本控制。

许可证

许可协议为以下之一:

任选其一。

贡献

除非您明确说明,否则您按照Apache-2.0许可证定义提交的任何有意包含在工作中的贡献,应双重许可如上所述,无需任何额外条款或条件。

依赖项

~395KB