#api-bindings #crypto #secp256k1

bin+lib p256k1

Rust 的 libsecp256k1 封装,暴露内部标量和点 API

22 个稳定版本 (6 个主要版本)

7.1.0 2024 年 3 月 22 日
6.0.0 2023 年 11 月 28 日
5.5.0 2023 年 10 月 5 日
5.3.0 2023 年 6 月 28 日
1.0.4 2023 年 2 月 14 日

密码学 中排名 454

Download history 755/week @ 2024-04-20 679/week @ 2024-04-27 1094/week @ 2024-05-04 1112/week @ 2024-05-11 511/week @ 2024-05-18 519/week @ 2024-05-25 941/week @ 2024-06-01 675/week @ 2024-06-08 620/week @ 2024-06-15 824/week @ 2024-06-22 550/week @ 2024-06-29 912/week @ 2024-07-06 817/week @ 2024-07-13 805/week @ 2024-07-20 879/week @ 2024-07-27 836/week @ 2024-08-03

每月下载量 3,620
用于 12 crate(3 个直接使用)

Apache-2.0

4.5MB
45K SLoC

C 35K SLoC // 0.0% comments Rust 9K SLoC // 0.0% comments GNU Style Assembly 744 SLoC // 0.1% comments Automake 209 SLoC // 0.1% comments Shell 85 SLoC // 0.2% comments M4 42 SLoC // 0.2% comments

包含(晦涩的 autoconf 代码,19KB) _secp256k1/configure.ac

p256k1

libsecp256k1 的 Rust 封装,用于暴露未包装的点数和标量以及多指数运算

p256k1 是一个库,提供 secp256k1(一个素数阶 Weierstrass 曲线)上的群运算。

p256k1 提供了对雅可比坐标中的曲线点的访问,这允许进行非常快的操作。实现了标准数学运算符,以便编写与底层数学非常相似的代码。使用快速平方和乘法算法的 BitXor 运算符用于标量指数运算,这提供了一个非常自然直观的 API。使用标准的 Pippenger 算法提供了快速的多指数运算。

依赖关系

稳定的 rust,带有可工作的 cargo。还需要 llvm 来构建 secp256k1 并链接封装。

Ubuntu

$ apt install llvm

带有 brew 的 MacOS

安装 llvm 后,请务必遵循更新 .zshrc 的说明,以便构建系统能够使用 llvm。

$ brew install llvm

依赖关系

~2.1–4.5MB
~90K SLoC