arnaucube
arnaucube/ark-r1cs-stdPublic Self-hosted repository
Implement ed_on_bn254 curve (baby-jubjub) (#230)

Youssef El Housni youssef.housni21@gmail.com
Wed, 01 Jul 2020 21:25:02 +0200
commit

36305e724703917dfead83c6d48379a1b21f507c

parent

a83914af50787951a4458d202369ab32ccadb968

M r1cs-std/Cargo.toml → r1cs-std/Cargo.toml

@@ -36,12 +36,13 @@

[features] default = ["std"] 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" ] bls12_377 = [ "algebra/bls12_377" ] 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_cp6_782 = [ "algebra/ed_on_cp6_782" ] ed_on_bw6_761 = [ "algebra/ed_on_bw6_761", "algebra/ed_on_cp6_782" ]
A r1cs-std/src/instantiated/ed_on_bn254/curves.rs

@@ -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>(); +}
A r1cs-std/src/instantiated/ed_on_bn254/fields.rs

@@ -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>(); +}
A r1cs-std/src/instantiated/ed_on_bn254/mod.rs

@@ -0,0 +1,5 @@

+mod curves; +mod fields; + +pub use curves::*; +pub use fields::*;
M r1cs-std/src/instantiated/mod.rs → r1cs-std/src/instantiated/mod.rs

@@ -13,6 +13,9 @@

#[cfg(feature = "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")] pub mod ed_on_bls12_381;
M r1cs-std/src/lib.rs → r1cs-std/src/lib.rs

@@ -60,6 +60,9 @@

#[cfg(feature = "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")] pub use instantiated::ed_on_bls12_381;