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
334 每月下载量
用于 15 个crate(通过 fff)
41KB
985 行
fff
伟大的 ff 库的分支。
fff 是一个用Rust编写的有限域库。
免责声明
- 此库不提供恒定时间保证。
fff crate 包含 Field、PrimeField、PrimeFieldRepr 和 SqrtField 特性。有关更多信息,请参阅 文档。
#![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 现在实现了 Field 和 PrimeField。如果支持,Fp 还将实现 SqrtField。该库实现了 FpRepr 并为其派生 PrimeFieldRepr。
许可证
根据您选择,许可以下任一项
- Apache许可证第2版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
。
贡献
除非您明确声明,否则根据Apache-2.0许可定义的,您有意提交以包含在作品中的任何贡献,均应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
约2MB
约46K SLoC