diff --git a/nips/06.md b/nips/06.md new file mode 100644 index 0000000..da19d31 --- /dev/null +++ b/nips/06.md @@ -0,0 +1,19 @@ +NIP-06 +====== + +Key derivation from mnemonic +---------------------------- + +`draft` `optional` `author:fiatjaf` + +This combines [BIP39](https://bips.xyz/39) and a modified [BIP32](https://bips.xyz/32) into a scheme that allows the generation of a private key from a list of seed words. + +BIP32 is modified to use the key `Nostr seed` instead of `Bitcoin seed` in the HMAC function. + +This document specifies the creation of a single Nostr private key, but it can be expanded in the future if "HD Wallets" ever become a relevant use case. + +Steps for generating the private key: + +1. Follow the steps on BIP39 for generating the `mnemonic` and then the `seed` (512 bytes); +2. Calculate `result = hmac-sha512(key = 'Nostr seed', data = seed)`; +3. Use the first 32 bytes of `result` as the private key.