mirror of
https://github.com/arnaucube/ark-curves-cherry-picked.git
synced 2026-01-11 16:31:36 +01:00
Initial commit
This commit is contained in:
77
mnt4_753/src/fields/fq2.rs
Normal file
77
mnt4_753/src/fields/fq2.rs
Normal file
@@ -0,0 +1,77 @@
|
||||
use crate::{Fq, FQ_ONE};
|
||||
use ark_ff::{
|
||||
biginteger::BigInteger768 as BigInteger,
|
||||
field_new,
|
||||
fields::fp2::{Fp2, Fp2Parameters},
|
||||
};
|
||||
|
||||
pub type Fq2 = Fp2<Fq2Parameters>;
|
||||
|
||||
pub struct Fq2Parameters;
|
||||
|
||||
impl Fp2Parameters for Fq2Parameters {
|
||||
type Fp = Fq;
|
||||
|
||||
// non_residue = 13
|
||||
#[rustfmt::skip]
|
||||
const NONRESIDUE: Fq = field_new!(Fq, BigInteger([
|
||||
11881297496860141143,
|
||||
13588356353764843511,
|
||||
9969398190777826186,
|
||||
17325157081734070311,
|
||||
16341533986183788031,
|
||||
8322434028726676858,
|
||||
13631157743146294957,
|
||||
8365783422740577875,
|
||||
3010239015809771096,
|
||||
11776256826687733591,
|
||||
7214251687253691272,
|
||||
268626707558702
|
||||
]));
|
||||
|
||||
// qnr = (8, 1)
|
||||
const QUADRATIC_NONRESIDUE: (Self::Fp, Self::Fp) = (
|
||||
field_new!(
|
||||
Fq,
|
||||
BigInteger([
|
||||
587330122779359758,
|
||||
14352661462510473462,
|
||||
17802452401246596498,
|
||||
18018663494943049411,
|
||||
17948754733747257098,
|
||||
10253180574146027531,
|
||||
6683223122694781837,
|
||||
13573468617269213174,
|
||||
5059368039312883748,
|
||||
950479668716233863,
|
||||
9936591501985804621,
|
||||
88719447132658
|
||||
])
|
||||
),
|
||||
FQ_ONE,
|
||||
);
|
||||
|
||||
// Coefficients:
|
||||
// [1, 41898490967918953402344214791240637128170709919953949071783502921025352812571106773058893763790338921418070971888253786114353726529584385201591605722013126468931404347949840543007986327743462853720628051692141265303114721689600]
|
||||
// see https://github.com/o1-labs/snarky/blob/2cf5ef3a14989e57c17518832b3c52590068fc48/src/camlsnark_c/libsnark-caml/depends/libff/libff/algebra/curves/mnt753/mnt4753/mnt4753_init.cpp
|
||||
const FROBENIUS_COEFF_FP2_C1: &'static [Self::Fp] = &[
|
||||
FQ_ONE,
|
||||
field_new!(
|
||||
Fq,
|
||||
BigInteger([
|
||||
14260497802974073023,
|
||||
5895249896161266456,
|
||||
14682908860938702530,
|
||||
17222385991615618722,
|
||||
14621060510943733448,
|
||||
10594887362868996148,
|
||||
7477357615964975684,
|
||||
12570239403004322603,
|
||||
2180620924574446161,
|
||||
12129628062772479841,
|
||||
8853285699251153944,
|
||||
362282887012814
|
||||
])
|
||||
),
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user