12 Commits

Author SHA1 Message Date
ValarDragon
28d2c67e72 (cargo-release) start next development iteration 0.2.1-alpha.0 2021-03-24 17:44:03 -07:00
ValarDragon
61c07a525d Missed a curve 2021-03-24 17:42:17 -07:00
ValarDragon
1e55dfd07a Fix spacing in keywords, and use version ^0.2.0 2021-03-24 17:31:43 -07:00
ValarDragon
df44f9de04 (cargo-release) version 0.2.0 2021-03-24 17:18:01 -07:00
ValarDragon
8fa7728e45 (cargo-release) version 0.2.0 2021-03-24 17:17:59 -07:00
ValarDragon
ab7dcb6f9f (cargo-release) version 0.2.0 2021-03-24 17:17:59 -07:00
ValarDragon
67d95fb87c Update all the cargo.tomls to pin version 2021-03-24 17:17:26 -07:00
Dev Ojha
de78b0da1d Update CHANGELOG.md (#50)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
2021-03-24 12:00:47 -05:00
Pratyush Mishra
5c0dcd5ca1 Fix links in curve documentation (#49) 2021-03-24 09:25:56 -07:00
Weikeng Chen
507cfa355a Remove the two remaining direct references to rand (#47) 2021-03-23 16:31:55 -07:00
Dev Ojha
fea21d919a Linkify changelog (#46) 2021-03-23 13:59:51 -05:00
Weikeng Chen
666da1e3b2 Fix ed-on-mnt4-753 (#45)
* fix ed-mnt4-753

* update CHANGELOG
2021-02-09 09:33:28 -08:00
43 changed files with 296 additions and 338 deletions

View File

@@ -86,6 +86,27 @@ jobs:
--all-features \ --all-features \
--exclude curve-benches" --exclude curve-benches"
docs:
name: Check Documentation
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt
- name: cargo doc --all --no-deps --document-private-items --all-features
uses: actions-rs/cargo@v1
with:
command: doc
args: --all --no-deps --document-private-items --all-features
check_no_std: check_no_std:
name: Check no_std name: Check no_std
runs-on: ubuntu-latest runs-on: ubuntu-latest

20
.github/workflows/linkify_changelog.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Linkify Changelog
on:
workflow_dispatch
jobs:
linkify:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Add links
run: python3 scripts/linkify_changelog.py CHANGELOG.md
- name: Commit
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Linkify Changelog"
git push

View File

@@ -1,10 +1,10 @@
## Pending ## v0.2.0
### Breaking changes ### Breaking changes
- Requires all crates from `arkworks-rs/algebra` to have version `v0.2.0` or greater. - Requires all crates from `arkworks-rs/algebra` to have version `v0.2.0` or greater.
### Features ### Features
- #3 Add constraints for - [\#3](https://github.com/arkworks-rs/curves/pull/3) Add constraints for
`ark-bls12-377`, `ark-bls12-377`,
`ark-ed-on-bls12-377`, `ark-ed-on-bls12-377`,
`ark-ed-on-bls12-381`, `ark-ed-on-bls12-381`,
@@ -17,15 +17,16 @@
`ark-mnt6-298`, `ark-mnt6-298`,
`ark-mnt4-753`, `ark-mnt4-753`,
`ark-mnt6-753`. `ark-mnt6-753`.
- #7 Add benchmarks for Edwards curves. - [\#7](https://github.com/arkworks-rs/curves/pull/7) Add benchmarks for Edwards curves.
- #19 Change field constants to be provided as normal strings, instead of in montgomery form. - [\#19](https://github.com/arkworks-rs/curves/pull/19) Change field constants to be provided as normal strings, instead of in Montgomery form.
### Improvements ### Improvements
- #42 Remove the dependency of `rand_xorshift`. - [\#42](https://github.com/arkworks-rs/curves/pull/42) Remove the dependency of `rand_xorshift`.
### Bug fixes ### Bug fixes
- #28 Fix broken documentation links. - [\#28](https://github.com/arkworks-rs/curves/pull/28), [\#49](https://github.com/arkworks-rs/curves/pull/49) Fix broken documentation links.
- #38 Compile with `panic='abort'` in release mode, for safety of the library across FFI boundaries. - [\#38](https://github.com/arkworks-rs/curves/pull/38) Compile with `panic='abort'` in release mode, for safety of the library across FFI boundaries.
- [\#45](https://github.com/arkworks-rs/curves/pull/45) Fix `ark-ed-on-mnt4-753`.
## v0.1.0 ## v0.1.0

View File

@@ -25,12 +25,17 @@ members = [
"mnt4_753", "mnt4_753",
"mnt6_753", "mnt6_753",
"ed_on_mnt4_298", "ed_on_mnt4_753",
"pallas", "pallas",
"vesta", "vesta",
] ]
[patch.'https://github.com/arkworks-rs/algebra']
ark-ff = { path = '../algebra/ff' }
ark-ec = { path = '../algebra/ec' }
ark-serialize = { path = '../algebra/serialize' }
[profile.release] [profile.release]
opt-level = 3 opt-level = 3
lto = "thin" lto = "thin"

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-bls12-377" name = "ark-bls12-377"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The BLS12-377 pairing-friendly elliptic curve" description = "The BLS12-377 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-bls12-377/" documentation = "https://docs.rs/ark-bls12-377/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version="^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version="^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version="^0.2.0", default-features = false, optional = true }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version="^0.2.0", default-features = false }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version="^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version="^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version="^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { version="^0.2.0", path = "../curve-constraint-tests", default-features = false }
[features] [features]
default = [ "curve" ] default = [ "curve" ]

View File

@@ -8,7 +8,7 @@
)] )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the BLS12_377 curve generated in [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). //! This library implements the BLS12_377 curve generated in [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962).
//! The name denotes that it is a Barreto--Lynn--Scott curve of embedding degree 12, //! The name denotes that it is a Barreto--Lynn--Scott curve of embedding degree 12,
//! defined over a 377-bit (prime) field. The main feature of this curve is that //! defined over a 377-bit (prime) field. The main feature of this curve is that
//! both the scalar field and the base field are highly 2-adic. //! both the scalar field and the base field are highly 2-adic.

View File

@@ -1,25 +1,25 @@
[package] [package]
name = "ark-bls12-381" name = "ark-bls12-381"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The BLS12-381 pairing-friendly elliptic curve" description = "The BLS12-381 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-bls12-381/" documentation = "https://docs.rs/ark-bls12-381/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version="^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version="^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version="^0.2.0", default-features = false }
[dev-dependencies] [dev-dependencies]
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version="^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version="^0.2.0", default-features = false }
[features] [features]
default = [ "curve" ] default = [ "curve" ]

View File

@@ -1,25 +1,25 @@
[package] [package]
name = "ark-bn254" name = "ark-bn254"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The BN254 pairing-friendly elliptic curve" description = "The BN254 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-bn254/" documentation = "https://docs.rs/ark-bn254/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version="^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version="^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version="^0.2.0", default-features = false }
[dev-dependencies] [dev-dependencies]
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version="^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version="^0.2.0", default-features = false }
[features] [features]
default = [ "curve" ] default = [ "curve" ]

View File

@@ -8,7 +8,7 @@
)] )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the BN254 curve that was sampled as part of the [[BCTV14]][https://eprint.iacr.org/2013/879.pdf] paper . //! This library implements the BN254 curve that was sampled as part of the [\[BCTV14\]](https://eprint.iacr.org/2013/879.pdf) paper .
//! The name denotes that it is a Barreto--Naehrig curve of embedding degree 12, //! The name denotes that it is a Barreto--Naehrig curve of embedding degree 12,
//! defined over a 254-bit (prime) field. The scalar field is highly 2-adic. //! defined over a 254-bit (prime) field. The scalar field is highly 2-adic.
//! //!
@@ -26,7 +26,7 @@
//! * valuation(r - 1, 2) = 28 //! * valuation(r - 1, 2) = 28
//! * G1 curve equation: y^2 = x^3 + 3 //! * G1 curve equation: y^2 = x^3 + 3
//! * G2 curve equation: y^2 = x^3 + B, where //! * G2 curve equation: y^2 = x^3 + B, where
//! * B = 3/(u+9) where Fq2[u]=Fq/u+1 //! * B = 3/(u+9) where Fq2\[u\]=Fq/u+1
//! = Fq2(19485874751759354771024239261021720505790618469301721065564631296452457478373, 266929791119991161246907387137283842545076965332900288569378510910307636690) //! = Fq2(19485874751759354771024239261021720505790618469301721065564631296452457478373, 266929791119991161246907387137283842545076965332900288569378510910307636690)
#[cfg(feature = "curve")] #[cfg(feature = "curve")]

View File

@@ -1,26 +1,26 @@
[package] [package]
name = "ark-bw6-761" name = "ark-bw6-761"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The BW6-761 pairing-friendly elliptic curve" description = "The BW6-761 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-bw6-761/" documentation = "https://docs.rs/ark-bw6-761/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version="^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version="^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version="^0.2.0", default-features = false }
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "base_field" ] } ark-bls12-377 = { version="^0.2.0", path = "../bls12_377", default-features = false, features = [ "base_field" ] }
[dev-dependencies] [dev-dependencies]
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version="^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version="^0.2.0", default-features = false }
[features] [features]
default = [] default = []

