5个版本

0.0.2-pre.22023年12月1日
0.0.2-pre.12023年9月25日
0.0.2-alpha.32024年7月22日
0.0.2-alpha.12024年7月2日

1914密码学

Download history 122/week @ 2024-04-24 145/week @ 2024-05-01 103/week @ 2024-05-08 97/week @ 2024-05-15 98/week @ 2024-05-22 167/week @ 2024-05-29 117/week @ 2024-06-05 148/week @ 2024-06-12 205/week @ 2024-06-19 281/week @ 2024-06-26 174/week @ 2024-07-03 155/week @ 2024-07-10 376/week @ 2024-07-17 384/week @ 2024-07-24 131/week @ 2024-07-31 347/week @ 2024-08-07

1,267 每月下载量
9 个crate中(3个直接) 使用

Apache-2.0

20KB
475

libcrux - 形式验证的密码库

libcrux是一个形式验证的密码库,它汇集了来自不同来源的经过验证的工件。它使用hacspec作为正确性和安全性证明的基础规范的一种通用语言。

请参阅架构文档,以了解libcrux架构和特性的详细概述,以及形式验证目录以了解底层形式证明的详细信息。

算法

注意 可用的算法仍在开发中,未来将不断增加。

算法 平台
AES x64 (AES-NI)
AES-GCM x64 (AES-NI)
Chacha20 x64, arm64
Poly1305 x64, arm64
Chacha20Poly1305 x64, arm64
Curve25519 x64, arm64
EdDSA 25519 x64, arm64
EcDSA P256 x64, arm64
Sha2 x64, arm64
Sha3 x64, arm64
Blake2 x64, arm64
HMAC x64, arm64
HKDF x64, arm64
Bls12-381 x64, arm64
HPKE x64, arm64

其他平台可能也能工作,但目前尚未测试或优化。

硬件支持

构建启用了目标架构上所有可用的硬件功能。此外,库始终执行运行时检查,以确保所需的CPU功能可用。

libcrux使用以下配置进行其硬件抽象

  • simd128假定平台上有128位SIMD指令。这意味着x64 CPU上的SSE3和SSE4.1,以及arm CPU上的NEON。
  • simd256假定平台上有256位SIMD指令。这意味着x64 CPU上的AVX和AVX2。

随机数

libcrux提供了一个可以单独使用(drbg::Drbg)或通过Rng traits使用的DRBG实现。

依赖项

~43KB