Skip to main content

Key derivation

QoreSign offers two ways to get an ML-DSA-87 key from a BIP-39 mnemonic. Full definitions: ML-DSA-87 key derivation.

deriveCanonicalPqKeyderiveHdPqKey (draft)
Inputmnemonic + account addressmnemonic (or seed) + hardened path
Bound to the addressyesno
Same key as QoreChain walletsyesno
Needs registration on chainonly if not registered yetalways
Stabilitystablemay change before it is final

Use the canonical derivation unless you need several post-quantum keys per seed that are independent of addresses (the hierarchical draft).

Mnemonic form​

The mnemonic must be in canonical form (lowercase words, single spaces). QoreSign refuses other spellings instead of normalizing them, because the phrase is part of the derivation input and a different spelling would give a different key.

Wallets without the mnemonic​

Wallets that do not have the mnemonic (for example, keys held in hardware) cannot use the canonical derivation. They can generate a random ML-DSA-87 key with pqKeyFromSeed(randomBytes(32)) or use the HD draft, and register that key.