feat: featherChat-compatible identity — seed, mnemonic, fingerprint

New identity module (wzp-crypto/src/identity.rs) mirrors featherChat's
warzone-protocol identity.rs exactly:
- Seed: 32 bytes, from hex or BIP39 mnemonic (24 words)
- HKDF derivation: same salt (None), same info strings
- Fingerprint: SHA-256(Ed25519 pub)[:16], same xxxx:xxxx format
- Cross-verified: test proves identity module matches KeyExchange trait

CLI flags:
- --seed <64 hex chars>: use a specific identity
- --mnemonic <24 words>: use BIP39 mnemonic from featherChat
- Without either: generates ephemeral identity

Also adds featherChat as git submodule at deps/featherchat for reference.

32 crypto tests passing (27 original + 5 identity tests).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Siavash Sameni
2026-03-28 09:09:38 +04:00
parent 97402f6e60
commit 12cdfe6c8a
6 changed files with 308 additions and 0 deletions

View File

@@ -15,5 +15,7 @@ hkdf = { workspace = true }
sha2 = { workspace = true }
rand = { workspace = true }
tracing = { workspace = true }
bip39 = "2"
hex = "0.4"
[dev-dependencies]