diff --git a/Getting-Started-with-MMGen.md b/Getting-Started-with-MMGen.md index 339dd26..d9146bd 100644 --- a/Getting-Started-with-MMGen.md +++ b/Getting-Started-with-MMGen.md @@ -357,8 +357,9 @@ wallet filename. Now export your new toughened wallet to incognito format: ... Incognito wallet data saved to file '89ABCDEF-87654321-ECA86420[256,5].mmincog' -'ECA86420' is the IV (init vector) ID. This can be used to find your wallet -within random data if you've forgotten where you hid it **(TBD)**. +'ECA86420' is the Incog ID. This can be used by the 'mmgen-tool' utility to +search through a file or partition and locate your wallet if you've forgotten +where you hid it. Repeat the same export operation, but output to hexadecimal: @@ -372,9 +373,10 @@ Repeat the same export operation, but output to hexadecimal: 3706 c5ce 56e0 7590 e677 6c6e 750a d057 b43a 21f9 82c7 6bd1 fe96 bad9 2d54 c4c0 -Note that the IV ID is different here: the IV is generated randomly each time, -leading to the incog data as a whole being different as well. This allows you -to store your incog data in multiple insecure locations without being detected. +Note that the Incog ID is different here: it's generated from the init vector, +which is randomly generated each time, leading to the incog data as a whole +being different as well. This allows you to store your incog data in multiple +insecure locations without being detected. As you can see, this data is ideally suited for a paper wallet. Just print it out on a printer and you're ready to go. This hex dump of apparently random @@ -396,17 +398,21 @@ with 1 GB of random data: $ dd if=/dev/urandom of=random.dat bs=1K count=1M +Or better, yet, use `mmgen-tool rand2file` to do the same job but with +some additional user entropy and a progress meter: + + $ mmgen-tool -r40 rand2file random.dat 1G + Export your wallet to incog format, hiding it in this file at offset 123456789: $ mmgen-walletchk -G random.dat,123456789 89ABCDEF-87654321[256,5].mmdat ... - IV ID: ED1F2ACB + Incog ID: ED1F2ACB Data written to file 'random.dat' at offset 123456789 -The IV ID is useful. If you forget the offset, it can be used to find your -wallet data **(TBD)**. The file 'random.dat' can now be uploaded to your -favorite cloud storage service, for example (in a real-life situation you'd -choose a less obvious offset than '123456789' though). +The file 'random.dat' can now be uploaded to your favorite cloud storage +service, for example (in a real-life situation you'd choose a less obvious +offset than '123456789' though). Generate ten addresses with your hidden incog data: @@ -420,59 +426,3 @@ Sign a transaction with your hidden incog data: Note that the seed length parameter here will always be '256' unless you're using a non-default seed length. - - - -### Test suite (unsupported - much of this functionality is now in 'mmgen-tool'): - -The test suite can be run from within the MMGen source directory. You might -find the following tests to be of interest: - -#### Bitcoin module: - -> Show available tests: - - mmgen/tests/bitcoin.py - -> Compare 10 addresses generated by 'keyconv' with mmgen's internally-generated -> ones: - - mmgen/tests/bitcoin.py keyconv_compare_randloop 10 - -> Convert a string to base 58 and back: - - mmgen/tests/bitcoin.py strtob58 'a string' - -> Convert a hex number to base 58 and back: - - mmgen/tests/bitcoin.py hextob58 deadbeef - -> Perform 1000 hex -> base58 -> hex conversions, comparing results stringwise: - - mmgen/tests/bitcoin.py hextob58_pad_randloop 1000 - -#### Mnemonic module: - -> Show available tests: - - mmgen/tests/mnemonic.py - -> Generate a 12-word mnemonic from a random 128-bit seed: - - mmgen/tests/mnemonic.py random128 - ->> or an 18-word mnemonic from a random 192-bit seed: - - mmgen/tests/mnemonic.py random192 - ->> or a 24-word mnemonic from a random 256-bit seed: - - mmgen/tests/mnemonic.py random256 - -> Show statistics for the Electrum wordlist: - - mmgen/tests/mnemonic.py electrum - -> Print the Electrum wordlist: - - mmgen/tests/mnemonic.py electrum_print