4个版本

0.3.0 2021年6月1日
0.2.2 2020年4月11日
0.2.1 2020年2月10日
0.2.0 2020年2月6日

#30 in #prime-field

Download history · Rust 包仓库 110/week @ 2024-03-11 · Rust 包仓库 87/week @ 2024-03-18 · Rust 包仓库 84/week @ 2024-03-25 · Rust 包仓库 129/week @ 2024-04-01 · Rust 包仓库 57/week @ 2024-04-08 · Rust 包仓库 80/week @ 2024-04-15 · Rust 包仓库 96/week @ 2024-04-22 · Rust 包仓库 70/week @ 2024-04-29 · Rust 包仓库 92/week @ 2024-05-06 · Rust 包仓库 102/week @ 2024-05-13 · Rust 包仓库 95/week @ 2024-05-20 · Rust 包仓库 76/week @ 2024-05-27 · Rust 包仓库 84/week @ 2024-06-03 · Rust 包仓库 76/week @ 2024-06-10 · Rust 包仓库 83/week @ 2024-06-17 · Rust 包仓库 82/week @ 2024-06-24 · Rust 包仓库

334 每月下载量
用于 15 个crate(通过 fff

MIT/Apache

41KB
985

fff

伟大的 ff 库的分支。

fff 是一个用Rust编写的有限域库。

免责声明

  • 此库不提供恒定时间保证。

fff crate 包含 FieldPrimeFieldPrimeFieldReprSqrtField 特性。有关更多信息,请参阅 文档

#![derive(PrimeField)]

如果您需要一个素域的实现,此库还提供了一个过程宏,当提供模数时,将展开为高效的素域实现。 PrimeFieldGenerator 必须是 Fp 的 p-1 阶元素,也是二次非剩余。

首先,启用 derive crate 功能

[dependencies]
fff = { version = "0.2", features = ["derive"] }

然后按如下方式使用宏

extern crate rand;
#[macro_use]
extern crate fff;

#[derive(PrimeField)]
#[PrimeFieldModulus = "52435875175126190479447740508185965837690552500527637822603658699938581184513"]
#[PrimeFieldGenerator = "7"]
struct Fp(FpRepr);

就是这样!Fp 现在实现了 FieldPrimeField。如果支持,Fp 还将实现 SqrtField。该库实现了 FpRepr 并为其派生 PrimeFieldRepr

许可证

根据您选择,许可以下任一项

贡献

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

依赖项

约2MB
约46K SLoC