Elliptic curve point halving over a GF(P) field with the TGFPEllipticCurve.GetHalves method of the fnx.BigInts.GFPECurves unit.
Random BPSW-prime ----------------- M = 4177328748913403798045979871308724267619447059106862088739 Curve coefficients ------------------ A4 = 1331215735015814655703613406870516500040870385755436456831 A6 = 2802138062646782279473444975387442930258170758029637706598 Curve type = Ordinary Halving a point different from IDENTITY ooooooooooooooooooooooooooooooooooooooo Random point P -------------- X = 2821491600173465702621725450750858895869345869297552047926 Y = 1612569401993695190724100801111380325624008203323872141200 Z = 1 P has 4 halves H0 -- X = 2191707132530568913443418054667590078656099746301914629423 Y = 323109321816731876321601491726409557181243143465484418591 Z = 1 H1 -- X = 1311059273968282227917725602748190684123512211801192056520 Y = 1191617697569336641716520410146520622947018978351450799454 Z = 1 H2 -- X = 343530362661586843386771634461394487455187469196024452908 Y = 462509865171819987236438754212215280465529003850238830871 Z = 1 H3 -- X = 3262340882620021027693006639817536065623136990784214964114 Y = 2568660833564865424426286010188448609159380382710078903206 Z = 1 Check (H0*2 = P) : OK Check (H1*2 = P) : OK Check (H2*2 = P) : OK Check (H3*2 = P) : OK Halving the IDENTITY point oooooooooooooooooooooooooo IDENTITY has 4 halves H0 -- IDENTITY H1 -- X = 1683432381205036044177556059453619566689559054030184875986 Y = 0 Z = 1 H2 -- X = 1900301682996023806916153797061160771251629166330305483089 Y = 0 Z = 1 H3 -- X = 593594684712343946952270014793943929678258838746371729664 Y = 0 Z = 1 Check (H1*2 = IDENTITY) ......... : OK Check (H2*2 = IDENTITY) ......... : OK Check (H3*2 = IDENTITY) ......... : OK Check ((H1 + H2) = H3) .......... : OK Check ((H1 + H3) = H2) .......... : OK Check ((H2 + H3) = H1) .......... : OK Check ((H1 + H2 + H3) = IDENTITY) : OK Running times (milliseconds) ---------------------------- Creating prime ........ : 1.741 Finding random curve .. : 0.073 Computing curve type .. : 6.108 Finding random point .. : 0.380 Halving ............... : 27.853 Halving IDENTITY ...... : 15.348







Sorry, this part cannot be displayed on small screens!