mirror of
https://github.com/bitcoinbook/bitcoinbook
synced 2025-01-11 08:10:54 +00:00
Edited ch04_keys.adoc with Atlas code editor
This commit is contained in:
parent
4879ca2eac
commit
21c4c3af44
@ -88,7 +88,7 @@ signatures.
|
||||
==== Private Keys
|
||||
|
||||
A
|
||||
private ((("public key cryptography", "private keys", "generating", id="pub-key-private-generate")))((("private keys", "generating", id="private-key-generate")))key is simply a number, picked at random. Control
|
||||
private ((("private keys", "generating", id="private-key-generate")))key is simply a number, picked at random. Control
|
||||
over the private key is the root of user control over all funds
|
||||
associated with the corresponding Bitcoin public key. The private key is
|
||||
used to create signatures that are used to spend bitcoins by proving
|
||||
@ -152,7 +152,7 @@ bits):
|
||||
====
|
||||
The size of Bitcoin's private key space, (2^256^) is an unfathomably
|
||||
large number. It is approximately 10^77^ in decimal. For comparison, the
|
||||
visible universe is estimated to((("public key cryptography", "private keys", "generating", startref="pub-key-private-generate")))((("private keys", "generating", startref="private-key-generate"))) contain 10^80^ atoms.
|
||||
visible universe is estimated to((("private keys", "generating", startref="private-key-generate"))) contain 10^80^ atoms.
|
||||
====
|
||||
|
||||
[[elliptic_curve]]
|
||||
@ -286,7 +286,7 @@ that k is sometimes confusingly called an "exponent" in ((("public key cryptogra
|
||||
[[public_key_derivation]]
|
||||
==== Public Keys
|
||||
|
||||
The ((("public key cryptography", "public keys", "generating", id="pub-key-public-generate")))((("public keys", "generating", id="public-key-generate")))((("elliptic curve multiplication", id="elliptic-multiply")))public key is calculated from
|
||||
The ((("public keys", "generating", id="public-key-generate")))((("elliptic curve multiplication", id="elliptic-multiply")))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
|
||||
@ -373,7 +373,7 @@ geometric operation on the curve.
|
||||
====
|
||||
Many Bitcoin implementations use
|
||||
the https://oreil.ly/wD60m[libsecp256k1 crytographic
|
||||
library] to do the elliptic curve((("public key cryptography", "public keys", "generating", startref="pub-key-public-generate")))((("public keys", "generating", startref="public-key-generate")))((("elliptic curve multiplication", startref="elliptic-multiply"))) math.
|
||||
library] to do the elliptic curve((("public keys", "generating", startref="public-key-generate")))((("elliptic curve multiplication", startref="elliptic-multiply"))) math.
|
||||
====
|
||||
|
||||
[[ecc_illustrated]]
|
||||
@ -1423,7 +1423,7 @@ support for new Bitcoin features as soon as they become ((("public key cryptogra
|
||||
[[priv_formats]]
|
||||
==== Private Key Formats
|
||||
|
||||
The ((("private keys", "formats", id="private-key-format")))((("public key cryptography", "private keys", "formats", id="pub-key-private-format")))private key
|
||||
The ((("private keys", "formats", id="private-key-format")))private key
|
||||
can be represented in a number of different formats, all of which
|
||||
correspond to the same 256-bit number. <<table_4-2>> shows several common
|
||||
formats used to represent private keys. Different formats are used in
|
||||
@ -1517,12 +1517,12 @@ See <<hd_wallets>> for more information.
|
||||
|
||||
All of these representations are different ways of showing the same
|
||||
number, the same private key. They look different, but any one format
|
||||
can easily be converted to any other((("private keys", "formats", startref="private-key-format")))((("public key cryptography", "private keys", "formats", startref="pub-key-private-format"))) format.
|
||||
can easily be converted to any other((("private keys", "formats", startref="private-key-format"))) format.
|
||||
|
||||
[[comp_priv]]
|
||||
==== Compressed Private Keys
|
||||
|
||||
The commonly((("private keys", "compressed", id="private-key-compress")))((("public key cryptography", "private keys", "compressed", id="pub-key-private-compress")))((("compressed private keys", id="compress-private-key"))) used term "compressed private key" is a misnomer, because when a private
|
||||
The commonly((("private keys", "compressed", id="private-key-compress")))((("compressed private keys", id="compress-private-key"))) used term "compressed private key" is a misnomer, because when a private
|
||||
key is exported as WIF-compressed it is actually one byte _longer_ than
|
||||
an "uncompressed" private key. That is because the private key has an
|
||||
added one-byte suffix (shown as 01 in hex in <<table_4-4>>), which
|
||||
@ -1598,7 +1598,7 @@ is modified, with the addition of a one-byte suffix +01+ to the private
|
||||
key. The resulting base58check-encoded private key is called a
|
||||
"compressed WIF" and starts with the letter _K_ or _L_, instead of
|
||||
starting with "5" as is the case with WIF-encoded (uncompressed) keys
|
||||
from((("private keys", "compressed", startref="private-key-compress")))((("public key cryptography", "private keys", "compressed", startref="pub-key-private-compress")))((("compressed private keys", startref="compress-private-key"))) older wallets.
|
||||
from((("private keys", "compressed", startref="private-key-compress")))((("compressed private keys", startref="compress-private-key"))) older wallets.
|
||||
|
||||
=== Advanced Keys and Addresses
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user