#nist #secp256r1 #prime256v1

无std p256

根据SP 800-186定义的NIST P-256(也称为secp256r1、prime256v1)椭圆曲线的纯Rust实现,支持ECDH、ECDSA签名/验证和通用曲线算术

32个版本

0.14.0-pre.12024年7月27日
0.14.0-pre.02024年1月19日
0.13.2 2023年4月15日
0.13.0 2023年3月3日
0.0.0 2018年10月3日

密码学中排名10

Download history 346898/week @ 2024-05-02 348981/week @ 2024-05-09 391058/week @ 2024-05-16 375335/week @ 2024-05-23 402194/week @ 2024-05-30 392883/week @ 2024-06-06 425805/week @ 2024-06-13 416547/week @ 2024-06-20 406474/week @ 2024-06-27 353543/week @ 2024-07-04 359383/week @ 2024-07-11 346492/week @ 2024-07-18 380587/week @ 2024-07-25 392089/week @ 2024-08-01 379558/week @ 2024-08-08 313288/week @ 2024-08-15

每月下载量1,534,794
1,051个crate中使用(直接使用211个)

Apache-2.0 OR MIT

180KB
3K SLoC

RustCrypto:NIST P-256(secp256r1)椭圆曲线

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

纯Rust实现NIST P-256(也称为secp256r1、prime256v1)椭圆曲线,支持ECDH、ECDSA签名/验证以及通用曲线算术,这些算术是通过elliptic-curve crate中的特性行实现的。

文档

⚠️安全警告

此crate中的椭圆曲线算术从未经过独立审计!

此crate的设计目标是确保秘密相关操作在常数时间内执行(使用subtle crate和常数时间公式)。但是,它尚未经过彻底评估,以确保在常见的CPU架构上生成的汇编代码是常数时间的。

自行承担风险!

支持算法

NIST P-256简介

NIST P-256是在SP 800-186中指定的Weierstrass曲线:基于离散对数密码学的建议:椭圆曲线域参数。

也称为prime256v1(ANSI X9.62)和secp256r1(SECG),包含在美国国家安全局的“Suite B”中,并在TLS等协议及其相关的X.509 PKI中得到广泛应用。

最低支持的Rust版本

Rust 1.73或更高。

最低支持的Rust版本可能会在未来更改,但将以小版本号升级的方式完成。

SemVer策略

  • 此库的所有默认功能均受SemVer保护
  • 如上所述,MSRV被视为免除SemVer

许可证

所有受以下许可证之一许可的crate:

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的您有意提交的工作中包含的任何贡献,均将按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~2–2.8MB
~59K SLoC