12 个版本
0.5.1 | 2023 年 3 月 2 日 |
---|---|
0.5.0 | 2022 年 12 月 6 日 |
0.4.1 | 2022 年 10 月 13 日 |
0.4.0 | 2022 年 5 月 4 日 |
0.0.0 | 2021 年 3 月 3 日 |
#1417 in 神奇豆子
108,753 每月下载量
用于 100 个 仓库(直接使用 30 个)
150KB
3.5K SLoC
pasta_curves
此包提供了 Pasta 椭圆曲线构造(Pallas 和 Vesta)的实现。有关 Pasta 曲线的更多详细信息,请参阅这篇博客文章。
文档
最低支持的 Rust 版本
需要 Rust 1.56 或更高版本。
最低支持的 Rust 版本可能会在未来更改,但将通过较小的版本号升级来完成。
曲线描述
-
Pallas:y2 = x3 + 5 over
GF(0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001)
。 -
Vesta:y2 = x3 + 5 over
GF(0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000001)
。
Pasta 曲线彼此形成一个循环:每个曲线的阶恰好是另一个的基础域。这个属性对于递归证明系统的效率至关重要。它们被设计成高度 2 进制,这意味着每个域中存在一个大的两倍幂乘子群。这对于在它们的标量域上执行多项式算术的性能很重要,对于类似于 PLONK 的协议是必不可少的。
这些曲线可以通过我们发布的曲线搜索工具可靠地获得。点击此处。
许可证
许可协议为以下之一
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交并包含在本作品中的任何贡献,将按上述方式双许可,不附加任何额外条款或条件。
依赖项
~0.4–0.9MB
~15K SLoC