<p>Here is an easy working example that will augment <a href="https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch05.asciidoc#using-a-bitcoin-wallet" rel="nofollow noreferrer">https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch05.asciidoc#using-a-bitcoin-wallet</a>.</p>

<p>% bx <a href="https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-mnemonic-new" rel="nofollow noreferrer"><strong>mnemonic-new</strong></a> 0C1E24E5917779D297E14D45F14E1A1A</p>

<p><strong><code>army van defense carry jealous true garbage claim echo media make crunch</code></strong></p>

<p>The following will provide even greater insights what is going on under the hood.</p>

<p>% echo 0C1E24E5917779D297E14D45F14E1A1A | bx sha256 | cut -c 1-1</p>

<p><strong><code>7 </code></strong></p>

<pre><code> 0   C   1     E   2   4     E   5   9     1   7     7   7   9     D   2   9 
 00001100000  11110001001  00111001011  00100010111  01110111100  11101001010
000001100000 011110001001 000111001011 000100010111 001110111100 011101001010
0x060        0x789        0x1CB        0x117        0x3BC        0x74A
96           1929         459          279          956          1866
97           1930         460          280          957          1867
army         van          defense      carry        jealous      true
</code></pre>

<pre><code>   7   E   1     4   D     4   5   F     1   4   E     1   A   1     A   7
 01011111100  00101001101  01000101111  10001010011  10000110100  00110100111
001011111100 000101001101 001000101111 010001010011 010000110100 000110100111
0x2FC        0x14D        0x22F        0x453        0x434        0x1A7
764          333          559          1107         1076         423
765          334          560          1108         1077         424
gap          claim        echo         media        make         crunch
</code></pre>

CC BY-SA 4.0
2019-01-22T23:08:31.790Z
2019-01-22T23:08:31.790Z
skaht
<p>The possible secret + checksum bit lengths from BIP39 are:</p>

<ul>
<li>Entropy Lengths: 128, 160, 192, 224, 256 bits</li>
<li>Corresponding checksum Lengths: 4, 5, 6, 7, 8 bits</li>
</ul>

<p>Each word represents 11 Bits. Therefore, for a 12 word phrase represents a total of 132 bits, of which 128 are entropy and 4 checksum. So note that the 12th word "includes" the 4-Bit checksum but not exclusively.</p>

<p>To generate your 12-word passphrase, simply determine:</p>

<ul>
<li>128 bit secret</li>
<li>4 bit checksum (first four bytes of sha256(secret))</li>
<li>Concatenate above, split into 11 bits and determine word conversion via wordlists.</li>
</ul>

<p><strong>Wordlist documentation:</strong>
<a href="https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md" rel="nofollow noreferrer">https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md</a> </p>

CC BY-SA 4.0
2019-01-22T08:21:39.407Z
2019-01-22T08:21:39.407Z
James C.
<p>Is it possible to manually create a seed from the <a href="https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt" rel="nofollow noreferrer">BIP 39 English word list</a>, and enter them in the Trezor Model T recovery to create a wallet from those words. I know that choosing the 12 words doesn't work, because the last word is a checksum of the previous 11. Is there a way to determine the 12th word from the first 11?</p>

CC BY-SA 4.0
2019-01-21T20:59:27.290Z
Warning: DO NOT use a human to choose the seed words, use a proper cryptographic library. Humans are a *very* bad source of entropy, there is a very real chance your funds will be stolen if you ignore this.
chytrik
CC BY-SA 4.0
2019-01-22T23:36:38.627Z
Remember that even if you properly generate the seed on a computer, you have lost a part of the security already if your computer isn't airgapped (which it probably isn't). The purpose of a hardware wallet is to be a lightweight airgapped computer with specifically this as its job.
Gendarme
<mnemonic-seed>
Manually generating seed for Trezor T
Ariel
# Manually generating seed for Trezor T

(Asked by: username_0 on 2019-01-21)

Is it possible to manually create a seed from the [BIP 39 English word list](https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt), and enter them in the Trezor Model T recovery to create a wallet from those words. I know that choosing the 12 words doesn't work, because the last word is a checksum of the previous 11. Is there a way to determine the 12th word from the first 11?

**Tags:** mnemonic-seed

> **Comments:**
> **username_1**: Warning: DO NOT use a human to choose the seed words, use a proper cryptographic library. Humans are a *very* bad source of entropy, there is a very real chance your funds will be stolen if you ignore this.  
> **username_2**: Remember that even if you properly generate the seed on a computer, you have lost a part of the security already if your computer isn't airgapped (which it probably isn't). The purpose of a hardware wallet is to be a lightweight airgapped computer with specifically this as its job.  

---

## 2 answers

### Answer by username_3 on 2019-01-22. Score: 1

Here is an easy working example that will augment https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch05.asciidoc#using-a-bitcoin-wallet.
% bx mnemonic-new 0C1E24E5917779D297E14D45F14E1A1A
army van defense carry jealous true garbage claim echo media make crunch
The following will provide even greater insights what is going on under the hood.
% echo 0C1E24E5917779D297E14D45F14E1A1A | bx sha256 | cut -c 1-1
7 
 0   C   1     E   2   4     E   5   9     1   7     7   7   9     D   2   9 
 00001100000  11110001001  00111001011  00100010111  01110111100  11101001010
000001100000 011110001001 000111001011 000100010111 001110111100 011101001010
0x060        0x789        0x1CB        0x117        0x3BC        0x74A
96           1929         459          279          956          1866
97           1930         460          280          957          1867
army         van          defense      carry        jealous      true

   7   E   1     4   D     4   5   F     1   4   E     1   A   1     A   7
 01011111100  00101001101  01000101111  10001010011  10000110100  00110100111
001011111100 000101001101 001000101111 010001010011 010000110100 000110100111
0x2FC        0x14D        0x22F        0x453        0x434        0x1A7
764          333          559          1107         1076         423
765          334          560          1108         1077         424
gap          claim        echo         media        make         crunch


---

### Answer by username_4 on 2019-01-22. Score: 1

The possible secret + checksum bit lengths from BIP39 are:

* Entropy Lengths: 128, 160, 192, 224, 256 bits
* Corresponding checksum Lengths: 4, 5, 6, 7, 8 bits

Each word represents 11 Bits. Therefore, for a 12 word phrase represents a total of 132 bits, of which 128 are entropy and 4 checksum. So note that the 12th word "includes" the 4-Bit checksum but not exclusively.

To generate your 12-word passphrase, simply determine:

* 128 bit secret
* 4 bit checksum (first four bytes of sha256(secret))
* Concatenate above, split into 11 bits and determine word conversion via wordlists.

**Wordlist documentation:**
<https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md>


---

