#blake3 #simd

nightly blake3-std

使用 std::simd 的 BLAKE3 散列函数实现

3 个不稳定版本

0.1.0 2023年1月28日
0.0.2 2022年5月28日
0.0.1 2021年11月23日

#1367算法

每月30 次下载

Apache-2.0

550KB
2.5K SLoC

blake3

BLAKE3-STD

std::simd 上的第一个 blake3 实现

CI

仅支持 NIGHTLY 编译

[dependencies]
blake3-std = "0.0.1"

官方文档

BLAKE3 是一种密码学散列函数,它

  • 比 MD5、SHA-1、SHA-2、SHA-3 和 BLAKE2 快得多。
  • 安全,与 MD5 和 SHA-1 不同。并且对长度扩展安全,与 SHA-2 不同。
  • 可以在任何数量的线程和 SIMD 通道上进行高度并行化,因为它内部是一个 Merkle 树。
  • 能够进行验证流和增量更新,再次因为它是 Merkle 树。
  • PRF、MAC、KDF 和 XOF,以及常规散列。
  • 一种没有变体的算法,它在 x86-64 和较小的架构上都非常快。

BLAKE3 是由

  • @oconnor663 (Jack O'Connor)
  • @sneves (Samuel Neves)
  • @veorq (Jean-Philippe Aumasson)
  • @zookozcash (Zooko)

设计的

感谢 RUST 合并 portable_simd

这意味着它可以在任何 LLVM 有 SIMD 实现的平台运行。

性能测试

可以在 github pages 找到 部分

用法

与官方版本相同

待办事项

  • 为 hash4 实现 SIMD
  • 文档
  • 重构

依赖