Core HD-Wallet Scheme
This standard outlines the HD-wallet derivation scheme for Core Coin.
Abstract
This standard outlines the HD-wallet derivation scheme for Core Coin.
Motivation
Given that the classical BIP32 scheme is incompatible with Ed448, this standard presents an alternative implementation of HD-derivation. This alternative is grounded in the modified Core Coin cryptographic mechanism.
Specification
Definitions
|| : concatenation
+ : regular addition of two numbers
+++ : addition of two points on Ed448
H(x, salt) : 57 bytes of the hash function HMAC-SHA512 with 2048 cycles of pbkdf2: PBKDF2(HMAC-SHA512, x, salt, 57, 2048))
chain, privKey, publicKey : [57]byte
Extended Keys
An extended key is represented by a [114]byte array. It is derived from chaincode || privateKey
or chaincode || publicKey
. As only Scheme1 supports HD-wallet derivation, all private keys must have the most significant bit of the last byte == 1
. More details can be found in the "Core Coin Cryptography Scheme" CIP.
Master Key
The master key forms the root of the HD-derivation tree. It can be derived from mnemonics using a slightly modified version of the BIP39 scheme. You should adhere to this scheme until obtaining the seed (BIP39 Seed). The master key can then be derived as:
chain = H(seed, "mnemonicforthechain")
key = H(seed, "mnemonicforthekey")
masterKey = chain || key