mirror of
https://github.com/arnaucube/ark-curves-cherry-picked.git
synced 2026-01-08 06:51:32 +01:00
Add supplementary small group bases for some common fields (#137)
* update * use r1cs std * fix * rem * Apply suggestions from code review Co-authored-by: onewayfunc <onewayfunc@gmail.com>
This commit is contained in:
@@ -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" }
|
||||
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" }
|
||||
@@ -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<MontBackend<FqConfig, 6>>;
|
||||
|
||||
@@ -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<MontBackend<FrConfig, 4>>;
|
||||
|
||||
@@ -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<MontBackend<FqConfig, 4>>;
|
||||
|
||||
@@ -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<MontBackend<FrConfig, 4>>;
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -1,7 +1 @@
|
||||
use ark_ff::fields::{Fp256, MontBackend, MontConfig};
|
||||
|
||||
#[derive(MontConfig)]
|
||||
#[modulus = "57896044618658097711785492504343953926634992332820282019728792003956564819949"]
|
||||
#[generator = "2"]
|
||||
pub struct FqConfig;
|
||||
pub type Fq = Fp256<MontBackend<FqConfig, 4>>;
|
||||
pub use ark_curve25519::{Fq, FqConfig};
|
||||
|
||||
@@ -1,7 +1 @@
|
||||
use ark_ff::fields::{Fp256, MontBackend, MontConfig};
|
||||
|
||||
#[derive(MontConfig)]
|
||||
#[modulus = "7237005577332262213973186563042994240857116359379907606001950938285454250989"]
|
||||
#[generator = "2"]
|
||||
pub struct FrConfig;
|
||||
pub type Fr = Fp256<MontBackend<FrConfig, 4>>;
|
||||
pub use ark_curve25519::{Fr, FrConfig};
|
||||
|
||||
@@ -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<MontBackend<FqConfig, 4>>;
|
||||
|
||||
@@ -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<MontBackend<FrConfig, 4>>;
|
||||
|
||||
Reference in New Issue
Block a user