#elliptic-curve #bitcoin #crypto #ethereum #secp256k1 #ecc

无 std k256_flow

Flow-Rust-SDK 版本的 k256 secp256k1 椭圆曲线库,使用纯 Rust 编写,支持 ECDSA 签名/验证(包括带公钥恢复的以太坊风格签名),椭圆曲线 Diffie-Hellman (ECDH),以及用于实现任意基于群操作的协议的通用 secp256k1 曲线算术。经过大量修改以用于签名 Flow 区块链交易

1 个稳定版本

1.0.0 2021 年 9 月 22 日

#39#secp256k1

Apache-2.0 OR MIT

260KB
5K SLoC

k256

一个经过大量修改的版本,旨在与 Flow-Rust-SDK 一起使用。


lib.rs:

纯 Rust 实现的 secp256k1 (K-256) 椭圆曲线,包括对 椭圆曲线数字签名算法 (ECDSA)椭圆曲线 Diffie-Hellman (ECDH) 和通用椭圆曲线/域算术的支持,可用于实现基于群操作的协议。

关于 secp256k1 (K-256)

secp256k1 是一种在加密货币应用中常用的 Koblitz 曲线。名称 "K-256" 遵循 NIST 符号,其中 P = 基数域,B = 二进制域,K = Koblitz 曲线。

该曲线由 Certicom 的 SECG 在 "SEC 2: 建议的椭圆曲线域参数" 中指定为 secp256k1

https://www.secg.org/sec2-v2.pdf

⚠️ 安全警告

本软件包中包含的椭圆曲线算术从未经过独立审计!

本软件包旨在确保秘密相关操作以恒定时间执行(使用 subtle 软件包和恒定时间公式)。然而,尚未彻底评估以确保在常见的 CPU 架构上生成的汇编代码是恒定时间的。

自行承担风险!

最低支持的 Rust 版本

Rust 1.52 或更高版本。

最低支持的Rust版本可能在将来发生变化,但将伴随着小版本号的增加。

依赖项

~1.8–2.7MB
~54K SLoC