View File

@@ -16,7 +16,7 @@ impl Fp3Parameters for Fq3Parameters {
type Fp = Fq; type Fp = Fq;
/// NONRESIDUE = -4 /// NONRESIDUE = -4
// Fq3 = Fq[u]/u^3+4 // Fq3 = Fq\[u\]/u^3+4
#[rustfmt::skip] #[rustfmt::skip]
const NONRESIDUE: Fq = field_new!(Fq, "-4"); const NONRESIDUE: Fq = field_new!(Fq, "-4");

View File

@@ -8,7 +8,7 @@
)] )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the BW6_761 curve generated in [[EG20]](https://eprint.iacr.org/2020/351). //! This library implements the BW6_761 curve generated in [\[EG20\]](https://eprint.iacr.org/2020/351).
//! The name denotes that it is a curve generated using the Brezing--Weng method, and that //! The name denotes that it is a curve generated using the Brezing--Weng method, and that
//! its embedding degree is 6. //! its embedding degree is 6.
//! The main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve. //! The main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve.

View File

@@ -1,28 +1,26 @@
[package] [package]
name = "ark-cp6-782" name = "ark-cp6-782"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The CP6-782 pairing-friendly elliptic curve" description = "The CP6-782 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-cp6-782/" documentation = "https://docs.rs/ark-cp6-782/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "base_field" ] } ark-bls12-377 = { version = "^0.2.0", path = "../bls12_377", default-features = false, features = [ "base_field" ] }
[dev-dependencies] [dev-dependencies]
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
rand = { version = "0.7", default-features = false }
rand_xorshift = "0.2"
[features] [features]
default = [] default = []

View File

@@ -8,7 +8,7 @@
)] )]
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the CP6_782 curve generated in [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). //! This library implements the CP6_782 curve generated in [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962).
//! The name denotes that it was generated using the Cocks--Pinch method for the embedding degree 6. //! The name denotes that it was generated using the Cocks--Pinch method for the embedding degree 6.
//! The main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve. //! The main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve.
//! //!

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "ark-curve-benches" name = "ark-curve-benches"
version = "0.1.1-alpha.0" version = "0.2.0"
authors = [ authors = [
"Sean Bowe", "Sean Bowe",
"Alessandro Chiesa", "Alessandro Chiesa",
@@ -13,7 +13,7 @@ description = "A benchmark library for finite fields and elliptic curves"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/algebra/" documentation = "https://docs.rs/algebra/"
keywords = ["cryptography", "finite fields", "elliptic curves", "pairing"] keywords = ["cryptography", "finite-fields", "elliptic-curves", "pairing"]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
@@ -27,10 +27,10 @@ build = "build.rs"
bencher = { version = "0.1.5" } bencher = { version = "0.1.5" }
[dev-dependencies] [dev-dependencies]
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-mnt4-298 = { path = "../mnt4_298" } ark-mnt4-298 = { path = "../mnt4_298" }
ark-mnt6-298 = { path = "../mnt6_298" } ark-mnt6-298 = { path = "../mnt6_298" }

View File

@@ -1,24 +1,24 @@
[package] [package]
name = "ark-curve-constraint-tests" name = "ark-curve-constraint-tests"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A library for testing constraints for finite fields, elliptic curves, and pairings" description = "A library for testing constraints for finite fields, elliptic curves, and pairings"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/curves" repository = "https://github.com/arkworks-rs/curves"
documentation = "https://docs.rs/ark-curve-constraint-tests/" documentation = "https://docs.rs/ark-curve-constraint-tests/"
keywords = ["cryptography", "finite fields", "elliptic curves", "r1cs" ] keywords = ["cryptography", "finite-fields", "elliptic-curves", "r1cs" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false } ark-r1cs-std = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
[features] [features]
default = [] default = []

View File

@@ -1,31 +1,29 @@
[package] [package]
name = "ark-ed-on-bls12-377" name = "ark-ed-on-bls12-377"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BLS12-377 curve" description = "A Twisted Edwards curve defined over the scalar field of the BLS12-377 curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-ed-on-bls12-377/" documentation = "https://docs.rs/ark-ed-on-bls12-377/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "scalar_field" ] } ark-bls12-377 = { version = "^0.2.0", path = "../bls12_377", default-features = false, features = [ "scalar_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
rand = { version = "0.7", default-features = false }
rand_xorshift = "0.2"
[features] [features]
default = [] default = []

View File

@@ -11,7 +11,7 @@
//! This library implements a twisted Edwards curve whose base field is the scalar field of the //! This library implements a twisted Edwards curve whose base field is the scalar field of the
//! curve BLS12-377. This allows defining cryptographic primitives that use elliptic curves over //! curve BLS12-377. This allows defining cryptographic primitives that use elliptic curves over
//! the scalar field of the latter curve. This curve was generated as part of the paper //! the scalar field of the latter curve. This curve was generated as part of the paper
//! [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). //! [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962).
//! //!
//! Curve information: //! Curve information:
//! * Base field: q = 8444461749428370424248824938781546531375899335154063827935233455917409239041 //! * Base field: q = 8444461749428370424248824938781546531375899335154063827935233455917409239041

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-ed-on-bls12-381" name = "ark-ed-on-bls12-381"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BLS12-381 curve" description = "A Twisted Edwards curve defined over the scalar field of the BLS12-381 curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-ed-on-bls12-381/" documentation = "https://docs.rs/ark-ed-on-bls12-381/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-bls12-381 = { path = "../bls12_381", default-features = false, features = [ "scalar_field" ] } ark-bls12-381 = { version = "^0.2.0", path = "../bls12_381", default-features = false, features = [ "scalar_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-ed-on-bn254" name = "ark-ed-on-bn254"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BN254 curve" description = "A Twisted Edwards curve defined over the scalar field of the BN254 curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-ed-on-bn254/" documentation = "https://docs.rs/ark-ed-on-bn254/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-bn254 = { path = "../bn254", default-features = false, features = [ "scalar_field" ] } ark-bn254 = { version = "^0.2.0", path = "../bn254", default-features = false, features = [ "scalar_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -1,25 +1,25 @@
[package] [package]
name = "ark-ed-on-bw6-761" name = "ark-ed-on-bw6-761"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BW6-761 curve" description = "A Twisted Edwards curve defined over the scalar field of the BW6-761 curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-ed-on-bw6-761/" documentation = "https://docs.rs/ark-ed-on-bw6-761/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ed-on-cp6-782 = { path = "../ed_on_cp6_782", default-features = false } ark-ed-on-cp6-782 = { version = "^0.2.0", path = "../ed_on_cp6_782", default-features = false }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false } ark-r1cs-std = { version = "^0.2.0", default-features = false }
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
[features] [features]
default = [] default = []

View File

@@ -4,7 +4,7 @@
//! curve BW6_761. *It is the same curve as that in `ark-ed_on_cp6_782`.* //! curve BW6_761. *It is the same curve as that in `ark-ed_on_cp6_782`.*
//! This allows defining cryptographic primitives that use elliptic curves over the scalar field of //! This allows defining cryptographic primitives that use elliptic curves over the scalar field of
//! the latter curve. This curve was generated as part of the paper //! the latter curve. This curve was generated as part of the paper
//! [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). //! [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962).
//! //!
//! Curve information: //! Curve information:
//! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177 //! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-ed-on-cp6-782" name = "ark-ed-on-cp6-782"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the CP6-782 curve" description = "A Twisted Edwards curve defined over the scalar field of the CP6-782 curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-ed-on-cp6-782/" documentation = "https://docs.rs/ark-ed-on-cp6-782/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "base_field" ] } ark-bls12-377 = { version = "^0.2.0", path = "../bls12_377", default-features = false, features = [ "base_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -10,7 +10,7 @@
//! This library implements a twisted Edwards curve whose base field is the scalar field of the curve CP6. //! This library implements a twisted Edwards curve whose base field is the scalar field of the curve CP6.
//! This allows defining cryptographic primitives that use elliptic curves over the scalar field of the latter curve. //! This allows defining cryptographic primitives that use elliptic curves over the scalar field of the latter curve.
//! This curve was generated as part of the paper [[BCGMMW20, “Zexe”]](https://eprint.iacr.org/2018/962). //! This curve was generated as part of the paper [\[BCGMMW20, “Zexe”\]](https://eprint.iacr.org/2018/962).
//! //!
//! Curve information: //! Curve information:
//! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177 //! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-ed-on-mnt4-298" name = "ark-ed-on-mnt4-298"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the MNT4-298 curve" description = "A Twisted Edwards curve defined over the scalar field of the MNT4-298 curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-ed-on-mnt4-298/" documentation = "https://docs.rs/ark-ed-on-mnt4-298/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-mnt4-298 = { path = "../mnt4_298", default-features = false, features = [ "scalar_field" ] } ark-mnt4-298 = { version = "^0.2.0", path = "../mnt4_298", default-features = false, features = [ "scalar_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-ed-on-mnt4-753" name = "ark-ed-on-mnt4-753"
version = "0.1.0" version = "0.2.1-alpha.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the MNT4-753 curve" description = "A Twisted Edwards curve defined over the scalar field of the MNT4-753 curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-ed-on-mnt4-753/" documentation = "https://docs.rs/ark-ed-on-mnt4-753/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-mnt4-753 = { path = "../mnt4_753", default-features = false, features = [ "scalar_field" ] } ark-mnt4-753 = { version = "^0.2.0", path = "../mnt4_753", default-features = false, features = [ "scalar_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -1,5 +1,5 @@
use ark_r1cs_std::groups::curves::twisted_edwards::AffineVar;
use crate::*; use crate::*;
use ark_r1cs_std::groups::curves::twisted_edwards::AffineVar;
use crate::constraints::fields::FqVar; use crate::constraints::fields::FqVar;

View File

@@ -1,5 +1,5 @@
use ark_r1cs_std::fields::fp::FpVar;
use crate::fq::Fq; use crate::fq::Fq;
use ark_r1cs_std::fields::fp::FpVar;
/// A variable that is the R1CS equivalent of `crate::Fq`. /// A variable that is the R1CS equivalent of `crate::Fq`.
pub type FqVar = FpVar<Fq>; pub type FqVar = FpVar<Fq>;

View File

@@ -2,7 +2,7 @@ use ark_ec::{
models::{ModelParameters, MontgomeryModelParameters, TEModelParameters}, models::{ModelParameters, MontgomeryModelParameters, TEModelParameters},
twisted_edwards_extended::{GroupAffine, GroupProjective}, twisted_edwards_extended::{GroupAffine, GroupProjective},
}; };
use ark_ff::{biginteger::BigInteger768, field_new}; use ark_ff::field_new;
use crate::{fq::Fq, fr::Fr}; use crate::{fq::Fq, fr::Fr};
@@ -20,75 +20,22 @@ impl ModelParameters for EdwardsParameters {
type ScalarField = Fr; type ScalarField = Fr;
} }
// Many parameters need to be written down in the Montgomery residue form,
// discussed below. Some useful numbers:
// R for Fq: 11407975440035778516953587871987109648531742722982233186120790377529569367095961954159305159259556262528904776132787438725571821295685691762729353555475679813615501328617736020411951837995932262333059670631633855898874183380802
// R for Fr: 933352698056040166367534174176950366489065242993745918174914647273231163953185260894581718311971532174387033963715296372791285468903747270837716556902938133611910788060028435531754797383796835009316018259656953442114538695438
impl TEModelParameters for EdwardsParameters { impl TEModelParameters for EdwardsParameters {
/// COEFF_A = -1 /// COEFF_A = -1
/// Needs to be in the Montgomery residue form in Fq
/// I.e., -1 * R for Fq
/// = 30490515527883174885390626919253527479638967196971715885662712543495783445475144818899588604530782658889166195755671038597601236195908163306966888299320716352105914996732328421058466299850466207278876048428274308321910292779199
#[rustfmt::skip] #[rustfmt::skip]
const COEFF_A: Fq = field_new!(Fq, BigInteger768([ const COEFF_A: Fq = field_new!(Fq, "-1");
2265581976117350591u64,
18442012872391748519u64,
3807704300793525789u64,
12280644139289115082u64,
10655371227771325282u64,
1346491763263331896u64,
7477357615964975877u64,
12570239403004322603u64,
2180620924574446161u64,
12129628062772479841u64,
8853285699251153944u64,
362282887012814u64,
]));
/// COEFF_D = 317690 /// COEFF_D = 317690
/// Needs to be in the Montgomery residue form in Fq
/// I.e., 317690 * R for Fq
/// = 22147310944926701613095824060993292411108298129020138512675871596899298127988454048404371067902679066037332245471578749765607461010546427833106841035248048771826362113332201923280907352099197626899000000763383579702914883060881
#[rustfmt::skip] #[rustfmt::skip]
const COEFF_D: Fq = field_new!(Fq, BigInteger768([ const COEFF_D: Fq = field_new!(Fq, "317690");
17599538631181665425u64,
541385733032329781u64,
10984951882154109942u64,
6745898816867096302u64,
8606788232777167026u64,
17697068798460151905u64,
7726746940317276687u64,
16708084840201435716u64,
10141323747759975110u64,
6527904409415579649u64,
18367733563217133340u64,
263150412834478u64,
]));
/// COFACTOR = 8 /// COFACTOR = 8
const COFACTOR: &'static [u64] = &[8]; const COFACTOR: &'static [u64] = &[8];
/// COFACTOR_INV (mod r) = /// COFACTOR_INV (mod r) =
/// 4582647449616135528381398492791944685893671397494963179726320631987147963874964803303316505414568319530101512550297775574042810022553679071007001162683923594233560231270043634777390699589793776691858866199511300853468155295505 /// 4582647449616135528381398492791944685893671397494963179726320631987147963874964803303316505414568319530101512550297775574042810022553679071007001162683923594233560231270043634777390699589793776691858866199511300853468155295505
/// Needs to be in the Montgomery residue form in Fr
/// I.e., COFACTOR_INV * R for Fr
/// = 1425996930004472314619198483998388706066467840372779148265098797191196170886995244269913144907444532816113097116978062210611142118628305286285286330379702579339648914584658878663580978127201397716695606910888919424112361707074
#[rustfmt::skip] #[rustfmt::skip]
const COFACTOR_INV: Fr = field_new!(Fr, BigInteger768([ const COFACTOR_INV: Fr = field_new!(Fr, "4582647449616135528381398492791944685893671397494963179726320631987147963874964803303316505414568319530101512550297775574042810022553679071007001162683923594233560231270043634777390699589793776691858866199511300853468155295505");
18349096995079034434u64,
12232096963923221952u64,
10313403112747203584u64,
7266093872567585103u64,
9102010985112647012u64,
11539789563873699451u64,
5062476400815403157u64,
3112383580531982668u64,
9803941911066678468u64,
11670110706913295633u64,
5956199581925454898u64,
16943442107464u64,
]));
/// Generated randomly /// Generated randomly
const AFFINE_GENERATOR_COEFFS: (Self::BaseField, Self::BaseField) = (GENERATOR_X, GENERATOR_Y); const AFFINE_GENERATOR_COEFFS: (Self::BaseField, Self::BaseField) = (GENERATOR_X, GENERATOR_Y);
@@ -104,85 +51,22 @@ impl TEModelParameters for EdwardsParameters {
impl MontgomeryModelParameters for EdwardsParameters { impl MontgomeryModelParameters for EdwardsParameters {
/// COEFF_A = 40212480635445336270302172549278415015971955924352275480357619589919378421241453024646804979794897776496091377551124233752850182852486874251193367187677349266115879541798515219680194853352256809837126277708211496794264654247419 /// COEFF_A = 40212480635445336270302172549278415015971955924352275480357619589919378421241453024646804979794897776496091377551124233752850182852486874251193367187677349266115879541798515219680194853352256809837126277708211496794264654247419
/// Needs to be in the Montgomery residue form in Fq
/// I.e., COEFF_A * R for Fq
/// = 30548714567617468394128273134168309733495884043859854416819409495212098575586848195824755026287273763308450716502830186864520759966983420083939453225231731740328282532297868204762840705631404761799649264638732114864775402781225
#[rustfmt::skip] #[rustfmt::skip]
const COEFF_A: Fq = field_new!(Fq, BigInteger768([ const COEFF_A: Fq = field_new!(Fq, "40212480635445336270302172549278415015971955924352275480357619589919378421241453024646804979794897776496091377551124233752850182852486874251193367187677349266115879541798515219680194853352256809837126277708211496794264654247419");
4717325759818398249u64,
9984799932299155706u64,
1320735555238925850u64,
17027346723122076572u64,
2632519042034336982u64,
15439824589583270152u64,
8351651296737343223u64,
11351622927160584696u64,
3108522085485690820u64,
6958456540352275598u64,
16034686916204205245u64,
362974397660347u64,
]));
/// COEFF_B = 1686010332473617132042042241962222112198753995601673591425883331105974391329653748412088783995441144921979594337334243570322874639106980818502874667119046899605536783551549221790223284494141659774809441351696667426519821912580 /// COEFF_B = 1686010332473617132042042241962222112198753995601673591425883331105974391329653748412088783995441144921979594337334243570322874639106980818502874667119046899605536783551549221790223284494141659774809441351696667426519821912580
/// Needs to be in the Montgomery residue form in Fq
// I.e., COEFF_B * R for Fq
// = 30432316488148881376652980704338745225782050350083577354506015591779468315363441441974422182774291554469881675008511890330681712424832906529994323373409700963883547461166788637354091894069527652758102832217816501779045182777173
#[rustfmt::skip] #[rustfmt::skip]
const COEFF_B: Fq = field_new!(Fq, BigInteger768([ const COEFF_B: Fq = field_new!(Fq, "1686010332473617132042042241962222112198753995601673591425883331105974391329653748412088783995441144921979594337334243570322874639106980818502874667119046899605536783551549221790223284494141659774809441351696667426519821912580");
18260582266125854549u64,
8452481738774789715u64,
6294673046348125729u64,
7533941555456153592u64,
231479339798761966u64,
5699903010652945257u64,
6603063935192608530u64,
13788855878848060510u64,
1252719763663201502u64,
17300799585192684084u64,
1671884482298102643u64,
361591376365281u64,
]));
type TEModelParameters = EdwardsParameters; type TEModelParameters = EdwardsParameters;
} }
/// GENERATOR_X = /// GENERATOR_X =
/// 41126137307536311801428235632419266329480236393691483739251051053325519918069469184425962602019877935619960143044210127218431046103600632347238890180171944971817510488009355627861577881883236134824745174469522277738875418206826 /// 41126137307536311801428235632419266329480236393691483739251051053325519918069469184425962602019877935619960143044210127218431046103600632347238890180171944971817510488009355627861577881883236134824745174469522277738875418206826
/// Needs to be in the Montgomery residue form in Fq
/// I.e., GENERATOR_X * R for Fq
/// = 17458296603084005843875564204476809882690765950143935590811069375604430769391871724158635621148427226413334766092842987247361751645959801401160673759590522483750685475882467271029344718076741595831312033991612062403782328664175
#[rustfmt::skip] #[rustfmt::skip]
const GENERATOR_X: Fq = field_new!(Fq, BigInteger768([ const GENERATOR_X: Fq = field_new!(Fq, "41126137307536311801428235632419266329480236393691483739251051053325519918069469184425962602019877935619960143044210127218431046103600632347238890180171944971817510488009355627861577881883236134824745174469522277738875418206826");
13391543849638641775u64,
1472718285337442467u64,
1704796371472020786u64,
1309193942690519845u64,
11187264906425773918u64,
11963130799714018220u64,
10821241385017749516u64,
4661882526685671286u64,
8328914571224024668u64,
17202160931109725769u64,
4708938015393622850u64,
207436377712515u64,
]));
/// GENERATOR_Y = /// GENERATOR_Y =
/// 18249602579663240810999977712212098844157230095713722119136881953011435881503578209163288529034825612841855863913294174196656077002578342108932925693640046298989762289691399012056048139253937882385653600831389370198228562812681 /// 18249602579663240810999977712212098844157230095713722119136881953011435881503578209163288529034825612841855863913294174196656077002578342108932925693640046298989762289691399012056048139253937882385653600831389370198228562812681
/// Needs to be in the Montgomery residue form in Fq
/// I.e., GENERATOR_Y * R for Fq
/// = 9017791529346511307345374145466037779022974291216533108328228023141994468888559894991603799439817566592668010556604996318161436165296215592281656017954181737938978992370627048110847574165717052386876801764386102664064737203581
#[rustfmt::skip] #[rustfmt::skip]
const GENERATOR_Y: Fq = field_new!(Fq, BigInteger768([ const GENERATOR_Y: Fq = field_new!(Fq, "18249602579663240810999977712212098844157230095713722119136881953011435881503578209163288529034825612841855863913294174196656077002578342108932925693640046298989762289691399012056048139253937882385653600831389370198228562812681");
16764059510974436733u64,
10694630934032454957u64,
15899992550979352399u64,
17663221529566141065u64,
3780246386961240559u64,
6062186621379836072u64,
11042203340250178810u64,
1263100291243127914u64,
14407501552666806512u64,
13385165116432280059u64,
11978187531853934313u64,
107147796394053u64,
]));

View File

@@ -1,6 +1,6 @@
use ark_ec::{AffineCurve, ProjectiveCurve}; use ark_ec::{AffineCurve, ProjectiveCurve};
use ark_std::test_rng;
use ark_std::rand::Rng; use ark_std::rand::Rng;
use ark_std::test_rng;
use crate::*; use crate::*;

View File

@@ -1,5 +1,5 @@
use ark_std::test_rng;
use ark_std::rand::Rng; use ark_std::rand::Rng;
use ark_std::test_rng;
use crate::{Fq, Fr}; use crate::{Fq, Fr};
use ark_algebra_test_templates::fields::*; use ark_algebra_test_templates::fields::*;

View File

@@ -21,10 +21,10 @@
//! * a = -1 //! * a = -1
//! * d = 317690 mod q //! * d = 317690 mod q
mod curves;
mod fields;
#[cfg(feature = "r1cs")] #[cfg(feature = "r1cs")]
pub mod constraints; pub mod constraints;
mod curves;
mod fields;
pub use curves::*; pub use curves::*;
pub use fields::*; pub use fields::*;

View File

@@ -1,27 +1,27 @@
[package] [package]
name = "ark-mnt4-298" name = "ark-mnt4-298"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The MNT4-298 pairing-friendly elliptic curve" description = "The MNT4-298 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-mnt4-298/" documentation = "https://docs.rs/ark-mnt4-298/"
keywords = ["cryptography", "finite fields" ] keywords = ["cryptography", "finite-fields" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -9,7 +9,7 @@
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the MNT4_298 curve generated by //! This library implements the MNT4_298 curve generated by
//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a
//! Miyaji--Nakabayashi--Takano curve of embedding degree 4, defined over a 298-bit (prime) field. //! Miyaji--Nakabayashi--Takano curve of embedding degree 4, defined over a 298-bit (prime) field.
//! The main feature of this curve is that its scalar field and base field respectively equal the //! The main feature of this curve is that its scalar field and base field respectively equal the
//! base field and scalar field of MNT6_298. //! base field and scalar field of MNT6_298.

View File

@@ -1,27 +1,27 @@
[package] [package]
name = "ark-mnt4-753" name = "ark-mnt4-753"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The MNT4-753 pairing-friendly elliptic curve" description = "The MNT4-753 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-mnt4-753/" documentation = "https://docs.rs/ark-mnt4-753/"
keywords = ["cryptography", "finite fields" ] keywords = ["cryptography", "finite-fields" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -9,7 +9,7 @@
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the MNT4_753 curve generated in //! This library implements the MNT4_753 curve generated in
//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a
//! Miyaji--Nakabayashi--Takano curve of embedding degree 4, defined over a 753-bit (prime) field. //! Miyaji--Nakabayashi--Takano curve of embedding degree 4, defined over a 753-bit (prime) field.
//! The main feature of this curve is that its scalar field and base field respectively equal the //! The main feature of this curve is that its scalar field and base field respectively equal the
//! base field and scalar field of MNT6_753. //! base field and scalar field of MNT6_753.

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-mnt6-298" name = "ark-mnt6-298"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The MNT6-298 pairing-friendly elliptic curve" description = "The MNT6-298 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-mnt6-298/" documentation = "https://docs.rs/ark-mnt6-298/"
keywords = ["cryptography", "finite fields" ] keywords = ["cryptography", "finite-fields", "elliptic-curves"]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-mnt4-298 = { path = "../mnt4_298", default-features = false, features = [ "scalar_field", "base_field" ] } ark-mnt4-298 = { version = "^0.2.0", path = "../mnt4_298", default-features = false, features = [ "scalar_field", "base_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -9,7 +9,7 @@
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the MNT6_298 curve generated in //! This library implements the MNT6_298 curve generated in
//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a
//! Miyaji--Nakabayashi--Takano curve of embedding degree 6, defined over a 298-bit (prime) field. //! Miyaji--Nakabayashi--Takano curve of embedding degree 6, defined over a 298-bit (prime) field.
//! The main feature of this curve is that its scalar field and base field respectively equal the //! The main feature of this curve is that its scalar field and base field respectively equal the
//! base field and scalar field of MNT4_298. //! base field and scalar field of MNT4_298.

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-mnt6-753" name = "ark-mnt6-753"
version = "0.1.0" version = "0.2.0"
authors = [ "arkworks contributors" ] authors = [ "arkworks contributors" ]
description = "The MNT6-753 pairing-friendly elliptic curve" description = "The MNT6-753 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/algebra" repository = "https://github.com/arkworks-rs/algebra"
documentation = "https://docs.rs/ark-mnt6-753/" documentation = "https://docs.rs/ark-mnt6-753/"
keywords = ["cryptography", "finite fields" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"] include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-mnt4-753 = { path = "../mnt4_753", default-features = false, features = [ "scalar_field", "base_field" ] } ark-mnt4-753 = { version = "^0.2.0", path = "../mnt4_753", default-features = false, features = [ "scalar_field", "base_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -9,7 +9,7 @@
#![forbid(unsafe_code)] #![forbid(unsafe_code)]
//! This library implements the MNT6_753 curve generated in //! This library implements the MNT6_753 curve generated in
//! [[BCTV14]](https://eprint.iacr.org/2014/595). The name denotes that it is a //! [\[BCTV14\]](https://eprint.iacr.org/2014/595). The name denotes that it is a
//! Miyaji--Nakabayashi--Takano curve of embedding degree 6, defined over a 753-bit (prime) field. //! Miyaji--Nakabayashi--Takano curve of embedding degree 6, defined over a 753-bit (prime) field.
//! The main feature of this curve is that its scalar field and base field respectively equal the //! The main feature of this curve is that its scalar field and base field respectively equal the
//! base field and scalar field of MNT4_753. //! base field and scalar field of MNT4_753.

View File

@@ -1,27 +1,27 @@
[package] [package]
name = "ark-pallas" name = "ark-pallas"
version = "0.1.0" version = "0.2.0"
authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ] authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ]
description = "The Pallas prime-order elliptic curve" description = "The Pallas prime-order elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/curves" repository = "https://github.com/arkworks-rs/curves"
documentation = "https://docs.rs/ark-pallas/" documentation = "https://docs.rs/ark-pallas/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src"] include = ["Cargo.toml", "src"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]

View File

@@ -0,0 +1,31 @@
import re
import sys
import fileinput
import os
# Set this to the name of the repo, if you don't want it to be read from the filesystem.
# It assumes the changelog file is in the root of the repo.
repo_name = ""
# This script goes through the provided file, and replaces any " \#<number>",
# with the valid mark down formatted link to it. e.g.
# " [\#number](https://github.com/arkworks-rs/template/pull/<number>)
# Note that if the number is for a an issue, github will auto-redirect you when you click the link.
# It is safe to run the script multiple times in succession.
#
# Example usage $ python3 linkify_changelog.py ../CHANGELOG.md
if len(sys.argv) < 2:
print("Must include path to changelog as the first argument to the script")
print("Example Usage: python3 linkify_changelog.py ../CHANGELOG.md")
exit()
changelog_path = sys.argv[1]
if repo_name == "":
path = os.path.abspath(changelog_path)
components = path.split(os.path.sep)
repo_name = components[-2]
for line in fileinput.input(inplace=True):
line = re.sub(r"\- #([0-9]*)", r"- [\\#\1](https://github.com/arkworks-rs/" + repo_name + r"/pull/\1)", line.rstrip())
# edits the current file
print(line)

View File

@@ -1,28 +1,28 @@
[package] [package]
name = "ark-vesta" name = "ark-vesta"
version = "0.1.0" version = "0.2.0"
authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ] authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ]
description = "The Vesta prime-order elliptic curve" description = "The Vesta prime-order elliptic curve"
homepage = "https://arkworks.rs" homepage = "https://arkworks.rs"
repository = "https://github.com/arkworks-rs/curves" repository = "https://github.com/arkworks-rs/curves"
documentation = "https://docs.rs/ark-vesta/" documentation = "https://docs.rs/ark-vesta/"
keywords = ["cryptography", "finite fields", "elliptic curves" ] keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
categories = ["cryptography"] categories = ["cryptography"]
include = ["Cargo.toml", "src"] include = ["Cargo.toml", "src"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ff = { version = "^0.2.0", default-features = false }
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-ec = { version = "^0.2.0", default-features = false }
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true } ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false } ark-std = { version = "^0.2.0", default-features = false }
ark-pallas = { path = "../pallas", default-features = false, features = [ "scalar_field", "base_field" ] } ark-pallas = { version = "^0.2.0", path = "../pallas", default-features = false, features = [ "scalar_field", "base_field" ] }
[dev-dependencies] [dev-dependencies]
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false } ark-relations = { version = "^0.2.0", default-features = false }
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-serialize = { version = "^0.2.0", default-features = false }
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false } ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false } ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features] [features]