|
|
|
@ -71,17 +71,7 @@ pairs, each consisting of a private key and a public key. The private
|
|
|
|
|
key (k) is a number, usually derived from a number picked at random.
|
|
|
|
|
From the private key, we
|
|
|
|
|
use elliptic curve multiplication, a one-way cryptographic function, to
|
|
|
|
|
generate a public key (K). From the public key (K), we use a one-way
|
|
|
|
|
cryptographic hash function to generate a Bitcoin address (A). In this
|
|
|
|
|
section, we will start with generating the private key, look at the
|
|
|
|
|
elliptic curve math that is used to turn that into a public key, and
|
|
|
|
|
finally, generate a Bitcoin address from the public key. The
|
|
|
|
|
relationship between private key, public key, and Bitcoin address is
|
|
|
|
|
shown in <<k_to_K_to_A>>.
|
|
|
|
|
|
|
|
|
|
[[k_to_K_to_A]]
|
|
|
|
|
.Private key, public key, and Bitcoin address
|
|
|
|
|
image::images/mbc2_0401.png["privk_to_pubK_to_addressA"]
|
|
|
|
|
generate a public key (K).
|
|
|
|
|
|
|
|
|
|
.Why Use Asymmetric Cryptography (Public/Private Keys)?
|
|
|
|
|
****
|
|
|
|
@ -352,9 +342,8 @@ resulting public key, a point on the curve. Because the generator point
|
|
|
|
|
is always the same for all bitcoin users, a private key _k_ multiplied
|
|
|
|
|
with _G_ will always result in the same public key _K_. The relationship
|
|
|
|
|
between _k_ and _K_ is fixed, but can only be calculated in one
|
|
|
|
|
direction, from _k_ to _K_. That's why a Bitcoin address (derived from
|
|
|
|
|
_K_) can be shared with anyone and does not reveal the user's private
|
|
|
|
|
key (_k_).
|
|
|
|
|
direction, from _k_ to _K_. That's why a Bitcoin public key can be
|
|
|
|
|
shared with anyone and does not reveal the user's private key (_k_).
|
|
|
|
|
|
|
|
|
|
[TIP]
|
|
|
|
|
====
|
|
|
|
|