@ -3,7 +3,7 @@ use ark_ec::{
mnt4 ::MNT4Parameters ,
models ::{ ModelParameters , SWModelParameters } ,
} ;
use ark_ff ::{ biginteger ::BigInteger768 , field_new } ;
use ark_ff ::field_new ;
use crate ::{ Fq , Fq2 , Fr , FQ_ZERO , G1_COEFF_A_NON_RESIDUE } ;
@ -41,20 +41,7 @@ impl SWModelParameters for Parameters {
#[ rustfmt::skip ]
const COEFF_B : Fq2 = field_new ! ( Fq2 ,
FQ_ZERO ,
field_new ! ( Fq , BigInteger768 ( [
15129916544657421551 ,
11332543254671606602 ,
11913830318987286849 ,
13905314883394440110 ,
16479690325073358448 ,
14869098639251228898 ,
10663986895980443550 ,
10768989312009479656 ,
9469728929095040349 ,
4512954369775881939 ,
8788997129423430122 ,
459763387588954 ,
] ) ) ,
field_new ! ( Fq , "39196523001581428369576759982967177918859161321667605855515469914917622337081756705006832951954384669101573360625169461998308377011601613979275218690841934572954991361632773738259652003389826903175898479855893660378722437317212" )
) ;
/// COFACTOR =
@ -78,20 +65,7 @@ impl SWModelParameters for Parameters {
/// COFACTOR^(-1) mod r =
/// 102345604409665481004734934052318066391634848395005988700111949231215905051467807945653833683883449458834877235200
#[ rustfmt::skip ]
const COFACTOR_INV : Fr = field_new ! ( Fr , BigInteger768 ( [
1879390364380281898 ,
7926794171490610432 ,
6437239504245874253 ,
16688141022047191858 ,
17059416847145768464 ,
15065047661241262516 ,
16537575340937777321 ,
3324411942044534547 ,
3878293904770657570 ,
18116939243856833744 ,
7557533897589069385 ,
78370361203778 ,
] ) ) ;
const COFACTOR_INV : Fr = field_new ! ( Fr , "102345604409665481004734934052318066391634848395005988700111949231215905051467807945653833683883449458834877235200" ) ;
/// AFFINE_GENERATOR_COEFFS = (G2_GENERATOR_X, G2_GENERATOR_Y)
const AFFINE_GENERATOR_COEFFS : ( Self ::BaseField , Self ::BaseField ) =
@ -113,65 +87,13 @@ const G2_GENERATOR_Y: Fq2 = field_new!(Fq2, G2_GENERATOR_Y_C0, G2_GENERATOR_Y_C1
// Y = 39940152670760519653940320314827327941993141403708338666925204282084477074754642625849927569427860786384998614863651207257467076192649385174108085803168743803491780568503369317093191101779534035377266300185099318717465441820654,
// 17608637424964395737041291373756657139607306440193731804102457011726690702169238966996114255971643893157857311132388792357391583164125870757541009035041469463366528798593952884745987697403056488744603829437448927398468360797245,
#[ rustfmt::skip ]
pub const G2_GENERATOR_X_C0 : Fq = field_new ! ( Fq , BigInteger768 ( [
7263636080534048301 ,
7643227961769035653 ,
15787777614640869937 ,
17661317895964274771 ,
4142647779394287783 ,
15064949873659932676 ,
4579259080596351332 ,
2207443675339702626 ,
5738725620118622838 ,
4338467638707299712 ,
6558861849926282439 ,
341078935870328
] ) ) ;
pub const G2_GENERATOR_X_C0 : Fq = field_new ! ( Fq , "29483965110843144675703364744708836524643960105538608078862508397502447349913068434941060515343254862580437318493682762113105361632548148204806052114008731372757389645383891982211245013965175213456066452587869519098351487925167" ) ;
#[ rustfmt::skip ]
pub const G2_GENERATOR_X_C1 : Fq = field_new ! ( Fq , BigInteger768 ( [
13073882729051113867 ,
195909455108318710 ,
10527070038778509320 ,
16605710222187477118 ,
10442518358308209073 ,
7776589986153052354 ,
16034091384000651523 ,
17429232381273855185 ,
512853344493546034 ,
7982076214836075255 ,
3601416800138513610 ,
399028695285184
] ) ) ;
pub const G2_GENERATOR_X_C1 : Fq = field_new ! ( Fq , "19706011319630172391076079624799753948158506771222147486237995321925443331396169656568431378974558350664383559981183980668976846806019030432389169137953988990802000581078994008283967768348275973921598166274857631001635633631000" ) ;
#[ rustfmt::skip ]
pub const G2_GENERATOR_Y_C0 : Fq = field_new ! ( Fq , BigInteger768 ( [
4867672648970469422 ,
2453112364260322863 ,
11918672197974895143 ,
3923647310180624143 ,
12707123323825700670 ,
15781895092544451511 ,
17747112377690960911 ,
16511994611001933567 ,
15360620366665804029 ,
10252080383738480571 ,
5722654046339742760 ,
316853130349807
] ) ) ;
pub const G2_GENERATOR_Y_C0 : Fq = field_new ! ( Fq , "39940152670760519653940320314827327941993141403708338666925204282084477074754642625849927569427860786384998614863651207257467076192649385174108085803168743803491780568503369317093191101779534035377266300185099318717465441820654" ) ;
#[ rustfmt::skip ]
pub const G2_GENERATOR_Y_C1 : Fq = field_new ! ( Fq , BigInteger768 ( [
17322957246732430708 ,
11825815087694023697 ,
7654216682602683900 ,
13544637981229618042 ,
17057060382219081849 ,
4038731408172002692 ,
6631723222530012253 ,
10585926166286435412 ,
16050667328028620117 ,
16598483946296156500 ,
11771818132648686020 ,
1230430296095
] ) ) ;
pub const G2_GENERATOR_Y_C1 : Fq = field_new ! ( Fq , "17608637424964395737041291373756657139607306440193731804102457011726690702169238966996114255971643893157857311132388792357391583164125870757541009035041469463366528798593952884745987697403056488744603829437448927398468360797245" ) ;