<blockquote>
<p>hardware wallets store A?</p>
</blockquote>
<p>Yes. It wouldn't make sense to do the 2048 rounds of hashing (HMAC-SHA512) between the mnemonic (B) and the seed (A) every time you want to derive child keys or create a signature.</p>
<blockquote>
<p>A is derivable from B, but going the other way is not possible?</p>
</blockquote>
<p>Indeed, hash functions are one way and this hash function is applied 2048 times.</p>
<blockquote>
<p>can A be called a private key, or is it just some binary value of appropriate length?</p>
</blockquote>
<p>A must be kept private as all funds from the HD wallet (from all the various child public keys) can be spent with knowledge of the seed. It is 512 bits and could be represented in any format including binary.</p>

CC BY-SA 4.0
2023-05-31T10:39:25.320Z
What is a good term to call A (e.g a seed, root, key, or a secret)? What would a cryptographer call it?
Cigarette Smoking Man
CC BY-SA 4.0
2023-05-31T10:48:15.967Z
@CigaretteSmokingMan: Seed seems most common. Definitely not key or secret given how many keys and secrets are dotted around a HD tree. Sometimes for non-technical audience seed and mnemonic are used interchangeably as from a user perspective they just need to worry about the securing the mnemonic from which the seed can be calculated e.g. the tag here on StackExchange is mnemonic-seed.
Michael Folkson
CC BY-SA 4.0
2023-05-31T10:55:12.973Z
Thanks, all this makes it a lot clearer!
Cigarette Smoking Man
CC BY-SA 4.0
2023-05-31T10:10:53.103Z
2023-05-31T10:10:53.103Z
Michael Folkson
<p>Going by the <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed" rel="nofollow noreferrer">BIP39 standard</a>, it seems that what is stored is the seed (lets call it <em>A</em>). But what is confusing is that people elsewhere seem to be conflating the mnemonic (the 24 or 12 word list, lets call this <em>B</em>) with the seed, while BIP39 appears to say that the seed (<em>A</em>) is derived from the mnemonic (<em>B</em>) by PBKDF2, which is one-way, so they are not the same thing. I always thought the mnemonic <em>is</em> the seed, and the thing that is derived from the mnemonic (seed) is a master private key, and it's the master private key that is stored on the hardware wallet.</p>
<p>In this context, is it correct that</p>
<ol>
<li><p>hardware wallets store <em>A</em>?</p>
</li>
<li><p><em>A</em> is derivable from <em>B</em>, but going the other way is not possible?</p>
</li>
<li><p>can <em>A</em> be called a private key, or is it just some binary value of appropriate length?</p>
<p>I guess one could argue that for some asymmetric key algorithms any value with correct length will do as key, but lets add the condition that it would need to be used for signing or decryption: i.e is <em>A</em> ever used for signing or decryption?</p>
</li>
</ol>

<private-key><mnemonic-seed><hardware-wallet>
Terminology on what do hardware wallets actually store?
Cigarette Smoking Man
# Terminology on what do hardware wallets actually store?

(Asked by: username_0 on 2023-05-31)

Going by the [BIP39 standard](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed), it seems that what is stored is the seed (lets call it *A*). But what is confusing is that people elsewhere seem to be conflating the mnemonic (the 24 or 12 word list, lets call this *B*) with the seed, while BIP39 appears to say that the seed (*A*) is derived from the mnemonic (*B*) by PBKDF2, which is one-way, so they are not the same thing. I always thought the mnemonic *is* the seed, and the thing that is derived from the mnemonic (seed) is a master private key, and it's the master private key that is stored on the hardware wallet.

In this context, is it correct that

1. hardware wallets store *A*?
2. *A* is derivable from *B*, but going the other way is not possible?
3. can *A* be called a private key, or is it just some binary value of appropriate length?

   I guess one could argue that for some asymmetric key algorithms any value with correct length will do as key, but lets add the condition that it would need to be used for signing or decryption: i.e is *A* ever used for signing or decryption?

**Tags:** private-key, mnemonic-seed, hardware-wallet


---

## 1 answers

### Answer by username_1 on 2023-05-31. Score: 2 | Accepted answer

> hardware wallets store A?

Yes. It wouldn't make sense to do the 2048 rounds of hashing (HMAC-SHA512) between the mnemonic (B) and the seed (A) every time you want to derive child keys or create a signature.

> A is derivable from B, but going the other way is not possible?

Indeed, hash functions are one way and this hash function is applied 2048 times.

> can A be called a private key, or is it just some binary value of appropriate length?

A must be kept private as all funds from the HD wallet (from all the various child public keys) can be spent with knowledge of the seed. It is 512 bits and could be represented in any format including binary.

> **Comments:**
> **username_0**: What is a good term to call A (e.g a seed, root, key, or a secret)? What would a cryptographer call it?  
> **username_1**: @username_0: Seed seems most common. Definitely not key or secret given how many keys and secrets are dotted around a HD tree. Sometimes for non-technical audience seed and mnemonic are used interchangeably as from a user perspective they just need to worry about the securing the mnemonic from which the seed can be calculated e.g. the tag here on StackExchange is mnemonic-seed.  
> **username_0**: Thanks, all this makes it a lot clearer!  

---

