Files
eranos/src/lib
Alex Gleason 95a1e966bc Use HKDF with "NostrWallet" salt and per-purpose info tags
Replace the previous "agora-hdwallet:bip86:v1" HKDF info string with a
two-step HKDF design suitable for proposal as a NIP:

  PRK          = HKDF-Extract(salt = "NostrWallet", IKM = nsec)
  seed_<purp>  = HKDF-Expand(PRK, info = "NostrWallet/<Purp>", L = 64)

Registered purposes:

  "NostrWallet/Bip32"          — generic BIP-32 master (BIP-44/49/84/86)
  "NostrWallet/SilentPayments" — BIP-352 master

The salt is a protocol-level constant (no app-specific string), so any
"NostrWallet"-compliant client recovers the same wallets from the same
nsec. Per-purpose info tags give the BIP-86 and BIP-352 wallets
cryptographically independent BIP-32 masters — neither's keys reveal
the other's.

This deliberately diverges from NIP-SP §2.2, which specifies the nsec
itself as the BIP-32 seed for silent payments. The HKDF step preserves
domain separation from every other use of nsec (Schnorr, NIP-04,
NIP-44) at the cost of incompatible sp1q… addresses with §2.2-only
clients. NIP-SP is a draft; this is the design we believe should land.
2026-05-21 18:10:58 -05:00
..
2026-05-16 07:58:48 -07:00
2026-05-03 09:00:43 -05:00
2026-05-11 14:49:11 +07:00
2026-04-17 16:22:33 +05:45
2026-05-17 23:12:13 -07:00
2026-05-16 22:37:13 -07:00
2026-04-06 13:41:32 -05:00
2026-04-17 16:22:33 +05:45
2026-04-30 13:19:22 +07:00
2026-04-30 11:22:07 -05:00
2026-04-29 22:04:39 +07:00
2026-04-17 16:22:33 +05:45
2026-04-29 22:04:39 +07:00
2026-05-17 01:00:49 -07:00
2026-04-18 16:28:41 +05:45
2026-03-24 12:20:40 -03:00