Post
Topic
Board Development & Technical Discussion
Merits 33 from 8 users
Re: Fail at coding my own Secp256k1 function (Pyhon)
by
PowerGlove
on 09/08/2022, 09:00:17 UTC
⭐ Merited by ETFbitcoin (7) ,Welsh (6) ,mprep (5) ,SamYezi (5) ,BlackHatCoiner (4) ,o_e_l_e_o (4) ,NotATether (1) ,DdmrDdmr (1)
You're almost there, change this (in secp256k1BinaryExpansion):

Code:
if coef & 1:
    resultX, resultY = addition(currentX, currentY, gx, gy, a, b, prime)
currentX, currentY = addition(currentX, currentY, gx, gy, a, b, prime)

To this:

Code:
if coef & 1:
    resultX, resultY = addition(resultX, resultY, currentX, currentY, a, b, prime)
currentX, currentY = addition(currentX, currentY, currentX, currentY, a, b, prime)

And your second test case will pass (i.e. 0x45300f2b990d332c0ee0efd69f2c21c323d0e2d20e7bfa7b1970bbf169174c82 => (40766947848522619068424335498612406856128862642075168802372109289834906557916, 70486353993054234343658342414815626812704078223802622900411169732153437188990))

I haven't checked your code carefully though, so I wouldn't consider this "working" just yet. Tongue