mirror of
https://github.com/arnaucube/ark-r1cs-std.git
synced 2026-01-10 16:01:28 +01:00
Add constraints for Edwards curves over MNT4 (#221)
This commit is contained in:
@@ -37,7 +37,7 @@ algebra = { path = "../algebra", default-features = false, features = [ "bls12_3
|
|||||||
default = ["std"]
|
default = ["std"]
|
||||||
full = [
|
full = [
|
||||||
"bls12_377", "ed_on_bls12_381", "ed_on_bls12_377", "ed_on_cp6_782",
|
"bls12_377", "ed_on_bls12_381", "ed_on_bls12_377", "ed_on_cp6_782",
|
||||||
"ed_on_bw6_761", "mnt4_298", "mnt4_753", "mnt6_298", "mnt6_753"
|
"ed_on_bw6_761", "ed_on_mnt4_298", "ed_on_mnt4_753", "mnt4_298", "mnt4_753", "mnt6_298", "mnt6_753"
|
||||||
]
|
]
|
||||||
|
|
||||||
bls12_377 = [ "algebra/bls12_377" ]
|
bls12_377 = [ "algebra/bls12_377" ]
|
||||||
@@ -45,6 +45,8 @@ ed_on_bls12_381 = [ "algebra/ed_on_bls12_381" ]
|
|||||||
ed_on_bls12_377 = [ "algebra/ed_on_bls12_377" ]
|
ed_on_bls12_377 = [ "algebra/ed_on_bls12_377" ]
|
||||||
ed_on_cp6_782 = [ "algebra/ed_on_cp6_782" ]
|
ed_on_cp6_782 = [ "algebra/ed_on_cp6_782" ]
|
||||||
ed_on_bw6_761 = [ "algebra/ed_on_bw6_761", "algebra/ed_on_cp6_782" ]
|
ed_on_bw6_761 = [ "algebra/ed_on_bw6_761", "algebra/ed_on_cp6_782" ]
|
||||||
|
ed_on_mnt4_298 = [ "algebra/ed_on_mnt4_298" ]
|
||||||
|
ed_on_mnt4_753 = [ "algebra/ed_on_mnt4_753" ]
|
||||||
mnt4_298 = [ "algebra/mnt4_298" ]
|
mnt4_298 = [ "algebra/mnt4_298" ]
|
||||||
mnt4_753 = [ "algebra/mnt4_753" ]
|
mnt4_753 = [ "algebra/mnt4_753" ]
|
||||||
mnt6_298 = [ "algebra/mnt6_298" ]
|
mnt6_298 = [ "algebra/mnt6_298" ]
|
||||||
|
|||||||
11
r1cs-std/src/instantiated/ed_on_mnt4_298/curves.rs
Normal file
11
r1cs-std/src/instantiated/ed_on_mnt4_298/curves.rs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
use crate::groups::curves::twisted_edwards::AffineGadget;
|
||||||
|
use algebra::ed_on_mnt4_298::*;
|
||||||
|
|
||||||
|
use crate::instantiated::ed_on_mnt4_298::fields::FqGadget;
|
||||||
|
|
||||||
|
pub type EdwardsGadget = AffineGadget<EdwardsParameters, Fq, FqGadget>;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test() {
|
||||||
|
crate::groups::curves::twisted_edwards::test::<_, EdwardsParameters, EdwardsGadget>();
|
||||||
|
}
|
||||||
9
r1cs-std/src/instantiated/ed_on_mnt4_298/fields.rs
Normal file
9
r1cs-std/src/instantiated/ed_on_mnt4_298/fields.rs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
use crate::fields::fp::FpGadget;
|
||||||
|
use algebra::ed_on_mnt4_298::fq::Fq;
|
||||||
|
|
||||||
|
pub type FqGadget = FpGadget<Fq>;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test() {
|
||||||
|
crate::fields::tests::field_test::<_, Fq, FqGadget>();
|
||||||
|
}
|
||||||
5
r1cs-std/src/instantiated/ed_on_mnt4_298/mod.rs
Normal file
5
r1cs-std/src/instantiated/ed_on_mnt4_298/mod.rs
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
mod curves;
|
||||||
|
mod fields;
|
||||||
|
|
||||||
|
pub use curves::*;
|
||||||
|
pub use fields::*;
|
||||||
11
r1cs-std/src/instantiated/ed_on_mnt4_753/curves.rs
Normal file
11
r1cs-std/src/instantiated/ed_on_mnt4_753/curves.rs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
use crate::groups::curves::twisted_edwards::AffineGadget;
|
||||||
|
use algebra::ed_on_mnt4_753::*;
|
||||||
|
|
||||||
|
use crate::instantiated::ed_on_mnt4_753::fields::FqGadget;
|
||||||
|
|
||||||
|
pub type EdwardsGadget = AffineGadget<EdwardsParameters, Fq, FqGadget>;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test() {
|
||||||
|
crate::groups::curves::twisted_edwards::test::<_, EdwardsParameters, EdwardsGadget>();
|
||||||
|
}
|
||||||
9
r1cs-std/src/instantiated/ed_on_mnt4_753/fields.rs
Normal file
9
r1cs-std/src/instantiated/ed_on_mnt4_753/fields.rs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
use crate::fields::fp::FpGadget;
|
||||||
|
use algebra::ed_on_mnt4_753::fq::Fq;
|
||||||
|
|
||||||
|
pub type FqGadget = FpGadget<Fq>;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test() {
|
||||||
|
crate::fields::tests::field_test::<_, Fq, FqGadget>();
|
||||||
|
}
|
||||||
5
r1cs-std/src/instantiated/ed_on_mnt4_753/mod.rs
Normal file
5
r1cs-std/src/instantiated/ed_on_mnt4_753/mod.rs
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
mod curves;
|
||||||
|
mod fields;
|
||||||
|
|
||||||
|
pub use curves::*;
|
||||||
|
pub use fields::*;
|
||||||
@@ -16,6 +16,12 @@ pub mod ed_on_bw6_761;
|
|||||||
#[cfg(feature = "ed_on_bls12_381")]
|
#[cfg(feature = "ed_on_bls12_381")]
|
||||||
pub mod ed_on_bls12_381;
|
pub mod ed_on_bls12_381;
|
||||||
|
|
||||||
|
#[cfg(feature = "ed_on_mnt4_298")]
|
||||||
|
pub mod ed_on_mnt4_298;
|
||||||
|
|
||||||
|
#[cfg(feature = "ed_on_mnt4_753")]
|
||||||
|
pub mod ed_on_mnt4_753;
|
||||||
|
|
||||||
#[cfg(feature = "mnt4_298")]
|
#[cfg(feature = "mnt4_298")]
|
||||||
pub mod mnt4_298;
|
pub mod mnt4_298;
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,12 @@ pub use instantiated::bls12_377;
|
|||||||
#[cfg(feature = "ed_on_bls12_377")]
|
#[cfg(feature = "ed_on_bls12_377")]
|
||||||
pub use instantiated::ed_on_bls12_377;
|
pub use instantiated::ed_on_bls12_377;
|
||||||
|
|
||||||
|
#[cfg(feature = "ed_on_mnt4_298")]
|
||||||
|
pub use instantiated::ed_on_mnt4_298;
|
||||||
|
|
||||||
|
#[cfg(feature = "ed_on_mnt4_753")]
|
||||||
|
pub use instantiated::ed_on_mnt4_753;
|
||||||
|
|
||||||
#[cfg(feature = "ed_on_cp6_782")]
|
#[cfg(feature = "ed_on_cp6_782")]
|
||||||
pub use instantiated::ed_on_cp6_782;
|
pub use instantiated::ed_on_cp6_782;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user