19 个版本
0.0.20 | 2020 年 4 月 16 日 |
---|---|
0.0.18 | 2019 年 11 月 19 日 |
0.0.16 | 2019 年 10 月 28 日 |
0.0.7 | 2019 年 9 月 27 日 |
0.0.3 | 2018 年 11 月 25 日 |
#1905 in 密码学
59 每月下载量
在 2 crates 中使用
150KB
2.5K SLoC
Schnorr

Schnorr 密钥生成、签名、验证和多签名的 Rust 实现。此外还支持密钥派生功能。
这个库旨在成为多种不同用例的骨干,但我们专注于公共网络的需求。
待办事项:- Serde 支持 - 适配器签名
免责声明:
(1) 目前不应将该代码用于生产。
(2) 该代码对旁路攻击不安全
(3) 仅限小端平台
赏金
我们对这个库正在进行赏金悬赏。请提交包含问题 + 修复和您想要硬币加密地址的 PR。我们将发送
- $200 对于重大错误:密钥恢复,
- $100 错误的函数过程,导致重大问题
- $10 对于小错误
根据问题,可以提供其他金额。我们希望为社区提供一个稳固的库。审计非常昂贵,所以我们选择创建一个开放的赏金问题,以获得世界的帮助,并现在提供我们所能提供的。
安装
要安装,请将以下内容添加到您的项目 Cargo.toml
[dependencies.schnorr]
version = "0.0.5"
然后,在您的库或可执行源文件中添加
extern crate schnorr;
默认情况下,schnorr
使用 curve25519-dalek
的 u64_backend
功能进行构建,该功能通过使用 Rust 的 i128
功能实现了大约两倍于 u32_backend
功能的速度。然而,当针对 32 位系统时,你可能需要使用 cargo build --no-default-features --features="u32_backend"
进行编译。如果你正在为支持 avx2 指令的机器构建,还有实验性的 avx2_backend
可用。要使用它,请使用 RUSTFLAGS="-C target_cpu=native" cargo build --no-default-features --features="avx2_backend"
文档
文档可在 此处 获取。
依赖项
约 12MB
约 225K SLoC