mirror of
https://github.com/bitcoinbook/bitcoinbook
synced 2024-12-23 15:18:11 +00:00
CH04::pubkeys: move-only
This commit is contained in:
parent
f11b3971d2
commit
ceaa898888
@ -182,32 +182,6 @@ large number. It is approximately 10^77^ in decimal. For comparison, the
|
|||||||
visible universe is estimated to contain 10^80^ atoms.
|
visible universe is estimated to contain 10^80^ atoms.
|
||||||
====
|
====
|
||||||
|
|
||||||
[[pubkey]]
|
|
||||||
==== Public Keys
|
|
||||||
|
|
||||||
((("keys and addresses", "overview of", "public key
|
|
||||||
calculation")))((("generator point")))The public key is calculated from
|
|
||||||
the private key using elliptic curve multiplication, which is
|
|
||||||
irreversible: _K_ = _k_ * _G_, where _k_ is the private key, _G_ is a
|
|
||||||
constant point called the _generator point_, and _K_ is the resulting
|
|
||||||
public key. The reverse operation, known as "finding the discrete
|
|
||||||
logarithm"—calculating _k_ if you know __K__—is as difficult as trying
|
|
||||||
all possible values of _k_, i.e., a brute-force search. Before we
|
|
||||||
demonstrate how to generate a public key from a private key, let's look
|
|
||||||
at elliptic curve cryptography in a bit more detail.
|
|
||||||
|
|
||||||
[TIP]
|
|
||||||
====
|
|
||||||
Elliptic curve multiplication is a type of function that cryptographers
|
|
||||||
call a "trap door" function: it is easy to do in one direction
|
|
||||||
(multiplication) and impossible to do in the reverse direction
|
|
||||||
(division). Someone with a private key can easily create the public
|
|
||||||
key and then share it with the world knowing that no one can reverse the
|
|
||||||
function and calculate the private key from the public key. This
|
|
||||||
mathematical trick becomes the basis for unforgeable and secure digital
|
|
||||||
signatures that prove control over bitcoin funds.
|
|
||||||
====
|
|
||||||
|
|
||||||
[[elliptic_curve]]
|
[[elliptic_curve]]
|
||||||
==== Elliptic Curve Cryptography Explained
|
==== Elliptic Curve Cryptography Explained
|
||||||
|
|
||||||
@ -339,7 +313,30 @@ that k is sometimes confusingly called an "exponent" in this case.((("",
|
|||||||
startref="eliptic04")))((("", startref="Celliptic04")))
|
startref="eliptic04")))((("", startref="Celliptic04")))
|
||||||
|
|
||||||
[[public_key_derivation]]
|
[[public_key_derivation]]
|
||||||
==== Generating a Public Key
|
==== Public Keys
|
||||||
|
|
||||||
|
((("keys and addresses", "overview of", "public key
|
||||||
|
calculation")))((("generator point")))The public key is calculated from
|
||||||
|
the private key using elliptic curve multiplication, which is
|
||||||
|
irreversible: _K_ = _k_ * _G_, where _k_ is the private key, _G_ is a
|
||||||
|
constant point called the _generator point_, and _K_ is the resulting
|
||||||
|
public key. The reverse operation, known as "finding the discrete
|
||||||
|
logarithm"—calculating _k_ if you know __K__—is as difficult as trying
|
||||||
|
all possible values of _k_, i.e., a brute-force search. Before we
|
||||||
|
demonstrate how to generate a public key from a private key, let's look
|
||||||
|
at elliptic curve cryptography in a bit more detail.
|
||||||
|
|
||||||
|
[TIP]
|
||||||
|
====
|
||||||
|
Elliptic curve multiplication is a type of function that cryptographers
|
||||||
|
call a "trap door" function: it is easy to do in one direction
|
||||||
|
(multiplication) and impossible to do in the reverse direction
|
||||||
|
(division). Someone with a private key can easily create the public
|
||||||
|
key and then share it with the world knowing that no one can reverse the
|
||||||
|
function and calculate the private key from the public key. This
|
||||||
|
mathematical trick becomes the basis for unforgeable and secure digital
|
||||||
|
signatures that prove control over bitcoin funds.
|
||||||
|
====
|
||||||
|
|
||||||
((("keys and addresses", "overview of", "public key
|
((("keys and addresses", "overview of", "public key
|
||||||
generation")))((("generator point")))Starting with a private key in the
|
generation")))((("generator point")))Starting with a private key in the
|
||||||
|
Loading…
Reference in New Issue
Block a user