|
|
@ -78,7 +78,8 @@ c) sorted wordlists |
|
|
|
(i.e. implementation can use binary search instead of linear search) |
|
|
|
- this also allows trie (prefix tree) to be used, e.g. for better compression |
|
|
|
|
|
|
|
The wordlist can contain native characters, but they have to be encoded using UTF-8. |
|
|
|
The wordlist can contain native characters, but they have to be encoded in UTF-8 |
|
|
|
using Normalization Form Compatibility Decomposition (NFKD). |
|
|
|
|
|
|
|
==From mnemonic to seed== |
|
|
|
|
|
|
@ -86,8 +87,8 @@ A user may decide to protect their mnemonic by passphrase. If a passphrase is no |
|
|
|
present, an empty string "" is used instead. |
|
|
|
|
|
|
|
To create a binary seed from the mnemonic, we use PBKDF2 function with a mnemonic |
|
|
|
sentence (in UTF-8) used as a password and string "mnemonic" + passphrase (again |
|
|
|
in UTF-8) used as a salt. Iteration count is set to 2048 and HMAC-SHA512 is used as |
|
|
|
sentence (in UTF-8 NFKD) used as a password and string "mnemonic" + passphrase (again |
|
|
|
in UTF-8 NFKD) used as a salt. Iteration count is set to 2048 and HMAC-SHA512 is used as |
|
|
|
a pseudo-random function. Desired length of the derived key is 512 bits (= 64 bytes). |
|
|
|
|
|
|
|
This seed can be later used to generate deterministic wallets using BIP-0032 or |
|
|
|