Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chapter 5 Figure 5-9 Correction #1023

Open
traffictse opened this issue Sep 17, 2022 · 2 comments
Open

Chapter 5 Figure 5-9 Correction #1023

traffictse opened this issue Sep 17, 2022 · 2 comments

Comments

@traffictse
Copy link

traffictse commented Sep 17, 2022

Figure 5-9 is titled "Extending a parent private key to create a child private key", quoted as:

image

Firstly, to clarify the difference between Figure 5-9 and Figure 5-11, I suggest changing the title of Figure 5-10 to "Extending a parent private key to create a non-hardened child private key".

Secondly, the arrow drawn directly from Parent Private Key to Child Private Key bypassing HMAC-SHA512 is incorrect, even considering the hardened child case.

The next is just for reference.

fig 5-10

@traffictse traffictse changed the title Chapter 5 Figure 5-10 Correction Chapter 5 Figure 5-9 Correction Sep 17, 2022
@RequestPrivacy
Copy link

Firstly, to clarify the difference between Figure 5-9 and Figure 5-11, I suggest changing the title of Figure 5-10 to "Extending a parent private key to create a non-hardened child private key".

A valid improvement imho.

Secondly, the arrow drawn directly from Parent Private Key to Child Private Key bypassing HMAC-SHA512 is incorrect, even considering the hardened child case.

The arrow from the parent private key directly to the child private key doesn't mean that you can "bybass" HMAC-SHA512. If you read the explanation of the process in the paragraph above the picture closely, you can see that the child private key is found by adding the left 256bits of the HMAC-SHA512 hash to the parent private key:

The left-half 256 bits of the hash are added to the parent private key to produce the child private key.

So the arrow means that you need the parent private key in addition to the left 256 bits of the hash to generate the child private key. I understand the confusion as both arrows should be joined firstly (to symbolize the addition) instead of being separate ones that attach the the child private key.

@RequestPrivacy
Copy link

@harding as this is really confusing for the not so careful reader, I'd like to try and improve the pictures. I just can find the final .png in the repo. Is it possible to get the source so that I can try and do a PR with my drafts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants