<blockquote>
  <p>Is there a kind of homomorphism between the set of private keys and public keys?</p>
</blockquote>

<p>Yes. You can think of <code>f: G -&gt; H</code> being the function that derives a public key (i.e. something from the set of H) from a private key (something from the set of G).</p>

<p>More to the point, <code>f(a + b modulo n) = f(a) # f(b)</code></p>

<p>(I'm using the <code>#</code> symbol above to mean 'secp256k1 elliptic curve point addition')</p>

<blockquote>
  <p>Because the article says that you can either sum before or after the public key is generated.</p>
</blockquote>

<p>That's accurate.</p>

CC BY-SA 3.0
2015-12-20T18:55:39.633Z
2015-12-20T18:55:39.633Z
Nick ODell
<p>This article says you can generate new public keys from an already generated public key. How is this possible? </p>

<p><a href="https://bitcoinmagazine.com/articles/deterministic-wallets-advantages-flaw-1385450276" rel="noreferrer">https://bitcoinmagazine.com/articles/deterministic-wallets-advantages-flaw-1385450276</a></p>

<p>I thought you could only generate new public keys from private keys. What is the mathematical property that guarantees this? Is there a kind of associativity, or better say, an homomorphism between the set of private keys and public keys? Because the article says that you can either sum before or after the public key is generated. </p>

CC BY-SA 3.0
2015-12-20T17:52:50.660Z
Here is a very short summary of the math, by the armory developer: https://bitcointalk.org/index.php?topic=56424.msg1146359#msg1146359
Maximillian Laumeister
<wallet><address><public-key><deterministic-wallets>
Derive new public keys from a public key?
Magritte
# Derive new public keys from a public key?

(Asked by: username_0 on 2015-12-20)

This article says you can generate new public keys from an already generated public key. How is this possible?

<https://bitcoinmagazine.com/articles/deterministic-wallets-advantages-flaw-1385450276>

I thought you could only generate new public keys from private keys. What is the mathematical property that guarantees this? Is there a kind of associativity, or better say, an homomorphism between the set of private keys and public keys? Because the article says that you can either sum before or after the public key is generated.

**Tags:** wallet, address, public-key, deterministic-wallets

> **Comments:**
> **username_1**: Here is a very short summary of the math, by the armory developer: https://bitcointalk.org/index.php?topic=56424.msg1146359#msg1146359  

---

## 1 answers

### Answer by username_2 on 2015-12-20. Score: 5

> Is there a kind of homomorphism between the set of private keys and public keys?

Yes. You can think of `f: G -> H` being the function that derives a public key (i.e. something from the set of H) from a private key (something from the set of G).

More to the point, `f(a + b modulo n) = f(a) # f(b)`

(I'm using the `#` symbol above to mean 'secp256k1 elliptic curve point addition')

> Because the article says that you can either sum before or after the public key is generated.

That's accurate.


---

