mcdouglasx, Thank you for the links. I don't know how I missed finding that site. The links were very helpful.
So from what I gather: It is the "mnemonic seed phrase" that is passed into the PBKDF2 function and not the actual binary bits. I assume the function converts the mnemonic words into the entropy (binary bits) that the mnemonic words represent?
In addition to the mnemonic seed phrase. The phrase "mnemonic" is also passed into the PBKDF2 function as salt. If an optional passphrase is used than it is concatenated to the word "mnemonic". i.e. passphrase is "Password" so the string "mnemonicPassword" is passed into the PBKDF2 function as the salt?
The PBKDF2 function using HMAC-SHA512 hashes this 2048 times? And produces a 64 byte digest. Or basically 512 bits. Am I understanding this right? It actually hashes it 2048 times?
This 512 bit seed is then used to produce the Master Private Key by passing it into the HMAC-SHA512 hashing algorithm along with the key "Bitcoin seed". The resulting 64 byte digest (512 bits) is then broken into two halves of 256 bits each. The first 256 bits being the Master Private Key. The last 256 bits being the Master Chain Code.
Have I got that right? In other words the first 512 bit seed that we get from the PBKDF2 function is NOT the Master Private Key? But rather the seed used to create the Master Private Key?
I did find the additional information about how the child keys were generated etc. using the Chain Code with the Master Extended Key interesting. But my main focus was to understand the steps from "Mnemonic Seed Phrase" to actual "Master Private Key".
Thank you again for the links. I would love confirmation that I have the above steps correct? If not please set me on the straight and narrow path and give me an address so I can buy you a coffee or something.
I just noticed that Mia Chloe posted a response and it has left out the 2nd hashing of the 512 bit seed. Her response suggests that the 512 bit digest received from the PBKDF2 function IS the Master Private Key. But from what I read on those links you sent me I believe my understanding as described above is correct. I will let someone confirm this. Thank you so much again for the help! It really is appreciated!
Kresp