7 Commits

Author SHA1 Message Date
Weikeng Chen
d2c998736e Release v0.3.0 (#62)
* release

* update CHANGELOG.md
2021-06-06 13:47:19 -07:00
Alex Ozdemir
ada1fdac07 Fix Bls12-377 scalar group generator (#60)
* Fix Bls12-377 scalar group generator

Previously we used 11 as a generator, which has order (p-1)/35.

Now we use 22, which has the right order.

Fixed the two-adic root of unity in accordance with the new generator.

fixes #47

* add the CHANGE LOG

Co-authored-by: weikeng <w.k@berkeley.edu>
2021-05-06 16:46:22 -07:00
Weikeng Chen
8c795ec0cf Update the documentation of BN254's field parameters (#59) 2021-05-06 08:22:07 -07:00
Daira Hopwood
9d232a7dcd Fix a comment describing BN254. (#55)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-04-16 14:54:33 -07:00
Daira Hopwood
4d6c49640c Add benchmarks for Pallas and Vesta curves. (#53)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-04-16 10:18:06 -07:00
Pratyush Mishra
880a010f5e Reduce CI time by parallelizing per-curve tests (#52) 2021-04-11 14:53:06 -07:00
Dev Ojha
269fe97519 Release v0.2 (#51) 2021-03-24 20:18:59 -05:00
30 changed files with 319 additions and 193 deletions

View File

@@ -29,8 +29,8 @@ jobs:
command: fmt
args: --all -- --check
test:
name: Test
check:
name: Check
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Dwarnings
@@ -78,13 +78,39 @@ jobs:
args: --all-features --examples --workspace --benches
if: matrix.rust == 'nightly'
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: "--workspace \
--all-features \
--exclude curve-benches"
directories: # Job that list subdirectories
name: List directories for parallelizing tests
runs-on: ubuntu-latest
outputs:
dir: ${{ steps.set-dirs.outputs.dir }} # generate output name dir by using inner step output
steps:
- uses: actions/checkout@v2
- id: set-dirs # Give it an id to handle to get step outputs in the outputs key above
run: echo "::set-output name=dir::$(ls -d */ | jq -R -s -c 'split("\n")[:-1]')"
# Define step output named dir base on ls command transformed to JSON thanks to jq
test:
name: Test
runs-on: ubuntu-latest
needs: [directories] # Depends on previous job
strategy:
matrix:
dir: ${{fromJson(needs.directories.outputs.dir)}} # List matrix strategy from directories dynamically
# rust:
# - stable
# - nightly
exclude:
- dir: scripts/
- dir: curve-constraint-tests/
- dir: curve-benches/
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Run tests
run: |
cd ${{matrix.dir}}
cargo test --all-features
docs:
name: Check Documentation

View File

@@ -1,9 +1,36 @@
# CHANGELOG
## Pending
### Breaking changes
### Features
### Improvements
### Bug fixes
## v0.3.0
### Breaking changes
- [\#60](https://github.com/arkworks-rs/curves/pull/60) Change the scalar group generator of `Fr` of `bls12_377` Fr from `11` to `22`.
- [\#61](https://github.com/arkworks-rs/curves/pull/61) Remove `ATE_LOOP_COUNT_IS_NEGATIVE` from BN254 curve parameter.
### Features
### Improvements
### Bug fixes
## v0.2.0
### 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
`ark-bls12-377`,
`ark-ed-on-bls12-377`,
@@ -19,15 +46,18 @@
`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.
- [\#53](https://github.com/arkworks-rs/curves/pull/53) Add benchmarks for Pallas and Vesta curves.
### Improvements
- [\#42](https://github.com/arkworks-rs/curves/pull/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`.
## v0.1.0
Initial Release
Initial Release

View File

@@ -31,11 +31,6 @@ members = [
"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"

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-bls12-377"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The BLS12-377 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version="^0.3.0", default-features = false }
ark-ec = { version="^0.3.0", default-features = false }
ark-r1cs-std = { version="^0.3.0", default-features = false, optional = true }
ark-std = { version="^0.3.0", 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 = { version="^0.3.0", default-features = false }
ark-serialize = { version="^0.3.0", default-features = false }
ark-algebra-test-templates = { version="^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]
default = [ "curve" ]

View File

@@ -1,3 +1,24 @@
///! Bls12-377 scalar field.
///
/// Roots of unity computed from modulus and R using this sage code:
///
/// ```ignore
/// q = 8444461749428370424248824938781546531375899335154063827935233455917409239041
/// R = 6014086494747379908336260804527802945383293308637734276299549080986809532403 # Montgomery R
/// s = 47
/// o = q - 1
/// F = GF(q)
/// g = F.multiplicative_generator()
/// g = F.multiplicative_generator()
/// assert g.multiplicative_order() == o
/// g2 = g ** (o/2**s)
/// assert g2.multiplicative_order() == 2**s
/// def into_chunks(val, width, n):
/// return [int(int(val) // (2 ** (width * i)) % 2 ** width) for i in range(n)]
/// print("Gen: ", g * R % q)
/// print("Gen: ", into_chunks(g * R % q, 64, 4))
/// print("2-adic gen: ", into_chunks(g2 * R % q, 64, 4))
/// ```
use ark_ff::{biginteger::BigInteger256 as BigInteger, fields::*};
pub type Fr = Fp256<FrParameters>;
@@ -12,10 +33,10 @@ impl FftParameters for FrParameters {
#[rustfmt::skip]
const TWO_ADIC_ROOT_OF_UNITY: BigInteger = BigInteger([
0x3c3d3ca739381fb2,
0x9a14cda3ec99772b,
0xd7aacc7c59724826,
0xd1ba211c5cc349c,
12646347781564978760u64,
6783048705277173164u64,
268534165941069093u64,
1121515446318641358u64,
]);
}
impl FpParameters for FrParameters {
@@ -53,15 +74,15 @@ impl FpParameters for FrParameters {
const INV: u64 = 725501752471715839u64;
/// GENERATOR = 11
/// GENERATOR = 22
/// Encoded in Montgomery form, so the value is
/// (11 * R) % q = 7043719196222586021957094278335006679584931048936630243748405699433040183146
/// (22 * R) % q = 5642976643016801619665363617888466827793962762719196659561577942948671127251
#[rustfmt::skip]
const GENERATOR: BigInteger = BigInteger([
1855201571499933546u64,
8511318076631809892u64,
6222514765367795509u64,
1122129207579058019u64,
2984901390528151251u64,
10561528701063790279u64,
5476750214495080041u64,
898978044469942640u64,
]);
/// (r - 1)/2 =

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-bls12-381"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The BLS12-381 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,13 +13,13 @@ 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 = { version="^0.3.0", default-features = false }
ark-ec = { version="^0.3.0", default-features = false }
ark-std = { version="^0.3.0", 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 = { version="^0.3.0", default-features = false }
ark-algebra-test-templates = { version="^0.3.0", default-features = false }
[features]
default = [ "curve" ]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-bn254"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The BN254 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,13 +13,13 @@ 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 = { version="^0.3.0", default-features = false }
ark-ec = { version="^0.3.0", default-features = false }
ark-std = { version="^0.3.0", 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 = { version="^0.3.0", default-features = false }
ark-algebra-test-templates = { version="^0.3.0", default-features = false }
[features]
default = [ "curve" ]

View File

@@ -21,8 +21,6 @@ impl BnParameters for Parameters {
0, 1, 1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 1, 0, 0, -1, 0, 0, 0, 1, 1, 0,
-1, 0, 0, 1, 0, 1, 1,
];
/// `ate_loop_count` is positive.
const ATE_LOOP_COUNT_IS_NEGATIVE: bool = false;
const TWIST_MUL_BY_Q_X: Fq2 = field_new!(
Fq2,

View File

@@ -19,7 +19,7 @@ impl FftParameters for FqParameters {
]);
}
impl FpParameters for FqParameters {
/// MODULUS = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177
/// MODULUS = 21888242871839275222246405745257275088696311157297823662689037894645226208583
#[rustfmt::skip]
const MODULUS: BigInteger = BigInteger([
0x3c208c16d87cfd47,
@@ -82,7 +82,7 @@ impl FpParameters for FqParameters {
]);
// (T - 1) // 2 =
// 1837921289030710838195067919506396475074392872918698035817074744121558668640693829665401097909504529
// 5472060717959818805561601436314318772174077789324455915672259473661306552145
#[rustfmt::skip]
const T_MINUS_ONE_DIV_TWO: BigInteger = BigInteger([
0x4f082305b61f3f51,

View File

@@ -34,6 +34,8 @@ impl FpParameters for FrParameters {
const REPR_SHAVE_BITS: u32 = 2;
/// R = pow(2, 320) % MODULUS
/// = 6350874878119819312338956282401532410528162663560392320966563075034087161851
#[rustfmt::skip]
const R: BigInteger = BigInteger([
12436184717236109307u64,
@@ -42,6 +44,8 @@ impl FpParameters for FrParameters {
1011752739694698287u64,
]);
/// R2 = R * R % MODULUS
/// = 944936681149208446651664254269745548490766851729442924617792859073125903783
#[rustfmt::skip]
const R2: BigInteger = BigInteger([
1997599621687373223u64,
@@ -50,9 +54,10 @@ impl FpParameters for FrParameters {
150537098327114917u64,
]);
/// INV = (-MODULUS) ^ {-1} % pow(2, 64) = 14042775128853446655
const INV: u64 = 14042775128853446655u64;
// GENERATOR = 5
/// GENERATOR = 5
#[rustfmt::skip]
const GENERATOR: BigInteger = BigInteger([
1949230679015292902u64,
@@ -61,7 +66,7 @@ impl FpParameters for FrParameters {
1571765431670520771u64,
]);
/// (r - 1)/2 =
/// (MODULUS - 1)/2 =
/// 10944121435919637611123202872628637544274182200208017171849102093287904247808
#[rustfmt::skip]
const MODULUS_MINUS_ONE_DIV_TWO: BigInteger = BigInteger([
@@ -73,7 +78,7 @@ impl FpParameters for FrParameters {
// T and T_MINUS_ONE_DIV_TWO, where r - 1 = 2^s * t
/// t = (r - 1) / 2^s =
/// T = (MODULUS - 1) / 2^s =
/// 81540058820840996586704275553141814055101440848469862132140264610111
#[rustfmt::skip]
const T: BigInteger = BigInteger([
@@ -83,7 +88,7 @@ impl FpParameters for FrParameters {
0x30644e72e,
]);
/// (t - 1) / 2 =
/// (T - 1) / 2 =
/// 40770029410420498293352137776570907027550720424234931066070132305055
#[rustfmt::skip]
const T_MINUS_ONE_DIV_TWO: BigInteger = BigInteger([

View File

@@ -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 is represented as Fq\[u\]/(u^2+1)
//! = Fq2(19485874751759354771024239261021720505790618469301721065564631296452457478373, 266929791119991161246907387137283842545076965332900288569378510910307636690)
#[cfg(feature = "curve")]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-bw6-761"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The BW6-761 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,14 +13,14 @@ 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 = { version="^0.3.0", default-features = false }
ark-ec = { version="^0.3.0", default-features = false }
ark-std = { version="^0.3.0", default-features = false }
ark-bls12-377 = { version="^0.3.0", 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 = { version="^0.3.0", default-features = false }
ark-algebra-test-templates = { version="^0.3.0", default-features = false }
[features]
default = []

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-cp6-782"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The CP6-782 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,14 +13,14 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-bls12-377 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
[features]
default = []

View File

@@ -1,13 +1,14 @@
[package]
name = "ark-curve-benches"
version = "0.2.0"
version = "0.3.0"
authors = [
"Sean Bowe",
"Alessandro Chiesa",
"Matthew Green",
"Ian Miers",
"Pratyush Mishra",
"Howard Wu"
"Howard Wu",
"Daira Hopwood"
]
description = "A benchmark library for finite fields and elliptic curves"
homepage = "https://arkworks.rs"
@@ -27,10 +28,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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-ff = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-mnt4-298 = { path = "../mnt4_298" }
ark-mnt6-298 = { path = "../mnt6_298" }
@@ -42,6 +43,8 @@ ark-bls12-381 = { path = "../bls12_381" }
ark-ed-on-bls12-381 = { path = "../ed_on_bls12_381" }
ark-bw6-761 = { path = "../bw6_761" }
ark-cp6-782 = { path = "../cp6_782" }
ark-pallas = { path = "../pallas" }
ark-vesta = { path = "../vesta" }
[features]
asm = [ "ark-ff/asm"]
@@ -100,3 +103,13 @@ harness = false
name = "mnt6_753"
path = "benches/mnt6_753.rs"
harness = false
[[bench]]
name = "pallas"
path = "benches/pallas.rs"
harness = false
[[bench]]
name = "vesta"
path = "benches/vesta.rs"
harness = false

View File

@@ -0,0 +1,19 @@
use ark_curve_benches::*;
use ark_std::ops::{AddAssign, MulAssign, SubAssign};
use ark_ec::ProjectiveCurve;
use ark_ff::{
biginteger::{BigInteger256 as FrRepr, BigInteger256 as FqRepr},
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
};
use ark_pallas::{fq::Fq, fr::Fr, Affine as GAffine, Projective as G};
mod g {
use super::*;
ec_bench!(G, GAffine);
}
f_bench!(Fq, Fq, FqRepr, FqRepr, fq);
f_bench!(Fr, Fr, FrRepr, FrRepr, fr);
bencher::benchmark_main!(fq, fr, g::group_ops);

View File

@@ -0,0 +1,19 @@
use ark_curve_benches::*;
use ark_std::ops::{AddAssign, MulAssign, SubAssign};
use ark_ec::ProjectiveCurve;
use ark_ff::{
biginteger::{BigInteger256 as FrRepr, BigInteger256 as FqRepr},
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
};
use ark_vesta::{fq::Fq, fr::Fr, Affine as GAffine, Projective as G};
mod g {
use super::*;
ec_bench!(G, GAffine);
}
f_bench!(Fq, Fq, FqRepr, FqRepr, fq);
f_bench!(Fr, Fr, FrRepr, FrRepr, fr);
bencher::benchmark_main!(fq, fr, g::group_ops);

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-curve-constraint-tests"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A library for testing constraints for finite fields, elliptic curves, and pairings"
homepage = "https://arkworks.rs"
@@ -13,12 +13,12 @@ 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-ff = { version = "^0.3.0", default-features = false }
ark-relations = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
[features]
default = []

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-ed-on-bls12-377"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BLS12-377 curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-bls12-377 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-ed-on-bls12-381"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BLS12-381 curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-bls12-381 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-ed-on-bn254"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BN254 curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-bn254 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-ed-on-bw6-761"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the BW6-761 curve"
homepage = "https://arkworks.rs"
@@ -13,13 +13,13 @@ 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 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false }
ark-ff = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
[features]
default = []

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-ed-on-cp6-782"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the CP6-782 curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-bls12-377 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-ed-on-mnt4-298"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the MNT4-298 curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-mnt4-298 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-ed-on-mnt4-753"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "A Twisted Edwards curve defined over the scalar field of the MNT4-753 curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-mnt4-753 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-mnt4-298"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The MNT4-298 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,15 +13,15 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-mnt4-753"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The MNT4-753 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,15 +13,15 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-mnt6-298"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The MNT6-298 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-mnt4-298 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-mnt6-753"
version = "0.2.0"
version = "0.3.0"
authors = [ "arkworks contributors" ]
description = "The MNT6-753 pairing-friendly elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-std = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-mnt4-753 = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-pallas"
version = "0.2.0"
version = "0.3.0"
authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ]
description = "The Pallas prime-order elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,15 +13,15 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-std = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]

View File

@@ -1,6 +1,6 @@
[package]
name = "ark-vesta"
version = "0.2.0"
version = "0.3.0"
authors = [ "Ying Tong Lai", "Daira Hopwood", "O(1) Labs", "arkworks contributors" ]
description = "The Vesta prime-order elliptic curve"
homepage = "https://arkworks.rs"
@@ -13,16 +13,16 @@ 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 = { version = "^0.3.0", default-features = false }
ark-ec = { version = "^0.3.0", default-features = false }
ark-r1cs-std = { version = "^0.3.0", default-features = false, optional = true }
ark-std = { version = "^0.3.0", default-features = false }
ark-pallas = { version = "^0.3.0", 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 = { version = "^0.3.0", default-features = false }
ark-serialize = { version = "^0.3.0", default-features = false }
ark-algebra-test-templates = { version = "^0.3.0", default-features = false }
ark-curve-constraint-tests = { path = "../curve-constraint-tests", default-features = false }
[features]