Crate ark_cp6_782[][src]

Expand description

This library implements the CP6_782 curve generated in [BCGMMW20, “Zexe”]. The name denotes that it was generated using the Cocks–Pinch method for the embedding degree 6. The main feature of this curve is that the scalar field equals the base field of the BLS12_377 curve.

Curve information:

  • Base field: q = 22369874298875696930346742206501054934775599465297184582183496627646774052458024540232479018147881220178054575403841904557897715222633333372134756426301062487682326574958588001132586331462553235407484089304633076250782629492557320825577
  • Scalar field: r = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177
  • valuation(q - 1, 2) = 3
  • valuation(r - 1, 2) = 46

G1 curve equation: y^2 = x^3 + ax + b, where

  • a = 5,
  • b = 17764315118651679038286329069295091506801468118146712649886336045535808055361274148466772191243305528312843236347777260247138934336850548243151534538734724191505953341403463040067571652261229308333392040104884438208594329793895206056414,

G2 curve equation: y^2 = x^3 + Ax + B

  • A = Fq3(0, 0, 5)
  • B = Fq3(7237353553714858194254855835825640240663090882935418626687402315497764195116318527743248304684159666286416318482685337633828994152723793439622384740540789612754127688659139509552568164770448654259255628317166934203899992395064470477612, 0, 0)

Modules

fq
fq3
fq6
fr
g1
g2

Structs

CP6_782
Fq3Parameters
Fq6Parameters
FqParameters
FrParameters

Constants

ATE_IS_LOOP_COUNT_NEG

ATE_IS_LOOP_COUNT_NEG = false

ATE_LOOP_COUNT

ATE_LOOP_COUNT = 506464946133393486072777102926336625944849939610982267859828541006717966526573193706126370441346337661774335955699621

FINAL_EXPONENT_LAST_CHUNK_ABS_OF_W0

FINAL_EXPONENT_LAST_CHUNK_ABS_OF_W0 = 7000705447348627246181409558336018323010329260726930841638672011287206690002601216854775649561085256265269640040570922609783227469279331691880282815325569032149343779036142830666859805506518426649197067288711084398033

FINAL_EXPONENT_LAST_CHUNK_W0_IS_NEG

FINAL_EXPONENT_LAST_CHUNK_W0_IS_NEG = true

FINAL_EXPONENT_LAST_CHUNK_W1

FINAL_EXPONENT_LAST_CHUNK_W1 = 86482221941698704497288378992285180119495364068003923046442785886272123124361700722982503222189455144364945735564951562986

FQ_ONE
FQ_ZERO
TWIST

TWIST = (0, 1, 0)

Type Definitions

Fq
Fq3
Fq6
Fr
G1Affine
G1Projective
G2Affine
G2Projective
GT