7 Commits
Author SHA1 Message Date
sneak e1b385f847 Satisfy the now-effective lll limit and the modernize linter 2026-10-31 13:22:44 -07:00
sneak ad1d51a9f9 Drop the BIP39 passphrase from cbk
The seed is always computed with an empty passphrase; Params is just
the mnemonic and the BIP85 index.
2026-10-31 11:41:11 -07:00
sneak fe6dbba428 Derive cbk keys with BIP85 instead of an ad hoc HKDF label
The private key is now the BIP85 HEX application output for 32 bytes at
m/83696968'/128169'/32'/{index}' from the BIP32 master key of the BIP39
seed, via sneak.berlin/go/secret/pkg/bip85, so any BIP85 tool reproduces
it and one mnemonic backs many keypairs through Params.Index. Tests
check the mnemonic-to-master step and the HEX application against the
BIP85 specification vectors and pin the resulting keypair.
2026-10-31 11:38:02 -07:00
sneak ea6faaecff Narrow pkg/cbk to keypair derivation
Remove KeyFromHex, Seal, and Open with their errors and constants. The
library only derives crypto_box keypairs from BIP39 mnemonics; callers
use golang.org/x/crypto/nacl/box directly for everything else.
2026-10-31 11:27:09 -07:00
sneak b7028fd7e3 Implement pkg/cbk: crypto_box keypairs from BIP39 mnemonics 2026-10-31 10:03:06 -07:00
sneak 02386a6ff1 Rename module to sneak.berlin/go/x and rework bip39wordlist
Move to Go 1.26, embed the wordlist from english.txt, add
ValidateWordlist, NormalizeWordlist, and GenerateMnemonic with tests,
and remove the old root-level CLI that used the previous module path.
2026-10-31 10:03:06 -07:00
sneak 841b488d7c reorganizing 2020-10-12 14:23:54 -07:00