kjj,
I don't know the HD Wallet spec. Is it available in a HTML format like bitaddress.org is to generate keys? And does it allow for encrypted private keys?
Regarding the passphrase with high entropy. It is possible to memorize things that large; when I was in highschool I could recite 200+ digits of Pi. But my approach is designed to help me generate the high entropy passphrase reliably without having to memorize things. Ive had some folk ask me specifically what I mean by a MindHash. It is a method of reliably and repeatedly generating the passphrase from a very simple coded seed. I am not going to share the specific variant that I personally use since that would render my private keys (possibly) discoverable, but I will share with you a completely different example that is in the same general spirit of my process.
It starts with something that you are very familiar with that already has a high level of complexity to build from. This something is the underlying structure that has some high degree of complexity, and it is also something you are aware of and know how to easily access. You then do some manipulation of the information you have to create the passphrase. You also encode what you need to know to recreate it. This final encoded clue is what I call the BrainSeed. From the simple BrainSeed, you can recreate the complex passphrase.
For this example, the simple BrainSeed that you have to remember is:
c1-0520
That simple BrainSeed reliably generates this passphrase:
Nf3Be2H30-0Be3cxD4a3Nc3NB5Ne5!QxE2Rac1BG5Bxf6NC4!Nxb6!RFd1Qe3!d5!rxd5
It is a 69-character passphrase with an apparent 452 bits of entropy.
All this from a BrainSeed of c1-0520.
So how does this convoluted MindHash work? Ill tell you. c1 represents my favorite chess match, which happens to be Game 1 of Deep Blue versus Kasparov in 1996. 05 means to start at Move 5 of that game, and 20 means to record the next 20 Moves. I just record the moves in standard chess notation. This example MindHash also only records the White moves. And one further convolution is that the 05 also instructs me to change the case of every 5th alphabetic character. (Every 5th character become upper-case if it is already lower-case, and it becomes lower-case if it is already upper-case.)
So, an another example from the same game, a code of c1-0710 would generate this passphrase:
h30-0Be3cxd4A3Nc3Nb5Ne5!qxe2Rac1
It is a 32-character passphrase with an apparent 209 bits of entropy.
In the example, the only reason for c1 is in case you may want to generate other passphrases from other favorite chess games, such as c2 or c3, etc. However, if you only want to use one game and will always remember that your MindHash is always using c1, you can just use a 4-digit PIN to create a repeatable high entropy passphrase. So, 1209 becomes: Nc3Nb5Ne5!Qxe2RaC1Bg5Bxf6Nc4!Nxb6!
There you have it. Sorry if I have messed up the chess usage for the underlying structure. However, if you still like the chess staring point, you can convolute the MindHash however you want, as long as you can remember it.
I still am interest in hearing feedback on the overall process of generating encrypted deterministic brainwallets.
Edit: Spelling error