mirror of
https://github.com/arnaucube/ark-curves-cherry-picked.git
synced 2026-01-27 14:13:46 +01:00
Twisted Edwards parameters for BLS12-377 (#76)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
This commit is contained in:
@@ -1,11 +1,22 @@
|
||||
use crate::Parameters;
|
||||
use ark_r1cs_std::groups::bls12;
|
||||
use ark_ec::bls12::Bls12Parameters;
|
||||
use ark_ec::ModelParameters;
|
||||
use ark_r1cs_std::{
|
||||
fields::fp::FpVar,
|
||||
groups::{bls12, curves::twisted_edwards::AffineVar as TEAffineVar},
|
||||
};
|
||||
|
||||
/// An element of G1 in the BLS12-377 bilinear group.
|
||||
pub type G1Var = bls12::G1Var<Parameters>;
|
||||
/// An element of G2 in the BLS12-377 bilinear group.
|
||||
pub type G2Var = bls12::G2Var<Parameters>;
|
||||
|
||||
/// An element of G1 (in TE Affine form) in the BLS12-377 bilinear group.
|
||||
pub type G1TEAffineVar = TEAffineVar<
|
||||
<Parameters as Bls12Parameters>::G1Parameters,
|
||||
FpVar<<<Parameters as Bls12Parameters>::G1Parameters as ModelParameters>::BaseField>,
|
||||
>;
|
||||
|
||||
/// Represents the cached precomputation that can be performed on a G1 element
|
||||
/// which enables speeding up pairing computation.
|
||||
pub type G1PreparedVar = bls12::G1PreparedVar<Parameters>;
|
||||
@@ -21,6 +32,11 @@ fn test() {
|
||||
G1Var,
|
||||
>()
|
||||
.unwrap();
|
||||
ark_curve_constraint_tests::curves::te_test::<
|
||||
<Parameters as Bls12Parameters>::G1Parameters,
|
||||
G1TEAffineVar,
|
||||
>()
|
||||
.unwrap();
|
||||
ark_curve_constraint_tests::curves::sw_test::<
|
||||
<Parameters as Bls12Parameters>::G2Parameters,
|
||||
G2Var,
|
||||
|
||||
Reference in New Issue
Block a user