2 个不稳定版本

0.2.0 2021年10月7日
0.1.3 2019年4月3日
0.1.2 2019年4月3日

#5#kdf

BSD-2-Clause OR MIT

48KB
336 代码行

docs.rs License BSD-2-Clause License MIT crates.io Download numbers AppVeyor CI dependency status

crypto_api_blake2

欢迎使用 crypto_api_blake2 🎉

关于

此 crate 实现了 Blake2b,并提供各种用例的 API

  • 流式和单次变长哈希算法(显而易见)
  • 流式和单次消息认证码(=具有安全最终化的密钥哈希,以防止 长度扩展攻击
  • 基于盐和信息的 KDF

安全性

⚠️ 提前注意:此库是测试版,尚未经过审计——请自行承担风险!⚠️

然而,我们尝试从一开始就做正确的事情——此库遵循 KISS 原则,并针对各种测试向量进行了测试。

测试向量

所有实现都通过所有参考测试向量,并假定即使在边缘情况下也能产生正确的结果——我们还使用 API 测试向量来测试我们的输入验证。

内存卫生

crypto_api_blake2 不会尝试从内存中擦除敏感内容。然而,所有敏感内容都存储在堆分配的内存中,因此如果您使用的是像 MAProper 这样的擦除内存分配器,它们将被擦除。

使用擦除内存分配器是一个好主意,因为 Rust 使跟踪底层的内存管理变得相当困难——内存分配器则可以看到堆上发生的所有事情,并相应地处理。

依赖关系

由于此代码实现了 crypto_api,因此它依赖于 crypto_api-crate。否则,它没有其他依赖项。

依赖关系