#elliptic-curve #group #ff #built #ed448 #ciphersuites #ff-group

无 std 密码套件

基于 ff/group 构建的密码套件

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 个)

MIT 许可证

53KB
941

密码套件

基于 ff/group 构建的椭圆曲线密码套件。

除了不推荐的 Ed448 密码套件外,本库在 2023 年 3 月由 Cypher Stack 审计,最终提交为 669d2dbffc1dafb82a09d9419ea182667115df06。后续的任何变更均未进行审计。

本库可在 no_std 环境下使用。通过 allocstd 功能,可以启用从 io::Read 特性读取,通过 std-shimsalloc 下进行封装。

Secp256k1/P-256

Secp256k1 和 P-256 通过 k256p256 提供,这两个库由 RustCrypto 维护。

它们的 hash_to_FIETF 的 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