mirror of
https://github.com/saymrwulf/pasta_curves-source.git
synced 2026-09-06 20:20:34 +00:00
Fill in readme details
This commit is contained in:
parent
5d128a6c12
commit
7663200468
1 changed files with 27 additions and 4 deletions
31
README.md
31
README.md
|
|
@ -1,12 +1,35 @@
|
||||||
# `pasta_curves`
|
# `pasta_curves`
|
||||||
|
|
||||||
**IMPORTANT**: This library is being actively developed and should not be used in production software.
|
This crate provides an implementation of the Pasta elliptic curve constructions,
|
||||||
|
Pallas and Vesta. More details about the Pasta curves can be found
|
||||||
|
[in this blog post](https://electriccoin.co/blog/the-pasta-curves-for-halo-2-and-beyond/).
|
||||||
|
|
||||||
## [Documentation](https://docs.rs/pasta_curves)
|
## [Documentation](https://docs.rs/pasta_curves)
|
||||||
|
|
||||||
This crate currently has a Minimum Supported Rust Version of 1.49.0. When const generics
|
## Minimum Supported Rust Version
|
||||||
are stabilized [in Rust 1.51.0](https://github.com/rust-lang/rust/pull/79135), we plan
|
|
||||||
to require that version.
|
Requires Rust **1.49** or higher.
|
||||||
|
|
||||||
|
Minimum supported Rust version can be changed in the future, but it will be done with a
|
||||||
|
minor version bump.
|
||||||
|
|
||||||
|
## Curve Descriptions
|
||||||
|
|
||||||
|
- Pallas: y<sup>2</sup> = x<sup>3</sup> + 5 over
|
||||||
|
`GF(0x40000000000000000000000000000000224698fc094cf91b992d30ed00000001)`.
|
||||||
|
|
||||||
|
- Vesta: y<sup>2</sup> = x<sup>3</sup> + 5 over
|
||||||
|
`GF(0x40000000000000000000000000000000224698fc0994a8dd8c46eb2100000001)`.
|
||||||
|
|
||||||
|
The Pasta curves form a cycle with one another: the order of each curve is exactly the
|
||||||
|
base field of the other. This property is critical to the efficiency of recursive proof
|
||||||
|
systems. They are designed to be highly 2-adic, meaning that a large power-of-two
|
||||||
|
multiplicative subgroup exists in each field. This is important for the performance of
|
||||||
|
polynomial arithmetic over their scalar fields and is essential for protocols similar
|
||||||
|
to PLONK.
|
||||||
|
|
||||||
|
These curves can be reproducibly obtained
|
||||||
|
[using a curve search utility we’ve published](https://github.com/zcash/pasta).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue