mirror of
https://github.com/arnaucube/ark-r1cs-std.git
synced 2026-01-11 00:11:29 +01:00
Implement ed_on_bn254 curve (baby-jubjub) (#230)
This commit is contained in:
committed by
GitHub
parent
a83914af50
commit
36305e7247
@@ -36,12 +36,13 @@ algebra = { path = "../algebra", default-features = false, features = [ "bls12_3
|
|||||||
[features]
|
[features]
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
full = [
|
full = [
|
||||||
"bls12_377", "ed_on_bls12_381", "ed_on_bls12_377", "ed_on_cp6_782",
|
"bls12_377", "ed_on_bn254", "ed_on_bls12_381", "ed_on_bls12_377", "ed_on_cp6_782",
|
||||||
"ed_on_bw6_761", "ed_on_mnt4_298", "ed_on_mnt4_753", "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" ]
|
||||||
ed_on_bls12_381 = [ "algebra/ed_on_bls12_381" ]
|
ed_on_bls12_381 = [ "algebra/ed_on_bls12_381" ]
|
||||||
|
ed_on_bn254 = [ "algebra/ed_on_bn254" ]
|
||||||
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" ]
|
||||||
|
|||||||
11
r1cs-std/src/instantiated/ed_on_bn254/curves.rs
Normal file
11
r1cs-std/src/instantiated/ed_on_bn254/curves.rs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
use crate::groups::curves::twisted_edwards::AffineGadget;
|
||||||
|
use algebra::ed_on_bn254::*;
|
||||||
|
|
||||||
|
use crate::ed_on_bn254::FqGadget;
|
||||||
|
|
||||||
|
pub type EdwardsGadget = AffineGadget<EdwardsParameters, Fq, FqGadget>;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test() {
|
||||||
|
crate::groups::curves::twisted_edwards::test::<Fq, _, EdwardsGadget>();
|
||||||
|
}
|
||||||
8
r1cs-std/src/instantiated/ed_on_bn254/fields.rs
Normal file
8
r1cs-std/src/instantiated/ed_on_bn254/fields.rs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
use crate::fields::fp::FpGadget;
|
||||||
|
|
||||||
|
pub type FqGadget = FpGadget<algebra::ed_on_bn254::Fq>;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test() {
|
||||||
|
crate::fields::tests::field_test::<_, algebra::ed_on_bn254::Fq, FqGadget>();
|
||||||
|
}
|
||||||
5
r1cs-std/src/instantiated/ed_on_bn254/mod.rs
Normal file
5
r1cs-std/src/instantiated/ed_on_bn254/mod.rs
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
mod curves;
|
||||||
|
mod fields;
|
||||||
|
|
||||||
|
pub use curves::*;
|
||||||
|
pub use fields::*;
|
||||||
@@ -13,6 +13,9 @@ pub(crate) mod ed_on_cp6_782;
|
|||||||
#[cfg(feature = "ed_on_bw6_761")]
|
#[cfg(feature = "ed_on_bw6_761")]
|
||||||
pub mod ed_on_bw6_761;
|
pub mod ed_on_bw6_761;
|
||||||
|
|
||||||
|
#[cfg(feature = "ed_on_bn254")]
|
||||||
|
pub mod ed_on_bn254;
|
||||||
|
|
||||||
#[cfg(feature = "ed_on_bls12_381")]
|
#[cfg(feature = "ed_on_bls12_381")]
|
||||||
pub mod ed_on_bls12_381;
|
pub mod ed_on_bls12_381;
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,9 @@ 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;
|
||||||
|
|
||||||
|
#[cfg(feature = "ed_on_bn254")]
|
||||||
|
pub use instantiated::ed_on_bn254;
|
||||||
|
|
||||||
#[cfg(feature = "ed_on_bls12_381")]
|
#[cfg(feature = "ed_on_bls12_381")]
|
||||||
pub use instantiated::ed_on_bls12_381;
|
pub use instantiated::ed_on_bls12_381;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user