diff --git a/Cargo.toml b/Cargo.toml index 9abcd04..465d056 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -64,7 +64,9 @@ debug-assertions = true debug = true [patch.crates-io] -ark-ff = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4" } -ark-ec = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4" } +ark-ff = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4-debug-secp256k1" } +ark-ec = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4-debug-secp256k1" } ark-poly = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4" } -ark-serialize = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4" } \ No newline at end of file +ark-serialize = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4-debug-secp256k1" } +ark-algebra-test-templates = { git = "https://github.com/arkworks-rs/algebra/", branch = "release-0.4-debug-secp256k1" } +ark-r1cs-std = { git = "https://github.com/arkworks-rs/r1cs-std/", branch = "release-0.4" } \ No newline at end of file diff --git a/bls12_381/src/fields/fq.rs b/bls12_381/src/fields/fq.rs index 34517ff..607b0b8 100644 --- a/bls12_381/src/fields/fq.rs +++ b/bls12_381/src/fields/fq.rs @@ -3,5 +3,7 @@ use ark_ff::fields::{Fp384, MontBackend, MontConfig}; #[derive(MontConfig)] #[modulus = "4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787"] #[generator = "2"] +#[small_subgroup_base = "3"] +#[small_subgroup_power = "2"] pub struct FqConfig; pub type Fq = Fp384>; diff --git a/bls12_381/src/fields/fr.rs b/bls12_381/src/fields/fr.rs index 721bc6d..284096e 100644 --- a/bls12_381/src/fields/fr.rs +++ b/bls12_381/src/fields/fr.rs @@ -3,5 +3,7 @@ use ark_ff::fields::{Fp256, MontBackend, MontConfig}; #[derive(MontConfig)] #[modulus = "52435875175126190479447740508185965837690552500527637822603658699938581184513"] #[generator = "7"] +#[small_subgroup_base = "3"] +#[small_subgroup_power = "1"] pub struct FrConfig; pub type Fr = Fp256>; diff --git a/curve25519/src/fields/fq.rs b/curve25519/src/fields/fq.rs index 05dcf2f..38ac5a3 100644 --- a/curve25519/src/fields/fq.rs +++ b/curve25519/src/fields/fq.rs @@ -3,5 +3,7 @@ use ark_ff::fields::{Fp256, MontBackend, MontConfig}; #[derive(MontConfig)] #[modulus = "57896044618658097711785492504343953926634992332820282019728792003956564819949"] #[generator = "2"] +#[small_subgroup_base = "3"] +#[small_subgroup_power = "1"] pub struct FqConfig; pub type Fq = Fp256>; diff --git a/curve25519/src/fields/fr.rs b/curve25519/src/fields/fr.rs index b387bff..4ef8043 100644 --- a/curve25519/src/fields/fr.rs +++ b/curve25519/src/fields/fr.rs @@ -3,5 +3,7 @@ use ark_ff::fields::{Fp256, MontBackend, MontConfig}; #[derive(MontConfig)] #[modulus = "7237005577332262213973186563042994240857116359379907606001950938285454250989"] #[generator = "2"] +#[small_subgroup_base = "3"] +#[small_subgroup_power = "1"] pub struct FrConfig; pub type Fr = Fp256>; diff --git a/ed25519/Cargo.toml b/ed25519/Cargo.toml index c52ee73..3fe0154 100644 --- a/ed25519/Cargo.toml +++ b/ed25519/Cargo.toml @@ -17,6 +17,7 @@ ark-ff = { version = "0.4.0-alpha", default-features = false } ark-ec = { version = "0.4.0-alpha", default-features = false } ark-std = { version = "0.4.0-alpha", default-features = false } ark-r1cs-std = { version = "0.4.0-alpha", default-features = false, optional = true } +ark-curve25519 = { path = "../curve25519" } [dev-dependencies] ark-relations = { version = "0.4.0-alpha", default-features = false } diff --git a/ed25519/src/fields/fq.rs b/ed25519/src/fields/fq.rs index 05dcf2f..b92c422 100644 --- a/ed25519/src/fields/fq.rs +++ b/ed25519/src/fields/fq.rs @@ -1,7 +1 @@ -use ark_ff::fields::{Fp256, MontBackend, MontConfig}; - -#[derive(MontConfig)] -#[modulus = "57896044618658097711785492504343953926634992332820282019728792003956564819949"] -#[generator = "2"] -pub struct FqConfig; -pub type Fq = Fp256>; +pub use ark_curve25519::{Fq, FqConfig}; diff --git a/ed25519/src/fields/fr.rs b/ed25519/src/fields/fr.rs index b387bff..8c07ca6 100644 --- a/ed25519/src/fields/fr.rs +++ b/ed25519/src/fields/fr.rs @@ -1,7 +1 @@ -use ark_ff::fields::{Fp256, MontBackend, MontConfig}; - -#[derive(MontConfig)] -#[modulus = "7237005577332262213973186563042994240857116359379907606001950938285454250989"] -#[generator = "2"] -pub struct FrConfig; -pub type Fr = Fp256>; +pub use ark_curve25519::{Fr, FrConfig}; diff --git a/secp256k1/src/fields/fq.rs b/secp256k1/src/fields/fq.rs index eb045f2..87018cb 100644 --- a/secp256k1/src/fields/fq.rs +++ b/secp256k1/src/fields/fq.rs @@ -3,5 +3,7 @@ use ark_ff::fields::{Fp256, MontBackend, MontConfig}; #[derive(MontConfig)] #[modulus = "115792089237316195423570985008687907853269984665640564039457584007908834671663"] #[generator = "3"] +#[small_subgroup_base = "3"] +#[small_subgroup_power = "1"] pub struct FqConfig; pub type Fq = Fp256>; diff --git a/secp256k1/src/fields/fr.rs b/secp256k1/src/fields/fr.rs index cb476cb..940b97a 100644 --- a/secp256k1/src/fields/fr.rs +++ b/secp256k1/src/fields/fr.rs @@ -3,5 +3,7 @@ use ark_ff::fields::{Fp256, MontBackend, MontConfig}; #[derive(MontConfig)] #[modulus = "115792089237316195423570985008687907852837564279074904382605163141518161494337"] #[generator = "7"] +#[small_subgroup_base = "3"] +#[small_subgroup_power = "1"] pub struct FrConfig; pub type Fr = Fp256>;