1 个稳定版本
1.0.0 | 2021 年 9 月 22 日 |
---|
#1390 in 加密学
145KB
3K SLoC
P256
这是一个经过大量修改的版本,旨在与 Flow-Rust-SDK 一起使用。
lib.rs
:
纯 Rust 实现的 NIST P-256 椭圆曲线,包括对 椭圆曲线数字签名算法 (ECDSA)、椭圆曲线迪菲-赫尔曼 (ECDH) 和通用椭圆曲线/域算术的支持,可用于实现基于群操作的协议。
关于 NIST P-256
NIST P-256 是 FIPS 186-4:数字签名标准(DSS)中指定的韦尔斯特拉斯曲线。
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
也称为 prime256v1
(ANSI X9.62)和 secp256r1
(SECG),P-256 包含在美国国家安全局的“套件 B”中,并在 TLS、X.509 PKI 和蓝牙等互联网和连接设备协议中得到广泛应用。
⚠️ 安全警告
该软件包中包含的椭圆曲线算术从未经过独立审计!
该软件包的设计目标是确保基于密钥的操作在常数时间内执行(使用 subtle
软件包和常数时间公式)。然而,它尚未经过彻底评估,以确保在常见的 CPU 架构上生成的汇编代码是常数时间的。
自行承担风险!
最低支持的 Rust 版本
Rust 1.52 或更高版本。
最低支持的 Rust 版本可能会在未来更改,但将伴随着小版本号的增加。
依赖项
~3.5MB
~54K SLoC