mirror of
https://github.com/arnaucube/ark-curves-cherry-picked.git
synced 2026-01-27 14:13:46 +01:00
Compare commits
4 Commits
ark-vesta-
...
fq2_neg_no
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53dd4de35b | ||
|
|
cd60d33bcb | ||
|
|
64ece6414f | ||
|
|
bb033e9949 |
21
.github/workflows/ci.yml
vendored
21
.github/workflows/ci.yml
vendored
@@ -86,27 +86,6 @@ jobs:
|
||||
--all-features \
|
||||
--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:
|
||||
name: Check no_std
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
20
.github/workflows/linkify_changelog.yml
vendored
20
.github/workflows/linkify_changelog.yml
vendored
@@ -1,20 +0,0 @@
|
||||
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
|
||||
15
CHANGELOG.md
15
CHANGELOG.md
@@ -1,10 +1,10 @@
|
||||
## v0.2.0
|
||||
## Pending
|
||||
|
||||
### Breaking changes
|
||||
- Requires all crates from `arkworks-rs/algebra` to have version `v0.2.0` or greater.
|
||||
|
||||
### Features
|
||||
- [\#3](https://github.com/arkworks-rs/curves/pull/3) Add constraints for
|
||||
- #3 Add constraints for
|
||||
`ark-bls12-377`,
|
||||
`ark-ed-on-bls12-377`,
|
||||
`ark-ed-on-bls12-381`,
|
||||
@@ -17,16 +17,15 @@
|
||||
`ark-mnt6-298`,
|
||||
`ark-mnt4-753`,
|
||||
`ark-mnt6-753`.
|
||||
- [\#7](https://github.com/arkworks-rs/curves/pull/7) Add benchmarks for Edwards curves.
|
||||
- [\#19](https://github.com/arkworks-rs/curves/pull/19) Change field constants to be provided as normal strings, instead of in Montgomery form.
|
||||
- #7 Add benchmarks for Edwards curves.
|
||||
- #19 Change field constants to be provided as normal strings, instead of in montgomery form.
|
||||
|
||||
### Improvements
|
||||
- [\#42](https://github.com/arkworks-rs/curves/pull/42) Remove the dependency of `rand_xorshift`.
|
||||
- #42 Remove the dependency of `rand_xorshift`.
|
||||
|
||||
### Bug fixes
|
||||
- [\#28](https://github.com/arkworks-rs/curves/pull/28), [\#49](https://github.com/arkworks-rs/curves/pull/49) Fix broken documentation links.
|
||||
- [\#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`.
|
||||
- #28 Fix broken documentation links.
|
||||
- #38 Compile with `panic='abort'` in release mode, for safety of the library across FFI boundaries.
|
||||
|
||||
## v0.1.0
|
||||
|
||||
|
||||
@@ -25,17 +25,12 @@ members = [
|
||||
|
||||
"mnt4_753",
|
||||
"mnt6_753",
|
||||
"ed_on_mnt4_753",
|
||||
"ed_on_mnt4_298",
|
||||
|
||||
"pallas",
|
||||
"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]
|
||||
opt-level = 3
|
||||
lto = "thin"
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-bls12-377"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The BLS12-377 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-bls12-377/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version="^0.2.0", default-features = false }
|
||||
ark-ec = { version="^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version="^0.2.0", default-features = false, optional = true }
|
||||
ark-std = { version="^0.2.0", default-features = false }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version="^0.2.0", default-features = false }
|
||||
ark-serialize = { version="^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version="^0.2.0", default-features = false }
|
||||
ark-curve-constraint-tests = { version="^0.2.0", path = "../curve-constraint-tests", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
default = [ "curve" ]
|
||||
|
||||
@@ -25,6 +25,7 @@ impl Fp2Parameters for Fq2Parameters {
|
||||
field_new!(Fq, "-1"),
|
||||
];
|
||||
|
||||
// Mul by -5
|
||||
#[inline(always)]
|
||||
fn mul_fp_by_nonresidue(fe: &Self::Fp) -> Self::Fp {
|
||||
let original = fe;
|
||||
@@ -32,6 +33,35 @@ impl Fp2Parameters for Fq2Parameters {
|
||||
fe.double_in_place();
|
||||
fe - original
|
||||
}
|
||||
|
||||
// x + -5 * y, computed as x - 5*y
|
||||
#[inline(always)]
|
||||
fn add_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
|
||||
// c becomes 5 * y
|
||||
let mut c = y.double();
|
||||
c.double_in_place();
|
||||
c += y;
|
||||
*x - c
|
||||
}
|
||||
|
||||
// x + y + (-5 * y), computed as x - 4*y
|
||||
#[inline(always)]
|
||||
fn add_and_mul_fp_by_nonresidue_plus_one(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
|
||||
// c becomes 4 * y
|
||||
let mut c = y.double();
|
||||
c.double_in_place();
|
||||
*x - c
|
||||
}
|
||||
|
||||
// x - (-5 * y), computed as x + 5*y
|
||||
#[inline(always)]
|
||||
fn sub_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
|
||||
// c becomes 5 * y
|
||||
let mut c = y.double();
|
||||
c.double_in_place();
|
||||
c += y;
|
||||
*x + c
|
||||
}
|
||||
}
|
||||
|
||||
pub const FQ2_ZERO: Fq2 = field_new!(Fq2, FQ_ZERO, FQ_ZERO);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
)]
|
||||
#![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,
|
||||
//! 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.
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
[package]
|
||||
name = "ark-bls12-381"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The BLS12-381 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-bls12-381/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version="^0.2.0", default-features = false }
|
||||
ark-ec = { version="^0.2.0", default-features = false }
|
||||
ark-std = { version="^0.2.0", default-features = false }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-serialize = { version="^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version="^0.2.0", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
|
||||
[features]
|
||||
default = [ "curve" ]
|
||||
|
||||
@@ -29,6 +29,18 @@ impl Fp2Parameters for Fq2Parameters {
|
||||
fn mul_fp_by_nonresidue(fp: &Self::Fp) -> Self::Fp {
|
||||
-(*fp)
|
||||
}
|
||||
|
||||
// x + -1 * y, computed as x - y
|
||||
#[inline(always)]
|
||||
fn add_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
|
||||
*x - y
|
||||
}
|
||||
|
||||
// x - (-1 * y), computed as x + y
|
||||
#[inline(always)]
|
||||
fn sub_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
|
||||
*x + y
|
||||
}
|
||||
}
|
||||
|
||||
pub const FQ2_ZERO: Fq2 = field_new!(Fq2, FQ_ZERO, FQ_ZERO);
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
[package]
|
||||
name = "ark-bn254"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The BN254 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-bn254/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version="^0.2.0", default-features = false }
|
||||
ark-ec = { version="^0.2.0", default-features = false }
|
||||
ark-std = { version="^0.2.0", default-features = false }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-serialize = { version="^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version="^0.2.0", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
|
||||
[features]
|
||||
default = [ "curve" ]
|
||||
|
||||
@@ -32,6 +32,18 @@ impl Fp2Parameters for Fq2Parameters {
|
||||
fn mul_fp_by_nonresidue(fe: &Self::Fp) -> Self::Fp {
|
||||
-(*fe)
|
||||
}
|
||||
|
||||
// x + -1 * y, computed as x - y
|
||||
#[inline(always)]
|
||||
fn add_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
|
||||
*x - y
|
||||
}
|
||||
|
||||
// x - (-1 * y), computed as x + y
|
||||
#[inline(always)]
|
||||
fn sub_and_mul_fp_by_nonresidue(x: &Self::Fp, y: &Self::Fp) -> Self::Fp {
|
||||
*x + y
|
||||
}
|
||||
}
|
||||
|
||||
pub const FQ2_ZERO: Fq2 = field_new!(Fq2, FQ_ZERO, FQ_ZERO);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
)]
|
||||
#![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,
|
||||
//! defined over a 254-bit (prime) field. The scalar field is highly 2-adic.
|
||||
//!
|
||||
@@ -26,7 +26,7 @@
|
||||
//! * valuation(r - 1, 2) = 28
|
||||
//! * G1 curve equation: y^2 = x^3 + 3
|
||||
//! * 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)
|
||||
|
||||
#[cfg(feature = "curve")]
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
[package]
|
||||
name = "ark-bw6-761"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The BW6-761 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-bw6-761/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version="^0.2.0", default-features = false }
|
||||
ark-ec = { version="^0.2.0", default-features = false }
|
||||
ark-std = { version="^0.2.0", default-features = false }
|
||||
ark-bls12-377 = { version="^0.2.0", path = "../bls12_377", default-features = false, features = [ "base_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "base_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-serialize = { version="^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version="^0.2.0", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
||||
@@ -16,7 +16,7 @@ impl Fp3Parameters for Fq3Parameters {
|
||||
type Fp = Fq;
|
||||
|
||||
/// NONRESIDUE = -4
|
||||
// Fq3 = Fq\[u\]/u^3+4
|
||||
// Fq3 = Fq[u]/u^3+4
|
||||
#[rustfmt::skip]
|
||||
const NONRESIDUE: Fq = field_new!(Fq, "-4");
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
)]
|
||||
#![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
|
||||
//! 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.
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
[package]
|
||||
name = "ark-cp6-782"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The CP6-782 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-cp6-782/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-bls12-377 = { version = "^0.2.0", path = "../bls12_377", default-features = false, features = [ "base_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "base_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
rand = { version = "0.7", default-features = false }
|
||||
rand_xorshift = "0.2"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
)]
|
||||
#![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 main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve.
|
||||
//!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ark-curve-benches"
|
||||
version = "0.2.0"
|
||||
version = "0.1.1-alpha.0"
|
||||
authors = [
|
||||
"Sean Bowe",
|
||||
"Alessandro Chiesa",
|
||||
@@ -13,7 +13,7 @@ description = "A benchmark library for finite fields and elliptic curves"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/algebra/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves", "pairing"]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves", "pairing"]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
@@ -27,10 +27,10 @@ build = "build.rs"
|
||||
bencher = { version = "0.1.5" }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
|
||||
ark-mnt4-298 = { path = "../mnt4_298" }
|
||||
ark-mnt6-298 = { path = "../mnt6_298" }
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
[package]
|
||||
name = "ark-curve-constraint-tests"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A library for testing constraints for finite fields, elliptic curves, and pairings"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/curves"
|
||||
documentation = "https://docs.rs/ark-curve-constraint-tests/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves", "r1cs" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves", "r1cs" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", 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-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
||||
@@ -1,29 +1,31 @@
|
||||
[package]
|
||||
name = "ark-ed-on-bls12-377"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A Twisted Edwards curve defined over the scalar field of the BLS12-377 curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-ed-on-bls12-377/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-bls12-377 = { version = "^0.2.0", path = "../bls12_377", default-features = false, features = [ "scalar_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "scalar_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", 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]
|
||||
default = []
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
//! 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
|
||||
//! 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:
|
||||
//! * Base field: q = 8444461749428370424248824938781546531375899335154063827935233455917409239041
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-ed-on-bls12-381"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A Twisted Edwards curve defined over the scalar field of the BLS12-381 curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-ed-on-bls12-381/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-bls12-381 = { version = "^0.2.0", path = "../bls12_381", default-features = false, features = [ "scalar_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-bls12-381 = { path = "../bls12_381", default-features = false, features = [ "scalar_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-ed-on-bn254"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A Twisted Edwards curve defined over the scalar field of the BN254 curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-ed-on-bn254/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-bn254 = { version = "^0.2.0", path = "../bn254", default-features = false, features = [ "scalar_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-bn254 = { path = "../bn254", default-features = false, features = [ "scalar_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
[package]
|
||||
name = "ark-ed-on-bw6-761"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A Twisted Edwards curve defined over the scalar field of the BW6-761 curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-ed-on-bw6-761/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ed-on-cp6-782 = { version = "^0.2.0", path = "../ed_on_cp6_782", default-features = false }
|
||||
ark-ed-on-cp6-782 = { path = "../ed_on_cp6_782", default-features = false }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false }
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//! 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
|
||||
//! 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:
|
||||
//! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-ed-on-cp6-782"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A Twisted Edwards curve defined over the scalar field of the CP6-782 curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-ed-on-cp6-782/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-bls12-377 = { version = "^0.2.0", path = "../bls12_377", default-features = false, features = [ "base_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-bls12-377 = { path = "../bls12_377", default-features = false, features = [ "base_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
//! 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 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:
|
||||
//! * Base field: q = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-ed-on-mnt4-298"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A Twisted Edwards curve defined over the scalar field of the MNT4-298 curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-ed-on-mnt4-298/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-mnt4-298 = { version = "^0.2.0", path = "../mnt4_298", default-features = false, features = [ "scalar_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-mnt4-298 = { path = "../mnt4_298", default-features = false, features = [ "scalar_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-ed-on-mnt4-753"
|
||||
version = "0.2.1-alpha.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "A Twisted Edwards curve defined over the scalar field of the MNT4-753 curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-ed-on-mnt4-753/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-mnt4-753 = { version = "^0.2.0", path = "../mnt4_753", default-features = false, features = [ "scalar_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-mnt4-753 = { path = "../mnt4_753", default-features = false, features = [ "scalar_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::*;
|
||||
use ark_r1cs_std::groups::curves::twisted_edwards::AffineVar;
|
||||
use crate::*;
|
||||
|
||||
use crate::constraints::fields::FqVar;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::fq::Fq;
|
||||
use ark_r1cs_std::fields::fp::FpVar;
|
||||
use crate::fq::Fq;
|
||||
|
||||
/// A variable that is the R1CS equivalent of `crate::Fq`.
|
||||
pub type FqVar = FpVar<Fq>;
|
||||
|
||||
@@ -2,7 +2,7 @@ use ark_ec::{
|
||||
models::{ModelParameters, MontgomeryModelParameters, TEModelParameters},
|
||||
twisted_edwards_extended::{GroupAffine, GroupProjective},
|
||||
};
|
||||
use ark_ff::field_new;
|
||||
use ark_ff::{biginteger::BigInteger768, field_new};
|
||||
|
||||
use crate::{fq::Fq, fr::Fr};
|
||||
|
||||
@@ -20,22 +20,75 @@ impl ModelParameters for EdwardsParameters {
|
||||
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 {
|
||||
/// COEFF_A = -1
|
||||
/// Needs to be in the Montgomery residue form in Fq
|
||||
/// I.e., -1 * R for Fq
|
||||
/// = 30490515527883174885390626919253527479638967196971715885662712543495783445475144818899588604530782658889166195755671038597601236195908163306966888299320716352105914996732328421058466299850466207278876048428274308321910292779199
|
||||
#[rustfmt::skip]
|
||||
const COEFF_A: Fq = field_new!(Fq, "-1");
|
||||
const COEFF_A: Fq = field_new!(Fq, BigInteger768([
|
||||
2265581976117350591u64,
|
||||
18442012872391748519u64,
|
||||
3807704300793525789u64,
|
||||
12280644139289115082u64,
|
||||
10655371227771325282u64,
|
||||
1346491763263331896u64,
|
||||
7477357615964975877u64,
|
||||
12570239403004322603u64,
|
||||
2180620924574446161u64,
|
||||
12129628062772479841u64,
|
||||
8853285699251153944u64,
|
||||
362282887012814u64,
|
||||
]));
|
||||
|
||||
/// COEFF_D = 317690
|
||||
/// Needs to be in the Montgomery residue form in Fq
|
||||
/// I.e., 317690 * R for Fq
|
||||
/// = 22147310944926701613095824060993292411108298129020138512675871596899298127988454048404371067902679066037332245471578749765607461010546427833106841035248048771826362113332201923280907352099197626899000000763383579702914883060881
|
||||
#[rustfmt::skip]
|
||||
const COEFF_D: Fq = field_new!(Fq, "317690");
|
||||
const COEFF_D: Fq = field_new!(Fq, BigInteger768([
|
||||
17599538631181665425u64,
|
||||
541385733032329781u64,
|
||||
10984951882154109942u64,
|
||||
6745898816867096302u64,
|
||||
8606788232777167026u64,
|
||||
17697068798460151905u64,
|
||||
7726746940317276687u64,
|
||||
16708084840201435716u64,
|
||||
10141323747759975110u64,
|
||||
6527904409415579649u64,
|
||||
18367733563217133340u64,
|
||||
263150412834478u64,
|
||||
]));
|
||||
|
||||
/// COFACTOR = 8
|
||||
const COFACTOR: &'static [u64] = &[8];
|
||||
|
||||
/// COFACTOR_INV (mod r) =
|
||||
/// 4582647449616135528381398492791944685893671397494963179726320631987147963874964803303316505414568319530101512550297775574042810022553679071007001162683923594233560231270043634777390699589793776691858866199511300853468155295505
|
||||
/// Needs to be in the Montgomery residue form in Fr
|
||||
/// I.e., COFACTOR_INV * R for Fr
|
||||
/// = 1425996930004472314619198483998388706066467840372779148265098797191196170886995244269913144907444532816113097116978062210611142118628305286285286330379702579339648914584658878663580978127201397716695606910888919424112361707074
|
||||
#[rustfmt::skip]
|
||||
const COFACTOR_INV: Fr = field_new!(Fr, "4582647449616135528381398492791944685893671397494963179726320631987147963874964803303316505414568319530101512550297775574042810022553679071007001162683923594233560231270043634777390699589793776691858866199511300853468155295505");
|
||||
const COFACTOR_INV: Fr = field_new!(Fr, BigInteger768([
|
||||
18349096995079034434u64,
|
||||
12232096963923221952u64,
|
||||
10313403112747203584u64,
|
||||
7266093872567585103u64,
|
||||
9102010985112647012u64,
|
||||
11539789563873699451u64,
|
||||
5062476400815403157u64,
|
||||
3112383580531982668u64,
|
||||
9803941911066678468u64,
|
||||
11670110706913295633u64,
|
||||
5956199581925454898u64,
|
||||
16943442107464u64,
|
||||
]));
|
||||
|
||||
/// Generated randomly
|
||||
const AFFINE_GENERATOR_COEFFS: (Self::BaseField, Self::BaseField) = (GENERATOR_X, GENERATOR_Y);
|
||||
@@ -51,22 +104,85 @@ impl TEModelParameters for EdwardsParameters {
|
||||
|
||||
impl MontgomeryModelParameters for EdwardsParameters {
|
||||
/// COEFF_A = 40212480635445336270302172549278415015971955924352275480357619589919378421241453024646804979794897776496091377551124233752850182852486874251193367187677349266115879541798515219680194853352256809837126277708211496794264654247419
|
||||
/// Needs to be in the Montgomery residue form in Fq
|
||||
/// I.e., COEFF_A * R for Fq
|
||||
/// = 30548714567617468394128273134168309733495884043859854416819409495212098575586848195824755026287273763308450716502830186864520759966983420083939453225231731740328282532297868204762840705631404761799649264638732114864775402781225
|
||||
#[rustfmt::skip]
|
||||
const COEFF_A: Fq = field_new!(Fq, "40212480635445336270302172549278415015971955924352275480357619589919378421241453024646804979794897776496091377551124233752850182852486874251193367187677349266115879541798515219680194853352256809837126277708211496794264654247419");
|
||||
|
||||
const COEFF_A: Fq = field_new!(Fq, BigInteger768([
|
||||
4717325759818398249u64,
|
||||
9984799932299155706u64,
|
||||
1320735555238925850u64,
|
||||
17027346723122076572u64,
|
||||
2632519042034336982u64,
|
||||
15439824589583270152u64,
|
||||
8351651296737343223u64,
|
||||
11351622927160584696u64,
|
||||
3108522085485690820u64,
|
||||
6958456540352275598u64,
|
||||
16034686916204205245u64,
|
||||
362974397660347u64,
|
||||
]));
|
||||
/// COEFF_B = 1686010332473617132042042241962222112198753995601673591425883331105974391329653748412088783995441144921979594337334243570322874639106980818502874667119046899605536783551549221790223284494141659774809441351696667426519821912580
|
||||
/// Needs to be in the Montgomery residue form in Fq
|
||||
// I.e., COEFF_B * R for Fq
|
||||
// = 30432316488148881376652980704338745225782050350083577354506015591779468315363441441974422182774291554469881675008511890330681712424832906529994323373409700963883547461166788637354091894069527652758102832217816501779045182777173
|
||||
#[rustfmt::skip]
|
||||
const COEFF_B: Fq = field_new!(Fq, "1686010332473617132042042241962222112198753995601673591425883331105974391329653748412088783995441144921979594337334243570322874639106980818502874667119046899605536783551549221790223284494141659774809441351696667426519821912580");
|
||||
const COEFF_B: Fq = field_new!(Fq, BigInteger768([
|
||||
18260582266125854549u64,
|
||||
8452481738774789715u64,
|
||||
6294673046348125729u64,
|
||||
7533941555456153592u64,
|
||||
231479339798761966u64,
|
||||
5699903010652945257u64,
|
||||
6603063935192608530u64,
|
||||
13788855878848060510u64,
|
||||
1252719763663201502u64,
|
||||
17300799585192684084u64,
|
||||
1671884482298102643u64,
|
||||
361591376365281u64,
|
||||
]));
|
||||
|
||||
type TEModelParameters = EdwardsParameters;
|
||||
}
|
||||
|
||||
/// GENERATOR_X =
|
||||
/// 41126137307536311801428235632419266329480236393691483739251051053325519918069469184425962602019877935619960143044210127218431046103600632347238890180171944971817510488009355627861577881883236134824745174469522277738875418206826
|
||||
/// Needs to be in the Montgomery residue form in Fq
|
||||
/// I.e., GENERATOR_X * R for Fq
|
||||
/// = 17458296603084005843875564204476809882690765950143935590811069375604430769391871724158635621148427226413334766092842987247361751645959801401160673759590522483750685475882467271029344718076741595831312033991612062403782328664175
|
||||
#[rustfmt::skip]
|
||||
const GENERATOR_X: Fq = field_new!(Fq, "41126137307536311801428235632419266329480236393691483739251051053325519918069469184425962602019877935619960143044210127218431046103600632347238890180171944971817510488009355627861577881883236134824745174469522277738875418206826");
|
||||
const GENERATOR_X: Fq = field_new!(Fq, BigInteger768([
|
||||
13391543849638641775u64,
|
||||
1472718285337442467u64,
|
||||
1704796371472020786u64,
|
||||
1309193942690519845u64,
|
||||
11187264906425773918u64,
|
||||
11963130799714018220u64,
|
||||
10821241385017749516u64,
|
||||
4661882526685671286u64,
|
||||
8328914571224024668u64,
|
||||
17202160931109725769u64,
|
||||
4708938015393622850u64,
|
||||
207436377712515u64,
|
||||
]));
|
||||
|
||||
/// GENERATOR_Y =
|
||||
/// 18249602579663240810999977712212098844157230095713722119136881953011435881503578209163288529034825612841855863913294174196656077002578342108932925693640046298989762289691399012056048139253937882385653600831389370198228562812681
|
||||
/// Needs to be in the Montgomery residue form in Fq
|
||||
/// I.e., GENERATOR_Y * R for Fq
|
||||
/// = 9017791529346511307345374145466037779022974291216533108328228023141994468888559894991603799439817566592668010556604996318161436165296215592281656017954181737938978992370627048110847574165717052386876801764386102664064737203581
|
||||
#[rustfmt::skip]
|
||||
const GENERATOR_Y: Fq = field_new!(Fq, "18249602579663240810999977712212098844157230095713722119136881953011435881503578209163288529034825612841855863913294174196656077002578342108932925693640046298989762289691399012056048139253937882385653600831389370198228562812681");
|
||||
const GENERATOR_Y: Fq = field_new!(Fq, BigInteger768([
|
||||
16764059510974436733u64,
|
||||
10694630934032454957u64,
|
||||
15899992550979352399u64,
|
||||
17663221529566141065u64,
|
||||
3780246386961240559u64,
|
||||
6062186621379836072u64,
|
||||
11042203340250178810u64,
|
||||
1263100291243127914u64,
|
||||
14407501552666806512u64,
|
||||
13385165116432280059u64,
|
||||
11978187531853934313u64,
|
||||
107147796394053u64,
|
||||
]));
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use ark_ec::{AffineCurve, ProjectiveCurve};
|
||||
use ark_std::rand::Rng;
|
||||
use ark_std::test_rng;
|
||||
use ark_std::rand::Rng;
|
||||
|
||||
use crate::*;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use ark_std::rand::Rng;
|
||||
use ark_std::test_rng;
|
||||
use ark_std::rand::Rng;
|
||||
|
||||
use crate::{Fq, Fr};
|
||||
use ark_algebra_test_templates::fields::*;
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
//! * a = -1
|
||||
//! * d = 317690 mod q
|
||||
|
||||
#[cfg(feature = "r1cs")]
|
||||
pub mod constraints;
|
||||
mod curves;
|
||||
mod fields;
|
||||
#[cfg(feature = "r1cs")]
|
||||
pub mod constraints;
|
||||
|
||||
pub use curves::*;
|
||||
pub use fields::*;
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
[package]
|
||||
name = "ark-mnt4-298"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The MNT4-298 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-mnt4-298/"
|
||||
keywords = ["cryptography", "finite-fields" ]
|
||||
keywords = ["cryptography", "finite fields" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
//! 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.
|
||||
//! 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.
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
[package]
|
||||
name = "ark-mnt4-753"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The MNT4-753 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-mnt4-753/"
|
||||
keywords = ["cryptography", "finite-fields" ]
|
||||
keywords = ["cryptography", "finite fields" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
//! 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.
|
||||
//! 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.
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-mnt6-298"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The MNT6-298 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-mnt6-298/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves"]
|
||||
keywords = ["cryptography", "finite fields" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-mnt4-298 = { version = "^0.2.0", path = "../mnt4_298", default-features = false, features = [ "scalar_field", "base_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-mnt4-298 = { path = "../mnt4_298", default-features = false, features = [ "scalar_field", "base_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
//! 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.
|
||||
//! 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.
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-mnt6-753"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "arkworks contributors" ]
|
||||
description = "The MNT6-753 pairing-friendly elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/algebra"
|
||||
documentation = "https://docs.rs/ark-mnt6-753/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-mnt4-753 = { version = "^0.2.0", path = "../mnt4_753", default-features = false, features = [ "scalar_field", "base_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-mnt4-753 = { path = "../mnt4_753", default-features = false, features = [ "scalar_field", "base_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
//! 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.
|
||||
//! 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.
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
[package]
|
||||
name = "ark-pallas"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ]
|
||||
description = "The Pallas prime-order elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/curves"
|
||||
documentation = "https://docs.rs/ark-pallas/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
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)
|
||||
@@ -1,28 +1,28 @@
|
||||
[package]
|
||||
name = "ark-vesta"
|
||||
version = "0.2.0"
|
||||
version = "0.1.0"
|
||||
authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ]
|
||||
description = "The Vesta prime-order elliptic curve"
|
||||
homepage = "https://arkworks.rs"
|
||||
repository = "https://github.com/arkworks-rs/curves"
|
||||
documentation = "https://docs.rs/ark-vesta/"
|
||||
keywords = ["cryptography", "finite-fields", "elliptic-curves" ]
|
||||
keywords = ["cryptography", "finite fields", "elliptic curves" ]
|
||||
categories = ["cryptography"]
|
||||
include = ["Cargo.toml", "src"]
|
||||
license = "MIT/Apache-2.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
ark-ff = { version = "^0.2.0", default-features = false }
|
||||
ark-ec = { version = "^0.2.0", default-features = false }
|
||||
ark-r1cs-std = { version = "^0.2.0", default-features = false, optional = true }
|
||||
ark-std = { version = "^0.2.0", default-features = false }
|
||||
ark-pallas = { version = "^0.2.0", path = "../pallas", default-features = false, features = [ "scalar_field", "base_field" ] }
|
||||
ark-ff = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-ec = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std", default-features = false, optional = true }
|
||||
ark-std = { git = "https://github.com/arkworks-rs/utils", default-features = false }
|
||||
ark-pallas = { path = "../pallas", default-features = false, features = [ "scalar_field", "base_field" ] }
|
||||
|
||||
[dev-dependencies]
|
||||
ark-relations = { version = "^0.2.0", default-features = false }
|
||||
ark-serialize = { version = "^0.2.0", default-features = false }
|
||||
ark-algebra-test-templates = { version = "^0.2.0", default-features = false }
|
||||
ark-relations = { git = "https://github.com/arkworks-rs/snark", default-features = false }
|
||||
ark-serialize = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra", default-features = false }
|
||||
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
|
||||
|
||||
[features]
|
||||
|
||||
Reference in New Issue
Block a user