I have recently been going through the python source code for electrum and encountered the following lines of code at the mneumonic.py file starting from line 130:
def mnemonic_to_seed(self, mnemonic, passphrase):
PBKDF2_ROUNDS = 2048
mnemonic = normalize_text(mnemonic)
passphrase = normalize_text(passphrase)
return pbkdf2.PBKDF2(mnemonic, 'electrum' + passphrase, iterations =
PBKDF2_ROUNDS, macmodule = hmac, digestmodule =
hashlib.sha512).read(64)
We see clearly that it returns a 64 bytes or 512 bit seed instead of what we all know a bitcoin priv key should be - 256 bits. Is this the final function to be called for priv key generation or are there steps or functions that I missed?