19 个版本
0.9.3 | 2023年11月30日 |
---|---|
0.9.1 | 2022年10月11日 |
0.9.0 | 2020年6月14日 |
0.8.1 | 2020年3月10日 |
0.3.0 | 2017年12月31日 |
#2310 in 密码学
在 2 个 crate 中使用 (通过 libhydrogen)
45KB
502 行
Hydrogen 库是一个小巧、易于使用、难以误用的密码学库。
特性
- 与 libsodium 类似的一致的高层 API。它通过简单的函数暴露了可以解决密码学常见问题的功能,而不是低级原语。
- 100% 仅使用两个密码学构建块构建:椭圆曲线 Curve25519 和置换 Gimli。
- 小巧且易于审计。每个操作集实现为一个微小的文件,只需将单个
.c
文件添加到项目中即可在项目中使用 libhydrogen。 - 整个代码仅使用一个非常自由的许可证(ISC)发布。
- 零动态内存分配和低栈要求(中位数:32 字节,最大:128 字节)。这使得它在微控制器等受限环境中可用。
- 可移植。支持 Linux、*BSD、MacOS、Windows 和 Arduino IDE。
- 甚至可以在 Arduino 板上生成密码学安全的随机数。
- 尝试减轻意外误用的后果,即使在不可靠的 PRG 和/或没有时钟的系统中。
此 crate 实现了低级 Rust 绑定,无需任何外部依赖。
libhydrogen crate 提供了高层惯用接口。
libhydrogen 文档
无运行时依赖
~0–2MB
~40K SLoC