6 个版本 (3 个重大变更)
0.4.1 | 2023年8月8日 |
---|---|
0.4.0 | 2023年8月8日 |
0.3.0 | 2023年3月21日 |
0.2.0 | 2023年3月16日 |
0.1.1 | 2022年10月29日 |
#2 在 #ff
每月下载 42 次
用于 11 个 crate (直接使用 9 个)
53KB
941 行
密码套件
基于 ff/group 构建的椭圆曲线密码套件。
除了不推荐的 Ed448 密码套件外,本库在 2023 年 3 月由 Cypher Stack 审计,最终提交为 669d2dbffc1dafb82a09d9419ea182667115df06。后续的任何变更均未进行审计。
本库可在 no_std 环境下使用。通过 alloc
和 std
功能,可以启用从 io::Read
特性读取,通过 std-shims
在 alloc
下进行封装。
Secp256k1/P-256
Secp256k1 和 P-256 通过 k256 和 p256 提供,这两个库由 RustCrypto 维护。
它们的 hash_to_F
是 IETF 的 hash to curve,但应用于它们的标量域。
Ed25519/Ristretto
Ed25519/Ristretto 通过 dalek-ff-group 提供,它是 curve25519-dalek 的一个 ff/group 封装器。
它们的 hash_to_F
是 SHA2-512 的宽缩减,如 RFC-8032 中使用。这也符合 RFC-RISTRETTO 草案。领域分隔标签被简单地添加到消息前面。
Ed448
Ed448 通过 minimal-ed448 提供,这是一个不推荐、未经审计、不完整的 Ed448 实现,仅限于其素数阶子群。
其 hash_to_F
是 SHAKE256 的宽缩减,输出长度为 114 字节,如 RFC-8032 中所述。域名分离标签被天真地添加到消息前面。
依赖项
~1.4–3MB
~65K SLoC