There is a json for unit tests of Japanese characters which I want to validate using Python, specifically with this fork of pybitcointools, which has bip39 functionality.
Unit tests from Trezor's python-mnemonic test vectors work fine (in Python 2.7 IME), however, this is straightforward since there's no normalization of unicode dialectics and such, since all mnemonics are lower case English.
The Japanese fields are:
- Entropy (hex)
- Mnemonic (Japanese)
- Password (Japanese, appears to be the same for all tests)
- Seed (hex, 64 bytes)
xprv
So entropy
seeds mnemonic (bip39?)
, then mnemonic
| password
hashes to Seed
; Seed
then acts as the master key for the bip32 xprv? (correct me if I'm wrong!?)
So, assuming it's that straightforward...
- how is the Japanese unicode text "normalized"? (Is it just NKFD Unicode normalization, which Electrum 2.0 does?)
- what does "normal" mean for Japanese?