Add constraints for Edwards curves over MNT4 (#221)

This commit is contained in:
Weikeng Chen
2020-06-14 21:51:56 -07:00
committed by GitHub
parent 9391b1fd04
commit 885e9d7bad
9 changed files with 65 additions and 1 deletions

View File

@@ -37,7 +37,7 @@ algebra = { path = "../algebra", default-features = false, features = [ "bls12_3
default = ["std"]
full = [
"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" ]
@@ -45,6 +45,8 @@ ed_on_bls12_381 = [ "algebra/ed_on_bls12_381" ]
ed_on_bls12_377 = [ "algebra/ed_on_bls12_377" ]
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_mnt4_298 = [ "algebra/ed_on_mnt4_298" ]
ed_on_mnt4_753 = [ "algebra/ed_on_mnt4_753" ]
mnt4_298 = [ "algebra/mnt4_298" ]
mnt4_753 = [ "algebra/mnt4_753" ]
mnt6_298 = [ "algebra/mnt6_298" ]

View 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>();
}

View 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>();
}

View File

@@ -0,0 +1,5 @@
mod curves;
mod fields;
pub use curves::*;
pub use fields::*;

View 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>();
}

View 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>();
}

View File

@@ -0,0 +1,5 @@
mod curves;
mod fields;
pub use curves::*;
pub use fields::*;

View File

@@ -16,6 +16,12 @@ pub mod ed_on_bw6_761;
#[cfg(feature = "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")]
pub mod mnt4_298;

View File

@@ -51,6 +51,12 @@ pub use instantiated::bls12_377;
#[cfg(feature = "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")]
pub use instantiated::ed_on_cp6_782;