mirror of
https://github.com/arnaucube/ark-curves-cherry-picked.git
synced 2026-01-13 01:11:32 +01:00
Catch up with algebra (#106)
Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
use crate::{fq::Fq, fr::Fr};
|
||||
use ark_ec::{
|
||||
models::{ModelParameters, SWModelParameters},
|
||||
short_weierstrass_jacobian::{GroupAffine, GroupProjective},
|
||||
models::CurveConfig,
|
||||
short_weierstrass::{Affine, Projective, SWCurveConfig},
|
||||
};
|
||||
use ark_ff::{MontFp, Zero};
|
||||
use ark_ff::{Field, MontFp, Zero};
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
@@ -11,7 +11,7 @@ mod tests;
|
||||
#[derive(Copy, Clone, Default, PartialEq, Eq)]
|
||||
pub struct VestaParameters;
|
||||
|
||||
impl ModelParameters for VestaParameters {
|
||||
impl CurveConfig for VestaParameters {
|
||||
type BaseField = Fq;
|
||||
type ScalarField = Fr;
|
||||
|
||||
@@ -19,22 +19,21 @@ impl ModelParameters for VestaParameters {
|
||||
const COFACTOR: &'static [u64] = &[0x1];
|
||||
|
||||
/// COFACTOR_INV = 1
|
||||
const COFACTOR_INV: Fr = MontFp!(Fr, "1");
|
||||
const COFACTOR_INV: Fr = Fr::ONE;
|
||||
}
|
||||
|
||||
pub type Affine = GroupAffine<VestaParameters>;
|
||||
pub type Projective = GroupProjective<VestaParameters>;
|
||||
pub type G1Affine = Affine<VestaParameters>;
|
||||
pub type G1Projective = Projective<VestaParameters>;
|
||||
|
||||
impl SWModelParameters for VestaParameters {
|
||||
impl SWCurveConfig for VestaParameters {
|
||||
/// COEFF_A = 0
|
||||
const COEFF_A: Fq = MontFp!(Fq, "0");
|
||||
const COEFF_A: Fq = Fq::ZERO;
|
||||
|
||||
/// COEFF_B = 5
|
||||
const COEFF_B: Fq = MontFp!(Fq, "5");
|
||||
const COEFF_B: Fq = MontFp!("5");
|
||||
|
||||
/// AFFINE_GENERATOR_COEFFS = (G1_GENERATOR_X, G1_GENERATOR_Y)
|
||||
const AFFINE_GENERATOR_COEFFS: (Self::BaseField, Self::BaseField) =
|
||||
(G_GENERATOR_X, G_GENERATOR_Y);
|
||||
const GENERATOR: G1Affine = G1Affine::new_unchecked(G_GENERATOR_X, G_GENERATOR_Y);
|
||||
|
||||
#[inline(always)]
|
||||
fn mul_by_a(_: &Self::BaseField) -> Self::BaseField {
|
||||
@@ -44,8 +43,8 @@ impl SWModelParameters for VestaParameters {
|
||||
|
||||
/// G_GENERATOR_X = -1
|
||||
/// Encoded in Montgomery form, so the value here is -R mod p.
|
||||
pub const G_GENERATOR_X: Fq = MontFp!(Fq, "-1");
|
||||
pub const G_GENERATOR_X: Fq = MontFp!("-1");
|
||||
|
||||
/// G_GENERATOR_Y = 2
|
||||
/// Encoded in Montgomery form, so the value here is 2R mod p.
|
||||
pub const G_GENERATOR_Y: Fq = MontFp!(Fq, "2");
|
||||
pub const G_GENERATOR_Y: Fq = MontFp!("2");
|
||||
|
||||
Reference in New Issue
Block a user