Skip to content

v2.3.1 — NIP-44 v2 Spec Compliance

Choose a tag to compare

@TurkeyNostr TurkeyNostr released this 26 Aug 13:03
· 19 commits to main since this release

NIP-44 v2 Spec Compliance + Disclaimers

Crypto Fixes (Nip44.kt)

  • AES-256-GCM to ChaCha20 + HMAC-SHA256 (RFC 8439)
  • Correct 2-phase HKDF: extract salt="nip44-v2", per-message expand info=nonce
  • Chunk-based padding with calcPaddedLen
  • MAC verification on decrypt with constant-time comparison
  • Minimum payload validation (99 bytes / 132 base64 chars)
  • ECDH uses raw x-coordinate via BouncyCastle

Tags/Docs

  • encrypted tag: "nip44" to "nip44v2"
  • README: Medical Disclaimer + Security Notice
  • zapstore.yaml: Medical Disclaimer + Security Notice

Tests

  • Nip44Test.kt: 19 tests including official spec test vector

Breaking Change

Old backups encrypted with AES-GCM (tag "nip44") will not decrypt with the new NIP-44 v2 implementation. Local Room database is unaffected. A fresh backup will be created on the next export.