June 20, 2026

Question about Harden and Normal Key derivation

I am reading about Hardened and Normal child key in chapter 5 of the book "Mastering Bitcoin" by Andreas, along with this detailed thread and BIP-32. Here are some of my understanding about these two procedures:

k: private key // K: public key // i index // c chain code // H HMAC hashing result // Hleft the first 32 bits of the hash result. // n order of Ecliptic Curve. // G starting point of Ecliptic Curve

Normal Key Derivation

Case 1: parPrivkey -> childPrivkey (and from that, childPubkey)

H = HMAC(cpar, Kpar || ichild) 
=> kchild = (kpar + Hleft) mod n
=> Kchild = G*kchild = G*[ (kpar + Hleft) mod n)]

Case 2: parPubkey -> childPubkey

H = HMAC(cpar, Kpar || ichild)
=> Kchild = G*Hleft + Kpar

Hardened Key Derivation`

Case 3: parPrivkey -> childPrivkey (and from that childPubkey)

H = HMAC(cpar, kpar || ichild)
=> kchild = (kpar + Hleft) mod n
=> Kchild = G*kchild = G*[ (kpar + Hleft) mod n]

Given those 3 methods I have some pretty confusion:

  1. the difference in the generation equation between cases 1 and 2 are quite subtle such that we only need to multiply kchild = (kpar + Hleft) mod n by G to get that in case 2. Nevertheless, since there is a factor mod n at the end, I couldn’t tell wether Kchild of Case 1 will relate to that of Case 2. If it does not, then whats the point of generating just public key without being able to spend the fund sent to to it?

Thank you very much in advance.

Previous Article

atom long

Next Article

Does derivation from public and private keys give the same result in normal key derivation?

You might be interested in …