<blockquote>
  <p>But not the former. Can anyone explain what he meant in the former?</p>
</blockquote>

<p>A child key can refer to two different things: the child private key and the child public key. With just only one of these two things, you cannot determine the private or public keys of any parents or siblings. Just revealing one of those keys does not necessarily reveal any other information.</p>

<p>However, when a child private key AND the parent extended public key (so public key and chaincode) are revealed, we can derive the parent's private key. This requires more than just the child private key and cannot be done with a child public key.</p>

CC BY-SA 4.0
2018-06-15T23:35:16.713Z
2018-06-15T23:35:16.713Z
Ava Chow
<p>In the book named <strong>Mastering Bitcoin by Andreas</strong>, the author described the usage of derived child keys. One thing I noted was that he said(<strong>page 108</strong>), </p>

<blockquote>
  <p>The derivation function is a one-way function, the child key cannot be
  used to find the parent key. The child key also cannot be used to find
  any siblings.</p>
</blockquote>

<p>And when he had come across the topic <strong>Hardened Child Key derivation</strong> he described the flaws of Non-Hardened Child Key derivation. He said(<strong>page 112</strong>), </p>

<blockquote>
  <p>Because the xpub contains the chain code, if a child private key is
  known, or
  somehow leaked, it can be used with the chain code to derive all the
  other child private keys. A single leaked child private key, together with a parent
  chain code, reveals all the private keys of all the children. Worse, the child private key
  together with a
  parent chain code can be used to deduce the parent private key.</p>
</blockquote>

<p>What I can’t understand is why had the author initially stated that <em>using child keys we cannot derive parent keys</em>, and later stating that <em>using child’s private key we can derive parent’s key</em>. </p>

<p>Well, I’ve found one <a href="https://bitcoin.stackexchange.com/q/56916/84321">post</a> which clearly explains the latter. But not the former. Can anyone explain what he meant in the former?</p>

<bitcoin-core><bitcoind><private-key><public-key><recover-private-key>
Can we derive parent’s private key using child’s private key?
Gnanesh
# Can we derive parent’s private key using child’s private key?

(Asked by: username_0 on 2018-06-15)

In the book named **Mastering Bitcoin by Andreas**, the author described the usage of derived child keys. One thing I noted was that he said(**page 108**),

> The derivation function is a one-way function, the child key cannot be
> used to find the parent key. The child key also cannot be used to find
> any siblings.

And when he had come across the topic **Hardened Child Key derivation** he described the flaws of Non-Hardened Child Key derivation. He said(**page 112**),

> Because the xpub contains the chain code, if a child private key is
> known, or
> somehow leaked, it can be used with the chain code to derive all the
> other child private keys. A single leaked child private key, together with a parent
> chain code, reveals all the private keys of all the children. Worse, the child private key
> together with a
> parent chain code can be used to deduce the parent private key.

What I can’t understand is why had the author initially stated that *using child keys we cannot derive parent keys*, and later stating that *using child’s private key we can derive parent’s key*.

Well, I’ve found one [post](https://bitcoin.stackexchange.com/q/56916/84321) which clearly explains the latter. But not the former. Can anyone explain what he meant in the former?

**Tags:** bitcoin-core, bitcoind, private-key, public-key, recover-private-key


---

## 1 answers

### Answer by username_1 on 2018-06-15. Score: 4 | Accepted answer

> But not the former. Can anyone explain what he meant in the former?

A child key can refer to two different things: the child private key and the child public key. With just only one of these two things, you cannot determine the private or public keys of any parents or siblings. Just revealing one of those keys does not necessarily reveal any other information.

However, when a child private key AND the parent extended public key (so public key and chaincode) are revealed, we can derive the parent's private key. This requires more than just the child private key and cannot be done with a child public key.


---

