10个重大版本发布
0.10.0 | 2023年2月28日 |
---|---|
0.9.0 | 2022年5月4日 |
0.8.0 | 2021年9月2日 |
0.7.0 | 2021年6月3日 |
0.0.0 | 2018年8月29日 |
#95 in 算法
40,237 个月下载量
用于 38 个crate(18个直接使用)
105KB
2.5K SLoC
jubjub
这是Jubjub椭圆曲线群及其相关域的纯Rust实现。
- 此实现未经审查或审计。使用风险自担。
- 此实现针对Rust
1.56
或更高版本。 - 除非明确说明,所有操作都是常数时间。
- 此实现不需要Rust标准库。
文档
曲线描述
Jubjub是扭曲Edwards曲线 -u^2 + v^2 = 1 + d.u^2.v^2
的理性点集,定义在GF(q)
上,具有素数阶的子群r
和系数8
。
q = 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001
r = 0x0e7db4ea6533afa906673b0101343b00a6682093ccc81082d0970e5ed6f72cb7
d = -(10240/10241)
选择GF(q)
是为了成为BLS12-381椭圆曲线构造的标量域。
Juljub与Montgomery曲线在同一个域上是双有理等价的。Montgomery曲线的定义如下:y² = x³ + Ax² + x,其中A = 40962。这个A值是最小的整数,使得(A - 2) / 4是一个小整数,A² - 4在GF(q)上不是平方数,Montgomery曲线及其二次扭曲具有小的系数因子8和4。这与Curve25519和ed25519之间的关系相同。
请参阅./doc/evidence/以获取Jubjub符合SafeCurves标准的支持证据。在./doc/derive/中的工具将通过上述标准推导曲线参数以演示其刚性。
致谢
Jubjub由Sean Bowe设计。Daira Hopwood负责其名称和规范。在./doc/evidence/中的安全证据是Daira Hopwood的产品,基于Daniel J. Bernstein和Tanja Lange的SafeCurves。Peter Newell和Daira Hopwood负责Jubjub鸟的图像。
请参阅Cargo.toml
以获取此代码库的主要作者列表。
许可
在以下两者中任选其一许可:
- Apache License, Version 2.0, (LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT或http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的您有意提交的包含在作品中的任何贡献,均将根据上述许可双重许可,不附加任何其他条款或条件。
依赖
~1.5MB
~36K SLoC