From 1dd18aa5b9f5a3a85caa3543ff0262027dcff02e Mon Sep 17 00:00:00 2001 From: Ferdinando Ametrano Date: Wed, 5 Aug 2026 23:55:29 +0200 Subject: [PATCH] BIP-39: say what separates two words The BIP never says it. The rule is on the wordlist page, which requires the ideographic space for Japanese, and it is not quoted here; the note there also holds a caveat that ASCII and ideographic spaces are the same "as long as your code ... [does not try] to split the phrase input by the user". The reference implementation does split it, on U+0020, and so cannot read back the Japanese sentences it writes. No test vector changes. Co-Authored-By: Claude Opus 5 (1M context) --- bip-0039.mediawiki | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bip-0039.mediawiki b/bip-0039.mediawiki index 2a6118b26a..82f99a4bec 100644 --- a/bip-0039.mediawiki +++ b/bip-0039.mediawiki @@ -96,6 +96,14 @@ sentence (in UTF-8 NFKD) used as the password and the string "mnemonic" + passph 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). +Words in a mnemonic sentence are separated by a single space (U+0020), except in +Japanese, where the ideographic space (U+3000) is used; see +[[bip-0039/bip-0039-wordlists.md|Wordlists]]. NFKD maps U+3000 to U+0020, so the +two forms of a Japanese sentence derive the same seed. Software that splits a +sentence into words, to look them up in the wordlist or to verify the checksum, +must split it after normalization: splitting on U+0020 beforehand reads a +Japanese sentence as a single word. + This seed can be later used to generate deterministic wallets using BIP-0032 or similar methods.