#aes #security #encryption #streaming

已删除 miscreant-aes-v05

临时分支

0.5.2 2021年7月30日

#81 in #aes

Apache-2.0 OR MIT

31KB
446

🚨 已弃用!🚨

Miscreant 已不再维护!Rust 后继者是 aes-siv crate,它是 Miscreant 代码库的进化。

miscreant.

crate Docs Build Status MSRV MIT licensed Gitter Chat

最好的加密,你从未听说过,由 Phil Rogaway 提供

Rust 实现 Miscreant:提供 AES-SIV(RFC 5297)、AES-PMAC-SIV 和 STREAM 结构的先进对称加密库。这些算法易于使用(或者说,难以误用),并支持加密单个消息或消息流。

文档

关于 AES-SIV 和 AES-PMAC-SIV

AES-SIVAES-PMAC-SIV 提供了 NRMR(nonce 重复误用抵抗):与更受欢迎的 AES 加密模式(如 AES-GCM)不同,在此结构中意外重复使用 nonce 并不是安全灾难,在 AES-GCM 中 nonce 重复会导致认证密钥和两个明文 XOR 的泄露,这两种情况都可能被用于 完整明文恢复攻击

使用 AES-SIV,重复使用 nonce 的最坏结果是攻击者可以看到你发送了相同的明文两次,与几乎所有其他 AES 模式不同,它可能促进 选择密文攻击

要求

miscreant.rs 需要 Rust 1.36+。

要在 x86/x86_64 上使用 Intel AES-NI 指令启用硬件加速 AES 支持,你需要传递以下 RUSTFLAGS

RUSTFLAGS=-Ctarget-feature=+aes,+ssse3

你可以配置你的 ~/.cargo/config 以始终传递这些标志

[build]
rustflags = ["-Ctarget-feature=+aes,+ssse3"]

帮助和讨论

有问题吗?想要建议一个功能或更改吗?

安全通知

尽管这个库是由加密专家编写的,但它尚未经过彻底的安全审计,加密专家也是会犯错误的人类。

此库在其实现中努力使用恒定时间操作,但实际的恒定时间行为尚未经过验证。

自行承担使用此库的风险。

行为准则

我们遵守贡献者契约,并要求您也这样做。

更多信息,请参阅CODE_OF_CONDUCT.md

贡献

欢迎在GitHub上提交错误报告和拉取请求,地址为https://github.com/miscreant/miscreant

除非您明确说明,否则您提交的任何贡献,根据Apache-2.0许可证的定义,将按以下方式双重许可,不附加任何额外条款或条件。

许可证

版权所有(c)2017-2019 Miscreant开发者

miscreant.rs许可协议为以下之一:

任选其一。

依赖

~680KB
~14K SLoC