Thanks for your reply. Appreciated. However, it does seem like the tool is doing all the work for me. I'm trying to learn how the calculation works myself.
With numbers as big as these, it usually is a program, or programming language library that does do all the actual work. Doing these calculations by hand would take too much time.
If you are interested, here is a pdf, which explains ECC really easily and well
https://www.entrust.com/wp-content/uploads/2014/03/WP_Entrust_Zero-to-ECC_March2014.pdfIf you want to practice actually doing these calculations I recommend trying them on smaller field first.
eg:
y²=x³+7 mod 1051
would create a prime field of 1093 points.
you can choose any point from the field to be G
For doing the multiplication with actual bitcoin curve you would first need to multiple the G by 2, then multiple the result by 2 and so on. until you have done it 255 times. And save the results.
Then you will have a list of points
G, 2*G, 4*G, 8*G, 16*G ... 57896044618658097711785492504343953926634992332820282019728792003956564819968*G
for the multiplications of 2 you use these formulas:
s=(3x²+a)/(2y1) mod p
x2=s²-2x1 mod p
y2=-y1+s(x1-x2) mod p
Then you transform your private key to a binary number and lets say it is 1001101 (very short priv key
)
then you can do the additions.
1 G
0 (2)
1 4G
1 8G
0 (16)
0 (32)
1 64G
The resulting public key would be:
G+4G+8G+64G
For the additions you use these formulas:
s=(y2-y1)/(x2-x1) mod p
x3=s²-x2-x1 mod p
y3=-y2+s(x2-x3) mod p
The pdf will explain these better.
Have fun