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 密码学

Download history 5/week @ 2024-03-12 3/week @ 2024-03-26 23/week @ 2024-04-02 2/week @ 2024-05-28

59 每月下载量
2 crates 中使用

Apache-2.0

150KB
2.5K SLoC

Schnorr Gitter

Schnorr 密钥生成、签名、验证和多签名的 Rust 实现。此外还支持密钥派生功能。

这个库旨在成为多种不同用例的骨干,但我们专注于公共网络的需求。

待办事项:- Serde 支持 - 适配器签名

免责声明:

(1) 目前不应将该代码用于生产。

(2) 该代码对旁路攻击不安全

(3) 仅限小端平台

赏金

我们对这个库正在进行赏金悬赏。请提交包含问题 + 修复和您想要硬币加密地址的 PR。我们将发送

  • $200 对于重大错误:密钥恢复,
  • $100 错误的函数过程,导致重大问题
  • $10 对于小错误

根据问题,可以提供其他金额。我们希望为社区提供一个稳固的库。审计非常昂贵,所以我们选择创建一个开放的赏金问题,以获得世界的帮助,并现在提供我们所能提供的。

安装

要安装,请将以下内容添加到您的项目 Cargo.toml

[dependencies.schnorr]
version = "0.0.5"

然后,在您的库或可执行源文件中添加

extern crate schnorr;

默认情况下,schnorr 使用 curve25519-daleku64_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