Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: kasunrandil on July 09, 2022, 06:23:26 AM



Title: what is elliptic curve multiplication?
Post by: kasunrandil on July 09, 2022, 06:23:26 AM
may anyone introduce me  what is elliptic curve multiplication and how it works  & why is it so important briefly??


Title: Re: what is elliptic curve multiplication?
Post by: pooya87 on July 09, 2022, 06:39:45 AM
https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication


Title: Re: what is elliptic curve multiplication?
Post by: tranthidung on July 09, 2022, 06:42:06 AM
You are free to read the book, Mastering Bitcoin 2nd edition on Github: https://github.com/bitcoinbook/bitcoinbook
  • Chapter 4: Key and addresses: Elliptic Curve Cryptography Explained (https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch04.asciidoc)


Title: Re: what is elliptic curve multiplication?
Post by: witcher_sense on July 09, 2022, 07:19:26 AM
Elliptic curve multiplication is not a normal multiplication; it is basically a combination of two operations: point doubling and point addition. This is how it works: you take the generator point G and multiply it by your private key in a binary format. "Mutiply" means you perform point doubling of the result every time you see "0" in your private key, and you perform point addition of the result every time you see "1". For example, you private key is 1010. That means you add G to itself and get 2G, than double it and get 4G, than again add G to 4G and get 5G, than double it again and get 10G. 10G is your public key.


Title: Re: what is elliptic curve multiplication?
Post by: Cryptornd on July 09, 2022, 07:21:22 AM
Here You Can find All the details you need .

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html

Scroll Down And read the "Eliptic curve "


Title: Re: what is elliptic curve multiplication?
Post by: NotATether on July 09, 2022, 09:56:07 AM
It's when you multiply a point by a number, aka. repeated addition of the point with itself.

The point is a two-dimensional number with an x & y coordinate just like on graphs. But these points are inside a point group, which means a fixed set of points that may not be numerically next to each other or even in numerically ascending order. The curve characteristic is a very large prime number which represents the number of points are in the group, and any multiplication by numbers which are larger than the characteristic (it is similar to maximum int value, by comparison), "wraps around" just like conventional numbers, and the wrapping around is accomplished by the modulus operation. Therefore, multiplying by p+1 is equivalent to multiplication by 1.


Title: Re: what is elliptic curve multiplication?
Post by: tranthidung on July 09, 2022, 11:24:39 AM
Here You Can find All the details you need .

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html
It is better if you use a free version on Github as I shared there (https://bitcointalk.org/index.php?topic=5405684.msg60537781#msg60537781). In addition, what you shared is a 1st edition, the 2nd edition is there (https://www.oreilly.com/library/view/mastering-bitcoin-2nd/9781491954379/)

Two more topics on Elliptic Curve Cryptography from Bitcointalk members.
  • What is Elliptic Curve Cryptography? Understand how is it related to Bitcoin. (https://bitcointalk.org/index.php?topic=5232734.0)
  • Elliptic Curve Cryptography Basics - How It Works (https://bitcointalk.org/index.php?topic=5235482.0)


Title: Re: what is elliptic curve multiplication?
Post by: fxsniper on July 15, 2022, 01:57:52 AM
101 Blackboard Series on youtube can help explain in real work
try reading python code calculates it is helpful to know easy

from my understand
The first time I see   Q=k*G   look like some math but actually it is a process calculated a lot
multiply it is a one-way flip very long number over 300 time

https://www.youtube.com/watch?v=iB3HcPgm_FI&list=PLzctEq7iZD-7-DgJM604zsndMapn9ff6q&index=18

https://github.com/wobine/blackboard101/blob/master/EllipticCurvesPart4-PrivateKeyToPublicKey.py