<p>From <a href="https://bitcoinbips.org/bip/bip-0039" rel="nofollow noreferrer">bip39</a>:</p>

<blockquote>
  <p>To create a binary seed from the mnemonic, we use the PBKDF2 function
  with a mnemonic sentence (in UTF-8 NFKD) used as the password and the
  string "mnemonic" + passphrase (again in UTF-8 NFKD) used as the salt.
  The iteration count is set to 2048 and HMAC-SHA512 is used as the
  pseudo-random function. The length of the derived key is 512 bits (=
  64 bytes).</p>
</blockquote>

<p>When <a href="http://www.unicode.org/reports/tr15/" rel="nofollow noreferrer">normalizing unicode in NFKD</a> form, characters that look the same become the same, so <code>U+3000</code> becomes <code>U+20</code>. This may also cause length to change as composite characters are broken down into their constituent parts.</p>

CC BY-SA 3.0
2017-11-22T10:42:01.017Z
2017-11-22T14:18:36.977Z
2017-11-22T14:18:36.977Z
Owen Delahoy
<p>I was reading the BIP 39, and noticed that it does not refer to how the mnemonic sentence, used for seed calculation, is composed from mnemonic words.  This is actually troublesome because in case of Japanese, the bip39 npm package joins the mnemonics with <a href="http://www.fileformat.info/info/unicode/char/3000/index.htm" rel="nofollow noreferrer">IDEOGRAPHIC SPACE(U+3000)</a>, the space character typically used as space for Japanese.  It seems that copay is using this library and thus follow this rule.  Some other implementation may decide to use (more machine-friendly) space(U+20), or something else, which makes remembering just the mnemonic words in sufficient for wallet recovery (in other wallet).</p>

<p>Question:</p>

<ul>
<li>Is there any standard of how mnemonic sentence is composed from mnemonic words?</li>
</ul>

<mnemonic-seed>
Is mnemonic words -> mnemonic sentence standardized?
Yuki Inoue
# Is mnemonic words -> mnemonic sentence standardized?

(Asked by: username_0 on 2017-07-28)

I was reading the BIP 39, and noticed that it does not refer to how the mnemonic sentence, used for seed calculation, is composed from mnemonic words. This is actually troublesome because in case of Japanese, the bip39 npm package joins the mnemonics with [IDEOGRAPHIC SPACE(U+3000)](http://www.fileformat.info/info/unicode/char/3000/index.htm), the space character typically used as space for Japanese. It seems that copay is using this library and thus follow this rule. Some other implementation may decide to use (more machine-friendly) space(U+20), or something else, which makes remembering just the mnemonic words in sufficient for wallet recovery (in other wallet).

Question:

* Is there any standard of how mnemonic sentence is composed from mnemonic words?

**Tags:** mnemonic-seed


---

## 1 answers

### Answer by username_1 on 2017-11-22. Score: 3 | Accepted answer

From [bip39](https://bitcoinbips.org/bip/bip-0039):

> To create a binary seed from the mnemonic, we use the PBKDF2 function
> with a mnemonic sentence (in UTF-8 NFKD) used as the password and the
> string "mnemonic" + passphrase (again in UTF-8 NFKD) used as the salt.
> The iteration count is set to 2048 and HMAC-SHA512 is used as the
> pseudo-random function. The length of the derived key is 512 bits (=
> 64 bytes).

When [normalizing unicode in NFKD](http://www.unicode.org/reports/tr15/) form, characters that look the same become the same, so `U+3000` becomes `U+20`. This may also cause length to change as composite characters are broken down into their constituent parts.


---

