Curve
Cheetah is Topos’s STARK-friendly elliptic curve defined over a sextic extension of p=264−232+1 and defined as follows:
E(Fp6):y2=x3+x+B
where:
- Fp6:=Fp[X]/(X6−7) ={a+b.u+c.u2+d.u3+e.u4+f.u5∣(a,b,c,d,e,f)∈(Fp)6, u6−7=0}
- B=u+395
- q=55610362957290864006699123731285679659474893560816383126640993521607086746831 (prime order of the curve's subgroup)
- h=708537115134665106932687062569690615370 (cofactor of the curve)
The curve defines a large group of 384 bits, containing a 255-bit prime order q subgroup on which we perform all our curve operations, including our Schnorr signature scheme.
The base point of the curve, obtained by applying the SSWU hash-to-curve algorithm to the "Cheetah" ASCII string, is defined as:
G=(Gx:Gy:Gz), with:Gx=12938930721685970739.u5+375185138577093320.u4+4830863958577994148.u3+10526511002404673680.u2+8599518745794843693.u+2754611494552410273Gy=9990732138772505951.u5+13187678623570541764.u4+10708493419890101954.u3+14375303400746062753.u2+2774812795997841935.u+15384029202802550068Gz=1