5个版本
0.0.2-pre.2 | 2023年12月1日 |
---|---|
0.0.2-pre.1 | 2023年9月25日 |
0.0.2-alpha.3 | 2024年7月22日 |
0.0.2-alpha.1 | 2024年7月2日 |
1914 在 密码学 中
1,267 每月下载量
在 9 个crate中(3个直接) 使用
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