<blockquote>
  <p>Is the reverse also true -- can a parent extended public key be derived from a child extended public key?</p>
</blockquote>

<p>No. BIP 32 uses hash functions in order to derive the child keys. In order to be able to derive the parent key from the child key, you should need to be able to reverse the hash function, which is currently impossible (I say currently because some vulnerability could be discovered which allows it to be reversed, but that is unlikely to happen).</p>

<p>Furthermore, the child key derivation also involves calculating a public key from a private key (that private key is basically temporary and doesn't actually reveal anything about the child private key). You would need to reverse that too, but doing so is also currently impossible (it is theoretically possible with a quantum computer).</p>

CC BY-SA 3.0
2018-02-21T15:46:10.970Z
Thanks for this.  I don't understand then how is it that an unhardened pub key + any child private key could compromise the entire tree all the way back to root -- wouldn't the ability to derive a parent pub key from its child be needed?
Magnus
CC BY-SA 3.0
2018-02-21T15:57:24.743Z
The issue is when you have the parent pub key and any child private key. That lets you derive the parent private key.
Ava Chow
CC BY-SA 3.0
2018-02-21T16:04:26.380Z
Ah OK.  But still now that you have a parent pub key and have derived the parent priv key, is that enough to then break into the grandparent layer, ie the parents of the parents?  In other words, can a parent key be derived from a child pub + child priv?  What I'm hearing described here is more of a sibling derivation at the same level.
Magnus
CC BY-SA 3.0
2018-02-21T16:58:21.100Z
No, the parent key cannot be derived using only child keys. But once you get the parent private key, you can derive all child keys, and, from there, any descendants of those child keys.
Ava Chow
CC BY-SA 3.0
2018-02-20T22:08:04.223Z
2018-02-20T22:08:04.223Z
Ava Chow
<p>I understand that unhardened extended public child keys may be derived from any unhardened extended public key without access to any private keys.</p>

<p>Is the reverse also true -- can a parent extended public key be derived from a child extended public key?</p>

<blockchain>
does extended public key derivation go both directions
Magnus
# does extended public key derivation go both directions

(Asked by: username_0 on 2018-02-20)

I understand that unhardened extended public child keys may be derived from any unhardened extended public key without access to any private keys.

Is the reverse also true -- can a parent extended public key be derived from a child extended public key?

**Tags:** blockchain


---

## 1 answers

### Answer by username_1 on 2018-02-20. Score: 2 | Accepted answer

> Is the reverse also true -- can a parent extended public key be derived from a child extended public key?

No. BIP 32 uses hash functions in order to derive the child keys. In order to be able to derive the parent key from the child key, you should need to be able to reverse the hash function, which is currently impossible (I say currently because some vulnerability could be discovered which allows it to be reversed, but that is unlikely to happen).

Furthermore, the child key derivation also involves calculating a public key from a private key (that private key is basically temporary and doesn't actually reveal anything about the child private key). You would need to reverse that too, but doing so is also currently impossible (it is theoretically possible with a quantum computer).

> **Comments:**
> **username_0**: Thanks for this.  I don't understand then how is it that an unhardened pub key + any child private key could compromise the entire tree all the way back to root -- wouldn't the ability to derive a parent pub key from its child be needed?  
> **username_1**: The issue is when you have the parent pub key and any child private key. That lets you derive the parent private key.  
> **username_0**: Ah OK.  But still now that you have a parent pub key and have derived the parent priv key, is that enough to then break into the grandparent layer, ie the parents of the parents?  In other words, can a parent key be derived from a child pub + child priv?  What I'm hearing described here is more of a sibling derivation at the same level.  
> **username_1**: No, the parent key cannot be derived using only child keys. But once you get the parent private key, you can derive all child keys, and, from there, any descendants of those child keys.  

---

