2 个版本
0.1.1 | 2024年2月8日 |
---|---|
0.1.0 | 2023年11月24日 |
#2283 in 密码学
每月 354 次下载
在 3 个包中(通过 generic-ec-curves)使用
23KB
528 行
Stark Curve
Stark 曲线的纯 Rust 实现。[链接](https://docs.starkware.co/starkex/crypto/stark-curve.html)。提供了由 [primeorder](https://crates.org.cn/crates/primeorder)、[elliptic-curve](https://crates.org.cn/crates/elliptic-curve)、和 [ff](https://crates.org.cn/crates/ff) 包支持的基椭圆曲线算术。友好地支持 #![no_std]
。
曲线参数
如 Stark 曲线 [规范](https://docs.starkware.co/starkex/crypto/stark-curve.html) 所述,此包提供了由以下方程定义的曲线实现
$$y^2 = x^3 + \alpha x + \beta \pmod p$$
其中
$$ \begin{aligned} \alpha &= 1\\ \beta &= 3141592653589793238462643383279502884197169399375105820974944592307816406665\\ p &= 3618502788666131213697322783095070105623107215331596699973092056135872020481\\ &= 2^{251} + 17 \cdot 2^{192} + 1 \end{aligned} $$
此外,曲线阶数 $n$,虽然在规范中没有提及,但可以在这里找到
$n = 3618502788666131213697322783095070105526743751716087489154079457884512865583$
$p$ 和 $n$ 均为质数。
安全性
此包不实现任何敏感的加密代码。相反,我们将标量算术委托给 [ff](https://crates.org.cn/crates/ff) 包,将椭圆曲线点算术委托给 [primeorder](https://crates.org.cn/crates/primeorder) 包,这些包被认为是广泛使用且经过测试的。
许可证
根据您的选择,许可如下
- Apache License,版本 2.0
- MIT 许可证
。
依赖关系
~4MB
~94K SLoC