RustCrypto: 椭圆曲线
提供通用椭圆曲线密码学(ECC)支持,包括用于表示各种椭圆曲线形式、标量、点以及由此组成的公钥/私钥的类型和特征。
所有曲线都位于单独的 crate 中,并使用 elliptic-curve
crate 中的特征实现。
此仓库中的 crate 不需要标准库(即支持 no_std
),可以轻松用于裸机或 WebAssembly 编程。
Crate 列表
注意:大多数 crate 的域/点算术实现都在 arithmetic
cargo 特性下,如下表的 arithmetic
列所示:
名称 | 曲线 | arithmetic ? | Crates.io | 文档 | 构建状态 |
---|---|---|---|---|---|
bign256 | bign-curve256v1 | ✅ | |||
bp256 | brainpoolP256r1/t1 | 🚧 | |||
bp384 | brainpoolP384r1/t1 | 🚧 | |||
k256 | secp256k1 | ✅ | |||
p192 | NIST P-192 | ✅ | |||
p224 | NIST P-224 | ✅ | |||
p256 | NIST P-256 | ✅ | |||
p384 | NIST P-384 | ✅ | |||
p521 | NIST P-521 | ✅ | |||
sm2 | SM2 | ✅ |
🚧: 曲线算术实现正在构建中
如果您对这里列出的曲线之外的椭圆曲线感兴趣,请查看我们的其他椭圆曲线跟踪问题。
最低支持的 Rust 版本
本仓库中的所有 crate 支持 Rust 1.73 或更高版本。
最低支持的 Rust 版本可能在未来发生变化,但会伴随次版本号的增加。
许可证
所有 crate 均采用以下两种许可之一:
由您选择。
贡献
除非您明确声明,否则您有意提交的任何贡献都将按上述方式获得双重许可,无需任何附加条款或条件。